Andreas Jung wrote at 2006-6-24 09:24 +0200:
> ...
>One particular app that I have been working on uses very complex queries 
>with lots of join would be hard model to implement such queries 
>on top of the ZODB/ZCatalog.

I disagree with you (partially).

   The ZODB model (object data stored in a storage with behaviour
   coded in the clients) is powerful enough to simply
   implement the relational database data structures: tables
   and indexes and their corresponding operations.

   After this implementation, you could perform the same
   complex queries against the records maintained in
   these data structures.

Of course, this is not the ZCatalog (but a specialized SQL engine)
(here I agree with you). The ZCatalog is a search engine targeted
at arbitrary unstructured (heterogenous) content but not capable
of joins. An SQL engine on the other hand it targeted at highly
structured data and forced to use joins (as the relational model
even for simple cases force data that belongs together out into
different tables).

>Another point is performance: this app often 
>has to perform a lot of insert/update/delete operations within one 
>transaction (up to 1000 modifications).

You would not believe how many objects your "TextIndexNG" modifies
when it indexes a single document. Thousands is not very much ;-)

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -

Reply via email to