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 monster" ;-)

I want to be able to use an OO database without the inconvenience of having
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). Do this
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! help! why is this bit of data not what I expected it to be?" you can dig into
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.


Jim Fulton
Zope Corporation

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to