4 ms·
ZODB ( http://www.zodb.org/en/latest/ http://www.zodb.org/en/latest/ ) is a NoSQL database that has been around for almost twenty years now. It's a Python-speci
by MatthewWilkes 11y ago
ZODB ( http://www.zodb.org/en/latest/ http://www.zodb.org/en/latest/ ) is a NoSQL database that has been around for almost twenty years now. It's a Python-specific NoSQL database that allows persisting of arbitrary objects in a tree structure. It not only has multi-object transactions, transaction savepoints for memory efficiency's sake (both optimistic and normal), a pluggable 3-way conflict resolver, two-phase commit and support for long-running branches which contain multiple transactions.
- zurn 11y agoAlso check out Durus, a close relative of ZODB but simpler. https://www.mems-exchange.org/software/DurusWorks/ https://www.mems-exchange.org/software/DurusWorks/
- bryanlarsen 11y agoSure, but ZODB doesn't "horizontally scale". That's what makes multi-object transactions hard in mainstream NoSQL databases. And that's what's so cool about the linked papers; they describe two different mechanisms to achieve both multi-object transactions and horizontal scaling. Of course, the next question is whether you actually need scaling. Outgrowing a database is a "problem of success"; if you have that problem you can throw money at the problem. It's much more important to concentrate your efforts on achieving success; choose your database focusing on your business problem, not on hopeful future potential problems.
- the-dude 11y agoZODB is no database. ZODB is a persistance layer. Where is the SQL in ZODB? The level of sophistication in the query interface is laughable.
- plonh 11y agoIt is a database, not a relational database.