[ZODB-Dev] I want Object Gadfly

Roché Compaan roche at upfrontsystems.co.za
Fri Jul 18 21:19:35 EDT 2003


* Jim Fulton <jim at zope.com> [2003-07-18 19:04]:
> I want tables/relations and SQL.
> 
> >If I had a better idea of what relations are [useful for], I could
> >suggest how suited it would be to your intended purpose.
> 
> Relations have a place. They are nice and ad hoc.  You can just whip
> up some tables that model relationships between things and do various
> analyses with them.  This is something people want to do a lot. Catalogs,
> and their like don't satisfy this, as they are too low level.
> 
> Also, unlike out current catalog, relations associate multiple objects.
> They also support things like joins, which simple indexes don't.
> 
> Best of all, there's a relational database system already written
> for Python. I want to use it with ZODB.  (I also don't want it *in*
> ZODB.)

We have the same itch and it was the extremely limited amount of
analyses possible with the current catalog that steered me towards SQL
backends in past projects.

In the past couple of months I explored various implementations of
associations inspired by the lengthy conversations we had on zodb-dev.
I don't know if what we developed is pure associations any more because
it includes table-like behaviour. The difference between associations
and relations keep eluding me and I'll need another lesson but I don't
know if it will help ;-)

You might be interested to know that we can already:

    - store associations between objects, not requiring any work on the
      object's part.

    - do queries on associations

    - do joins

What is missing is a language like SQL, but I think there is enough of a
foundation to put that on top. At the moment we do joins with sequences
of tuples. We can even discover indirect joins based on existing
associations.

The part you probably won't like is that we do want it *in* the ZODB
because this is where you currently can't do powerful queries -
otherwise we would just use an SQL backend with an OR mapping.

So, this might not be what you want either but I'd be very interested to
explore if there would be any overlap in what we've developed and Object
Gadfly, or just share experience of the tricky parts we ran into.

PS. We haven't released this yet because the API have only settled very
recently and we are still working out some details of the query service.
Some parts of it are already very stable and almost ready for production
use.

-- 
Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za



More information about the ZODB-Dev mailing list