[ZODB-Dev] Excellent overview of ODBMS and my take on ZODB

Jim Fulton jim@zope.com
Tue, 26 Feb 2002 09:44:21 -0500


"Patrick K. O'Brien" wrote:
> 
> Hmmm. Why is that?

Because nobody actually wants it bad enough to to the work to make it happen.

;)

Actually, that's not quite true. Stephan Richter and others are
working on something called ZOQL:

http://demo.iuveno-net.de/iuveno/Products/ZOQLMethod

I'm not sure how Zope specific it is.

> I've looked at the source code and it looked like it
> would be quite possible to strip out all of the Zope stuff.

Yup.

> Or do you mean
> that the Zope folks have no interest in doing so?

There's plenty of interest, but not enough to make it happen.
Wriring a query language is no small task. It doesn't help
that most people's needs are met by either Python or the Catalog. ;)

> 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.

I think that the Zope3 cataloging/object-hub effort will produce components that
will be much more useful outside of Zope than the current catalog.

...

> 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.

Me too. :)

Building a query language is a lot of work.

At IPC8, Aaron Waters presented some work he was doing on Gadfly 2.
Gadly is a relational database written in Python. It includes
and SQL intepreter.

Gadfly 2 was going to have some sort of open back end to allow 
alternate storage and indexing systems. This sounded extremely
interesting to me, but nothing seems to have come of it. I think
Aaron got busy with other work. It would be great if someone could
pick this work up.

Another query option is XPath/XQL. These have an edge over SQL/OQL
because they are good at digging stuff out of arbitrarily deep 
hierarchies.  I don't know if there are well-known indexing strategies to
support these.

Jim

--
Jim Fulton           mailto:jim@zope.com       Python Powered!        
CTO                  (888) 344-4332            http://www.python.org  
Zope Corporation     http://www.zope.com       http://www.zope.org