[ZODB-Dev] Any recommendation for non-undoable storage?
Tim Peters
tim at zope.com
Wed Jun 9 01:50:58 EDT 2004
[Chris McDonough]
> There is no supported general-purpose nonundoing storage shipping with
> ZODB or produced by a third party anymore. Well, that's not entirely
> true; there's TemporaryStorage and MappingStorage, which is are both
> nonundo storages, but both save pickles to RAM instead of to disk, which
> usually isn't very helpful.
I probably shouldn't mention this, but I will <heh>: the other day I
noticed the file dbmStorage.py in ZODB. This has classes anydbmStorage and
gdbmStorage, inheriting from MappingStorage, claiming to be version-less
undo-less storages (like MappingStorage) but storing to a dbm file (unlike
MappingStorage).
I shouldn't mention it because they appear undocumented and untested, so
probably don't work anymore (assuming they ever did ... the file was checked
in about 5 years ago, and nothing has changed since then except for a dozen
license, copyright, and whitespace cleanups).
Maybe someone would like to adopt that, and make it a usable "simple"
option? Otherwise I should get rid of it.
OTOH, MappingStorage (and these derivatives) still require packing to clean
out the trash. ZhiMin presumably liked BDBMinimalStorage most because its
refcount strategy cleans up non-cyclic trash without explicit packing.
TemporaryStorage can do that too (I think). Perhaps techniques akin to
those in dbmStorage.py could be applied to a TemporaryStorage subclass to
give it a quick-to-code file-based variant too. Or not.
More information about the ZODB-Dev
mailing list