Durus-berkeleydbstorage is a backend storage module for Durus, a persistence system for Python. As its name indicates,"Durus-berkeleydbstorage" uses BerkeleyDB as the storage technology.
Some advantages compared to Durus standard FileStorage are:
- Startup time is negligible.
- You don't need an in-memory index, so your repository size is only limited by storage space, not RAM.
- If you change existing objects, your storage size doesn't increase.
- If you delete objects, those objects are garbage collected in background, slowly, without performance degradation.
- You can still do a full fast collection, if you need it. While this collection is in progress, Durus still serves objects.
- Garbage collection doesn't increase storage size. Neither RAM usage.
- Garbage collection deletes objects using nondurable transactions, very efficiently. If the collection is aborted abruptly (program or machine crashes), the collection will continue where it was working. If the GC finishes without problems, that state is durable.
- Any object store in the storage will commit a durable transaction, including all objects released in the background garbage collector, along the way.
- Garbage collection time is proportional to garbage, not repository size.