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 file storage; 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.

Data Model

Object-Oriented

ZODB Logo
Website

http://www.zodb.org/

Source Code

https://github.com/zopefoundation/ZODB

Tech Docs

http://www.zodb.org/en/latest/reference/index.html

Developer

Zope Foundation

Country of Origin

US

Start Year

2009

Project Type

Open Source

Written in

Python

Supported languages

Python

Licenses

Zope Public License

Wikipedia

https://en.wikipedia.org/wiki/Zope_Object_Database