[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