From: Wolfgang M. <me...@if...> - 2002-11-05 15:10:18
|
Hi, I have just commited my latest additions to the CVS version of eXist. I t= ried=20 to post another message about my changes several days ago, but somehow it= =20 didn't get through. So here's the good news: Using the native storage backend, I have finally managed to index all my = test=20 data (about 100MB, 5500 files) into one (!) single collection without see= ing=20 a significant decrease in performance. Indexing speed is about 120KB/seco= nd=20 on my machine (1600MHZ P4, JDK1.4.0). Changes related to the native storage backend: * Replaced simple LRU page buffers by a clock buffer implementation. Besi= des=20 the better page prediction rate, you can now directly determine the amoun= t of=20 memory required for each buffer from the settings in conf.xml: buffer-siz= e *=20 page-size * 1.5 for each buffer. * Adding a document no longer requires saving the entire collection metad= ata.=20 Instead the new document is appended to the end of the collection, so jus= t=20 the last page has to be in memory. Also document metadata is much smaller= =20 now. * Index data for the elements found in a collection is now split if it gr= ows=20 too large (>1MB). This is a compromise between the two alternatives: addi= ng a=20 key for each document or adding only one key for the whole collection.The= =20 first alternative results in bad query performance for thousands of small= =20 documents. The second results in very large index values, which are hard = to=20 maintain. Other changes: * I tried to get the relational backend up and working again. Storing and= =20 querying files should work correctly now - at least with MySQL (I still h= ave=20 to test Postgres). * The XPathQueryService has been extended to support nested queries, i.e.= the=20 query results of one XPath expression may be further processed in a secon= d=20 query. Thus a new method XPathQueryServiceImp.query(XMLResource resource,= =20 String xpath) has been added. Since this is an extension to the XML:DB AP= I,=20 you have to cast XPathQueryService to XPathQueryServiceImpl. * Updated UserManagementService: added methods listResourcePermissions() = and=20 listCollectionPermissions(). I also tried to fix the "cannot compare null values" exception reported t= o=20 this list. Additionally, several bug-fixes have been contributed by other= s. I think the changes are really worth to have a look at. It seems that the= next=20 release will be a good step forward. I'm currently updating the documenta= tion=20 and I would like to release a new version of eXist during the next two we= eks.=20 So please test the new code and send me your bug reports (and fixes ;-). Best regards, Wolfgang |