[ZODB-Dev] Excellent overview of ODBMS and my take on ZODB
Casey Duncan
c.duncan@nlada.org
Tue, 26 Feb 2002 09:49:50 -0500
On Tuesday 26 February 2002 08:05 am, Patrick K. O'Brien allegedly wrote:
> Hmmm. Why is that? I've looked at the source code and it looked like it
> would be quite possible to strip out all of the Zope stuff. Or do you mean
> that the Zope folks have no interest in doing so? No offense to Zope, but
> if StandaloneZODB is going to make any headway as an ODB for non-Zope
> applications it would help to have features like cataloging that didn't
> have a bunch of Zope overhead. At least that's how I feel about it.
>
> I'll also not that the ZODB Roadmap
> (http://www.zope.org//Wikis/ZODB/ZODBRoadmap) has this to say:
>
> "Query and index support
> Allow automatic indexing of objects, a feature frequently requested by ZODB
> users. Perhaps the concrete form of the project would be to integrate the
> catalog more closely with the transaction mechanism.
>
> There is a fair amount of research needed to figure out how to attack this
> problem and to see what previous work we can build on. It might be good,
> e.g., to build on OQL, which is part of the object data standard, but I
> don't know enough about it to make an informed decision."
>
>
> I look forward to hearing more about this. Thanks for the feedback so far.
>
> ---
> Patrick K. O'Brien
> Orbtech
There are several indexing options for standalone ZODB. The most basic one,
that comes with the standalone package is BTrees. They are pretty low-level,
but can be used to create indexes of objects.
PluginIndexes and Catalog (not ZCatalog), can also, in theory, be used
outside of Zope, but you would need to pry them loose from their Zope
moorings. IOW they will probably not work by just pulling the packages out of
Zope right away. I imagine TextIndexes would be quite useful outside of Zope
tho.
On the bright side, Zope 3 should go a long way toward solving this problem,
since it not only makes it easier to use non-Zope Python packages in Zope,
but should also make it much easier to pluck specific fruit out of Zope (like
ObjectHub) and use it standalone.
As for a query language, I hope to have a hand in creating a Pythonic query
language that can encapsulate queries as Python objects. These query objects
could then be applied to any collection of Python objects that has an adapter
implemented to run queries. Things like ObjectHub and Folder could have
adapters for this. That could be used as a basis for other minilanguages like
OQL or XPath if somebody else wanted them (I don't 8^)
/---------------------------------------------------\
Casey Duncan, Sr. Web Developer
National Legal Aid and Defender Association
c.duncan@nlada.org
\---------------------------------------------------/