[Zope3-dev] Re: [ZODB-Dev] I want Object Gadfly

Garrett Smith garrett at mojave-corp.com
Fri Jul 18 13:22:58 EDT 2003


Jim Fulton wrote:
> Christian Reis wrote:
>> 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.)

It's funny, I spent several weeks researching the best data storage
architecture for out application and arrived at the same conclusion: an
object database plus a relational database.

Relational databases are terrible at flexibility and data evolution --
unless you happen to have years of exerience dealing with these
monsters. But RDBs are *amazingly* good at defining relationships and
performing ad hoc queries. SQL is the undisputed champion here.

Object databases are terrific at storing all sorts of things without
worrying about schemas, rows, columns, rules, etc. But their support for
relationships and queries is lousy, at best...unless you happen to be an
expert at writing Python-based indexing schemes ;-)

So, we're planning to run an RDB along side the ZODB to maintain the
relationships and metadata. Haven't worked out the detailed, but this
architecture is, IMO, the way to go.

So, where do I sign up?? :-)

 -- Garrett



More information about the ZODB-Dev mailing list