On Jan 22, 2008, at 8:44 PM, Marius Gedminas wrote:
On Tue, Jan 22, 2008 at 05:43:42PM -0200, Flavio Coelho wrote:
Actually what I am trying to run away from is the "packing
I want to be able to use an OO database without the inconvenience
it growing out of control and then having to spend hours packing the
database every once in a while. (I do a lot of writes in my DBs).
Holy grail of databases exist? :-)
I've learned to love this aspect of FileStorage. Sure, the Data.fs is
measured in gigabytes, but when the users run to you crying "help!
why is this bit of data not what I expected it to be?" you can dig
object history from a debugzope console and figure what changed it and
when. Or restore deleted data, for that matter.
We can have our cake and eat it too. We can keep multiple revisions
and pack them incrementally. Keeping multiple revisions is almost
necessary, because without doing so, MVCC isn't effective.
The old Berkeley DB storage did this. It automatically packed records
older than a configurable time.
Berkeley DB storage didnt' work out the first time around. My
experience optimizing packing for FileStorage reminded me how much I
want an alternative to FileStorage for large active databases. I
intend to revisit Berkeley DB storage one of these days.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org