contentdb is a document store database design, implemented as a library for Torchbear apps. See also NoSQL databases, such as CouchDB and MongoDB.
This project follows a general trend away from table-oriented databases, usually toward document-oriented or otherwise graph-oriented; meanwhile outline-oriented is a very good one too, see WorkFlowy and OmniOutliner - given usage of models.
What makes ContentDB significantly different from other databases is that it uses a file to store each "record", called a document, in a specified format. This is similar to RDF-style XML databases.
With this approach, you can easily manage your data storage, retreival, and other metadata storage and retrieval as well. You can easily do version control for history tracking and easy deployment. Relationships are easy to represent using reference fields. See and Pelican and Grav for other similar systems, more so Pelican because of its pelican reference plugin.
To massively improve performance and scalability, Tantivy integration can provide immediate indexing and querying. This is the same as materialized views and mongo collections.
The current version is in Lua. See ContentDB-Lua.
ContentDB combines one structured and one unstructured data format. Headers use SCL, and bodies use Markdown or Lua.
Header field values provide a mechanism to represent attributes of world entities in virtual document texts. Relationship fields work by using the target's model for its field. You can see this implemented in Python in the pelican plugin above.
Default ID is UUIDv4.
Short names are a missing feature. https://github.com/foundpatterns/contentdb/issues/4
Model documents started by following some json document schema or something, forgot which schema
Stores are folders with documents from a single source.