Sign in to see all reviews and comparisons. It's Free!
By clicking Sign In with Social Media, you agree to let PAT RESEARCH store, use and/or disclose your Social Media profile and email address in accordance with the PAT RESEARCH Privacy Policy and agree to the Terms of Use.
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.
Category
Object Databases
Features
• 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
License
Proprietary
Price
Contact for Pricing
Pricing
Subscription
Free Trial
Available
Users Size
Small (<50 employees), Medium (50 to 1000 Enterprise (>1001 employees)
Company
ZODB
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
PAT Rating™
Editor Rating
Aggregated User Rating
Rate Here
Ease of use
7.6
7.9
Features & Functionality
7.6
8.1
Advanced Features
7.6
8.6
Integration
7.6
5.3
Performance
7.6
5.1
Customer Support
7.6
6.0
Implementation
4.6
Renew & Recommend
—
Bottom Line
ZODB is an object-oriented database for transparently and persistently storing Python objects.
7.6
Editor Rating
6.5
Aggregated User Rating
3 ratings
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.
By clicking Sign In with Social Media, you agree to let PAT RESEARCH store, use and/or disclose your Social Media profile and email address in accordance with the PAT RESEARCH Privacy Policy and agree to the Terms of Use.