Having read a couple threads [1] on dropping the RDBMS in favor of keeping data in RAM and logging to disk, I'm wondering what is a good setup for a typical Python web app.
There seem to be a number of options; memcached, BDB, ZopeDB, metakit, serialising into sqlite...
Any ideas?
1. [http://news.ycombinator.com/item?id=14605], [http://news.ycombinator.com/item?id=16098]
Cog is the Checkpointed Object Graph object database, providing semi-transparent persistence for large sets of interrelated Python objects. It handles automatic loading of objects on reference, and saving of modified objects back to disk. Reference counting is used to automatically remove no longer referenced objects from storage, and objects will be automatically be attached to the database if a persistent object references them.
======
I looked this package over a few years ago, and I think it got an awful lot of things right... but not enough.
It's worth examining the design if you want to understand the intricacies of non-RDBMS approaches. A lot of thought went into it.