[ZODB-Dev] ZODB queries (was ZODB and ORBit-Python problems)

Christian Robottom Reis kiko@async.com.br
Tue, 22 May 2001 15:54:58 -0300 (BRT)


On Tue, 22 May 2001, Jim Fulton wrote:

> I think that documentation is only part of the problem. I don't think
> that Catalog/SearchIndex have been maintained in a way that
> facilitates reuse outside of Zope. This is not intentional. In fact,
> Michel Pelletier tried hard to make Catalog usable without ZCatalog.
> I'd be happy to see these usable outside of Zope, but that takes time,
> and time is short. I'd be willing to work with someone on this.

Okay, volunteer found. I've decided to place the bet on ZODB, and without
a Catalog to maintain the indexes I'm dead, so I'd better start working on
this. Should a fishbowl proposal be opened for this, or is this task more
or less discussed and acknowledged?

Let me know what the steps are, ok?

> I'm not sure what you mean by a "structured storage". Are you thinking of a
> storage that includes notions like "tables" and "indexes"?

Well, AFAICS a pickle is quite opaque - you have to read it all before you
figure out what it contains. Structured storage would means saving things
organized so you could look into the object and read it's data without
reading it all. I think pickling doesn't let us do this, but I don't
know if this matters _too much_ performance-wise.

> Indexing "can" be orthogonal to pickling. I chose to use a "micro kernel"
> approach for ZODB, keeping as little as possible in the database layer
> as possible.. I think that this approach has been pretty successful.
> It provides a lot of flexibility. I certainly think it's a valid approach.

I'm not even thinking about discussing _that point_!

> I wouldn't worry about duplicating attribute values in indexes. This
> is really just the price of admission for indexing. "Structured"
> storages pay this price too.

Yes, but in the specific case of an RDBMS (and, well, other OODBMS)_they
offer a mechanism to keep this complexity hidden_. And that's the point of
the thread.

> A number of people have argued for providing indexes at the database
> level.  I'm open to this, but every time I think hard about it, I find
> some aspect of it that makes it unattractive to me.

The advantages being performance, only? I think a StandaloneCatalog (or
whatever) would serve us well enough.

Take care,
--
/\/\ Christian Reis, Senior Engineer, Async Open Source, Brazil
~\/~ http://async.com.br/~kiko/ | [+55 16] 274 4311