XQuery Performance
Hi,
I have a question about XQuery 's performance and its java applications.
I have a bulky flat file, about 500 MB that I have to parse/use. I already made an XML representation for its entries. The problem is that the project is still new, and it would be easier for me to manipulate a 'data definition' in XML rather than in a DBMS. I have to admit that the tree structure of a 'node' from this file is not really very deep.
- Is it faster to search an XML file using XQuery than to search a flat file using techniques like regular expressions, String class methods, ...etc?
- Would a DBMS be faster than both?
- Any free and reliable java APIs for XQuery (feedback from someone who has actually used it)?
Thanks.
Your questions about performance can't be answered because they are highly dependent on your data and the code you write.
As for the DBMS versus XML question, I would prefer a DBMS if my data fit nicely into tables, but if it were tree-structured I would consider XML. But most XML search software likes to load the entire tree into memory, so 500 MB is going to be hard to deal with. In this case I would seriously consider a database.
As for implementations of XQuery, if I wanted one I would use Michael Kay's SAXON product which implements XQuery and XSLT 2. I haven't used it myself but I have used its earlier incarnation which was XSLT only, and following its mailing list leads me to believe it is reliable. The schema-aware version costs money but there's a free version that doesn't do schemas.