Suppose you want to create a web page with some search capabilities over a database. Search has to be restricted both on some categorization of data and open text given by the users. Functional and non-functional requirements pose this constraints:
- Search has to be fast
- Data representation paradigm (i.e. Relational, Object-Relational, Semistructured...) should support big modifications on every stage of software lifetime.
- Database's paradigm should permit easy refactoring for existing client code
Having this into account
- Would you recommend a relational database? How would you tackle the constraints in this scenario?
- Would you recommend a XML database? How would you tackle the constraints in this scenario?
- If you think above solutions to be not useful in the light of this problem... what could be a useful approach?
Please give some bibliography (or some websites) supporting your answers.