DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

ZODB


The Zope Object Database (ZODB) is an object-oriented DBMS library for storing Python objects. ZODB aims to provide a transparent way for Python programmers to make their data persistent. It is completely written by Python, and only provides Python API. It does not support other programming languages. [05][06][07]

Source Code
https://github.com/zopefoundation/ZODB[02]
Country of Origin
US
Start Year
2009
Project Type
Open Source
Written in
Python
Supported Languages
Python

ZODB stores data as objects, and the relationship between objects are automatically maintained by Python object references. As a result, ZODB allows programmers to manage data structures with complicate relationships.

The storage layer of ZODB is pluggable, and there are three main implementations: ZOE, NOE, and RelStorage. ZOE is a single-server client-server framework using FileStorage; NOE extends ZOE to distributed-server client-server storage; RelStorage stores objects in a relational database, such as MySQL, PostgreSQL, and Oracle.

ZODB uses aggressive caching. As a result, it is not suitable for tasks with heavy writes. Also, ZODB is designed for mapping access through keys and attributes of objects, which means that it does not support queries containing joins and advanced search.

Database Entry

ZODB


The Zope Object Database (ZODB) is an object-oriented DBMS library for storing Python objects. ZODB aims to provide a transparent way for Python programmers to make their data persistent. It is completely written by Python, and only provides Python API. It does not support other programming languages.

ZODB stores data as objects, and the relationship between objects are automatically maintained by Python object references. As a result, ZODB allows programmers to manage data structures with complicate relationships.

The storage layer of ZODB is pluggable, and there are three main implementations: ZOE, NOE, and RelStorage. ZOE is a single-server client-server framework using FileStorage; NOE extends ZOE to distributed-server client-server storage; RelStorage stores objects in a relational database, such as MySQL, PostgreSQL, and Oracle.

ZODB uses aggressive caching. As a result, it is not suitable for tasks with heavy writes. Also, ZODB is designed for mapping access through keys and attributes of objects, which means that it does not support queries containing joins and advanced search.[05][06][07]

History[04][08]


ZODB was a commercial project dated back to the late 90s, and was made open source as ZODB1 in 2002. It quickly upgraded to ZODB2 and then to ZODB3 in the same year, 2002. ZODB3 lived until 2012, and then the developers decided to rebuild it into ZODB4 using 100% Python. ZODB4 is the current version and is active. ZODB was born as a part of the Zope web application server, but it now stands alone and can be used independently.

Checkpoints[09]


ZODB does not provide ckeckpoint API.

Compression[10][11]


The default storage implementation FileStorage does not compress the data. It simply appends object to the end of a file. However, there is an optional layer which uses gzip to compress the file in the FileStorage. Also, since ZODB has a pluggable storage layer, it also can support compression by using different storage layers such as NEO and relStorage. RelStorage supports MySQL, PostgreSQL, and Oracle backend.

Data Model


Compatible Systems
NEO NEO

Citations

11 sources
  1. http://www.zodb.org zodb.org Spam — Check Archive
  2. GitHub - zopefoundation/ZODB: Python object-oriented database · GitHub github.com
  3. http://www.zodb.org/en/latest/reference/index.html zodb.org Dead — Check Archive
  4. Zope Object Database - Wikipedia wikipedia.org
  5. http://www.zodb.org/en/latest/ zodb.org Dead — Check Archive
  6. RelStorage 4.3.1.dev0 documentation readthedocs.io
  7. GitHub - zopefoundation/ZEO: ZODB Client-Server framework · GitHub github.com
  8. ZODB/HISTORY.rst at master · zopefoundation/ZODB · GitHub github.com
  9. http://www.zodb.org/en/latest/reference/zodb.html#zodb-apis zodb.org Dead — Check Archive
  10. http://www.zodb.org/en/latest/reference/storages.html zodb.org Dead — Check Archive
  11. https://neo.nexedi.com nexedi.com Dead — Check Archive
Revision #10 Last Updated: