durusmail: quixote-users: OT - zodb best practices with quixote
OT - zodb best practices with quixote
2003-01-06
2003-01-07
OT - zodb best practices with quixote
Greg Ward
2003-01-07
On 06 January 2003, Michael Watkins said:
> I'm in the middle of trying to transition my mindset away from relational
> database-think into ZODB-think. Its tough for me, I've found.

Funny -- I found it incredibly awkward trying to shoehorn stuff into a
relational DB; I was itching to jump to an OODB, and when we started
using ZODB, everything just felt right and natural.

> Initially I spent a bunch of time trying to come to grips with losing SQL
> (specifically the query-language). I looked at IndexedCatalog and while its
> interesting I'm trying to avoid adding the overhead it imposes unless I
> really need it.

The loss of a query language is irrelevant; Python becomes your query
language.  You don't *really* enjoy embedding SQL in Python, do you?
Unless you are a true SQL wizard, I bet you ended up using Python code
to knit together the result of several small SQL queries to do anything
complicated/interesting.

However, the lack of real indexing infrastructure builtin to ZODB is a
major weakness.  It's a weakness that we've lived with for over two
years now; but we have the happy advantage that our database grows
slower than hardware gets faster, so we've been able to stay ahead of
the curve.  (Our worst-case brute-force crawls are typical around 1000
to a few thousand objects.  We do have scripts that crawl our entire
database (around 250k objects last I checked), but those run offline,
not via the web.)  Furthermore, our entire database is around 100 MB, so
can comfortably fit into main memory on all of our servers and most of
our development machines.

If our database was an order of magnitude larger (gigabytes of data,
millions of objects), I'd be a lot more worried about fancy indexing and
caching schemes.

        Greg
--
Greg Ward - software developer                gward@mems-exchange.org
MEMS Exchange                            http://www.mems-exchange.org

reply