Re: [bdbxml] xmldb like collections?

"Mark R. Diggory" <mdiggory-Mahy8Y1M33PaZwrp7/[email protected]>
Newsgroups gmane.comp.db.dbxml.general
Message-ID <[email protected]>
George Feinberg wrote:
> 
> It'd be N index lookups vs 1, where N is the number of containers.
> However, index lookups are quite fast.
> The trickier part is rewriting a query to reference the containers  
> themselves.

Understandable.

> There is no "query all known/open containers" concept.  That would have
> to be built into the implementation of the XML:DB API.
> You could either rewrite the query to include hard-coded paths, or
> write it to use a variable for the collection/container name, and
> put a loop into the query.

Either way it sounds like a fairly complex customization. Currently we 
are evaluating xmldb's for their capability before selecting one, this 
is something I would add to my list of trade offs from the other xmldb's 
we've been looking at.

Currently, express this trade off list as

1.) useful standard API's.

eXist and Xindice:
xmldb, webdav, xml-rpc, REST

bdbxml:
xml-rpc, bdbxml api

2.) database performance:

eXist and Xindice:
poor scalability in terms of document size.

bdbxml:
better scalability in terms of document size.

3.) Contextual XQuerying and Collection Hierarchy.

eXist:
good capability within db for collection context based XQuerying.

Xindice:
good capability in contextual querying across collections and multiple 
databases.

bdbxml:
no concept of Collection Hierarchy

> 
> You mentioned in an earlier message this:
> 
>> This is much different than in xmldb, the concept of collection is  
>> within the database instance itself, there is 1 to many  relationship 
>> between the db instance and its collections in xmldb.
>>
>> The challenge I see in equating containers to collections is that  in 
>> xmldb an index spans all collections in a db. In bdbxml, it  doesn't 
>> seem you could have an index that spans containers.
> 

I would add to this that Xindice and eXist handle the implementation of 
xmldb slightly differently. Currently eXist works solely on "1 - many" 
relationship between a Database and its Collections, while Xindice 
actually supports a "Many - Many" relationship where the API can access 
multiple db instances on different url paths while working with many 
collections in each db.

> 
> Can you please provide an API reference for Indexes and their scope,  as 
> well as query scope in the
> XML:DB interface?
> 

In eXist here is a javadoc reference to the xmldb API Database and 
Collections API.

http://exist.sourceforge.net/api/org/xmldb/api/base/Database.html
http://exist.sourceforge.net/api/org/xmldb/api/base/Collection.html

Note: eXist is currently considering working on an new version of the 
xmldb API to accomplish some improvements. Now appears to be the time to 
coordinate with other groups/companies to adapt this API to Real World 
cases.

-Mark


------------------------------------------
To remove yourself from this list, send an
email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.