Sign in to see all reviews and comparisons. It's Free!
The ZODB is a persistence system for Python objects. It is included as part of the Zope web application server, but can also be used independently of Zope. ZODB has a pluggable storage framework.
• ACID transactions with snapshot isolation • Database caching with invalidation • Garbage collection: Removal of unused objects is automatic • Distributed transaction support using two-phase commit • Blob implementation that stores blobs in S3 and caches them on disk • Demo Storage - An in-memory back end for the persistent store
Contact for Pricing
Small (<50 employees), Medium (50 to 1000 employees), Enterprise (>1001 employees)
What is best?
• ACID transactions with snapshot isolation • Database caching with invalidation • Garbage collection: Removal of unused objects is automatic • Distributed transaction support using two-phase commit
What are the benefits?
• Easy testing: Provides in-memory storage implementations as well as copy-on-write layered “demo storage” implementations that make testing database-related code very easy • Pluggable layered storage: Variety of storage schemes including memory-based, file-based and distributed (client-server) storage • No database mapper that partially hides the database • Scale application across multiple threads, processes or machines without having to use low-level locking primitives
Aggregated User Rating
Ease of use
Features & Functionality
Renew & Recommend
ZODB is an object-oriented database for transparently and persistently storing Python objects.
Aggregated User Rating
You have rated this
The ZODB is a persistence system for Python objects. It is included as part of the Zope web application server, but can also be used independently of Zope. ZODB has a pluggable storage framework. This means there are a variety of storage implementations to meet different needs, from in-memory databases, to databases stored in local files, to databases on remote database servers, and specialized databases for compression, encryption, and so on. ZODB manages moving objects in and out of memory for you. The unit of storage is the persistent object. When users access attributes of a persistent object, they are loaded from the database automatically, if necessary. If too many objects are in memory, then objects used least recently are evicted. The maximum number of objects or bytes in memory is configurable. The ZODB is a hierarchical database. There is a root object, initialized when a database is created. The root object is used like a Python dictionary and it can contain other objects (which can be dictionary-like themselves). To store an object in the database, it’s enough to assign it to a new key inside its container. The ZODB provides a very simple mechanism to roll back any committed transaction. This feature is possible because ZODB keeps track of the database state before and after every transaction. This makes it possible to undo the changes in a transaction, even if more transactions have been committed after it. ZODB uses a special storage for blobs, which makes it feasible to easily handle large files up to a few hundred megabytes without performance problems.
PAT RESEARCH is a B2B discovery platform which provides Best Practices, Buying Guides, Reviews, Ratings, Comparison, Research, Commentary, and Analysis for Enterprise Software and Services. We provide Best Practices, PAT Index™ enabled product reviews and user review comparisons to help IT decision makers such as CEO’s, CIO’s, Directors, and Executives to identify technologies, software, service and strategies.