On Fri, Jul 23, 2010 at 10:03 PM, NewIntellectual newintellectual@gmail.com wrote:
I want to emphasize that I am in no way speaking for the BaseX development team - I'm simply making remarks as a satisfied BaseX user. I would certainly like to see a potentially more efficient interface working, but I think merely assuming that the text-in/text-out approach is slow, is unwarranted - I suggest doing actual experimentation with your use cases and judging based on the results.
Sure, intuition can be misleading. If the database is large, queries and results small, the time probably won't matter since it's dominated by the operations on the database itself. My objection is only partly based on expected performance, I'm also concerned about the awkwardness and (relatively) large potential for errors when cobbling together textual XML (which we'll at least partly have to do if we won't be able to use XQJ's bindNode facility.)
I do think it's throwing out the baby with the bathwater to want to "go with your own filesystem perhaps with an external text indexer." BaseX shines at optimizing queries using attribute and standards-defined XQuery Fulltext operators. You need only look at the nightmare of configuring and using eXist, which uses Lucene as an external text indexer, to compare how good BaseX is in that regard. Also, I have used the XQuery Update facility - also standards-defined - in BaseX to good effect on some serious projects that would have taken much longer to do with conventional Java programming. Note that XQJ (JSR 225) itself is constantly spoken of as "currently under development." That said, clearly Dr. Grun and others of his development team are clearly interested in fixing problems - much more quickly than most open source projects, in my observation. But, if one wanted to assist in the development of a part of the system that one personally needs, I suggest that helping them shore up the XQJ interface would yield far larger gains than trying to hack up your own XML database system. It is, afterall, an open source project.
I'm still trying to find out where the mature and where the "under development" parts are.
Is it correct to assume that the XQuery and XQuery Update facility (both?) are mature, but the XQJ binding is not; and that moreover, there is doubt in the community that XQJ will ever have wide adoption and stable implementations (if I interpret Christian's earlier pointers, including at an email by Per Bothner, correctly?)
- Godmar