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

Jim Fulton jim@zope.com
Tue, 26 Feb 2002 18:06:50 -0500


"Patrick K. O'Brien" wrote:
> 
...
> > Because nobody actually wants it bad enough to to the work to
> > make it happen.
> >
> > ;)
> >
> 
> I do. And I was planning to do so, since I couldn't find where anyone had
> already done so. I'll be starting this in the next day or two, then. Wish me
> luck.

Great. Good luck. I recommend thinking about this as a Python query tool, 
not a ZODB query tool.

....

> > 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. ;)
> 
> I'm less concerned about the query language than I am about automatically
> maintaining useful indexes.

Hm. Dang. I thought you were talking about the query language.

> But that may just be a matter of priorities.
> Once I solve the indexing problem I'm sure my priorities will shift. ;-)
> 
> > > 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.
> 
> Hmm. I've been following the discussion and looking at the souce code as you
> guys have been checking it in, and it sure looks ... Zopeful ... to me.

How so?


> Maybe I just don't get it. But then again, shouldn't I be able to understand
> it if it to be useful outside of Zope?

Yes.

> It sure feels like I have to squint
> at the code to be able to see things I could use. They don't exactly jump
> out at me the way code in regular python modules do. Object-Hub and the like
> seem like they are solving Zope problems, which are not my problems.

Think about it this way. Object Hub assigns primary keys to objects and
then uses the primary keys in the indexes. Together with an event system, it
provides a basis for keeping the indexes in sync with the objects.

It might be confusing now because:

- We're still figuring this out,

- We are trying to solve some Zope problems with it.
 
> My problems are with using StandaloneZODB instead of relational databases.
> (And please don't tell me to just use a relational database instead.) I
> think StandaloneZODB has tremendous potential and is a heck of a lot more
> enjoyable to use than mapping objects to some other storage. I'm having a
> blast. I just want more, that's all. But I don't want to have to order Zope
> off the menu when all I want is a side of fries, if you know what I mean.

Of course. The Zope 3 work is very much geared with letting you reuse small
bits of Zope-related technology without having to use everything.
 
...
> > Building a query language is a lot of work.
> 
> I'm sure it is. I've done my share of SQL. I don't really want to try to
> invent anything like it at all. I want something much more like regular
> Python. Your BTrees already give me a lot of what I need. And Catalog looks
> like it has lots of nice stuff as well. For now I'm just going to focus on
> removing the Zope overhead. The result might be enough for most cases.

Waaaa. You got my hopes up. ;]

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