Zope Object Database

From Wikipedia, the free encyclopedia
  (Redirected from ZODB)
Jump to: navigation, search
Zope Object Database
Developer(s) Zope Corporation
Stable release 3.10.3 / April 12, 2011; 9 months ago (2011-04-12)[1]
Written in Python
Operating system Cross-platform
Type Object Database
License Zope Public License
Website www.zodb.org

The Zope Object Database (ZODB) is an object-oriented database for transparently and persistently storing Python objects. It is included as part of the Zope web application server, but can also be used independently of Zope.

Features of the ZODB include: transactions, history/undo, transparently pluggable storage, built-in caching, multiversion concurrency control (MVCC), and scalability across a network (using ZEO).

The ZODB is a mature Python datastore that has hundreds of thousands of systems today running on top of it.[citation needed]

Contents

[edit] History

  • Created by Jim Fulton of Zope Corporation in the late 90s.
  • Started as simple Persistent Object System (POS) during Principia development (which later became Zope)
  • ZODB 3 was renamed when a significant architecture change was landed.
  • ZODB 4 was a short lived project to re-implement the entire ZODB 3 package using 100% Python.

[edit] ZEO

ZEO (Zope Enterprise Objects) is a ZODB storage implementation that allows multiple client processes to persist objects to a single ZEO server. This allows transparent scaling, but the ZEO server is still a single point of failure.

[edit] Pluggable Storages

  • Network Storage (aka ZEO) - Enables multiple python processes load and store persistent instances concurrently.
  • File Storage - Enables a single python process to talk to a file on disk.
  • relstorage - Enables the persistence backing store to be a RDBMS.
  • Directory Storage - Each persistent data is stored as a separate file on the filesystem. Similar to FSFS in Subversion.
  • Demo Storage - An in-memory back end for the persistent store.
  • BDBStorage - Which uses Berkeley DB back end. Now abandoned.

Failover Technologies:

  • Zope Replication Services (ZRS) - A commercial add-on that removes the single point of failure, providing hot backup for writes and load-balancing for reads.
  • zeoraid - An open source solution that provides a proxy Network Server that distributes object stores and recovery across a series of Network Servers.
  • relstorage - since RDBMS technologies are used this obviates need for ZEO server.
  • NEO - Distributed (fault tolerance, load-balancing) storage implementation. Not ready for production use yet (as of 01/2011).

[edit] See also

[edit] References

[edit] External links


Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages