[ZODB-Dev] I want Object Gadfly

Jim Fulton jim at zope.com
Fri Jul 18 15:48:19 EDT 2003


Roché Compaan wrote:
> * 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

I think you do binary relations. That is, you store collections of relationships.
Right?

>     - do joins

Do these take advantage of indexes?

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

When I say *not in*, I mean that this should be an application of
ZODB, not something built into the persistence mechanism itself.

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

Cool. Note that, unfortunately, I don't have time to work on Object Gadfly
myself. I'm looking for volunteers. :)

Jim


-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (703) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org




More information about the ZODB-Dev mailing list