List of databases

Name Realtime Graph Document Relational Distributed/p2p Open source URL
Redwood[1] x https://github.com/redwood/redwood
LevelGraph[2] x https://github.com/levelgraph/levelgraph
Earthstar[3] x https://github.com/earthstar-project/earthstar
OrbitDB[4] x https://github.com/orbitdb/orbit-db
MongoDB x
CouchDB x
PouchDB[5] x https://pouchdb.com/
turtleDB[6] x https://turtle-db.github.io/
Postgres x
MySQL x
DuckDB x https://duckdb.org/
dgraph x x x https://github.com/dgraph-io/dgraph
neo4j x

FoundationDB: A Distributed Unbundled Transactional Key Value Store (Sigmod 2021)

Note that the relational part of relational databases refers to relational algebra, not relations between data.

#review

Footnotes

  1. ‘a highly-configurable, distributed, realtime database that manages a state tree shared among many peers. Imagine something like a Redux store, but distributed across all users of an application, that offers offline editing and is resilient to poor connectivity.’ ↩︎

  2. ‘a Graph Database. Unlike many other graph database, LevelGraph is built on the uber-fast key-value store LevelDB through the powerful LevelUp library.’ ↩︎

  3. ‘An offline-first, distributed, syncable, embedded document database for use in p2p software – in browsers and outside of browsers’ ↩︎

  4. ‘OrbitDB is a serverless, distributed, peer-to-peer database. OrbitDB uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers. It’s an eventually consistent database that uses CRDTs for conflict-free database merges making OrbitDB an excellent choice for decentralized apps (dApps), blockchain applications and offline-first web applications.’ ↩︎

  5. ‘an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser and created to help web developers build applications that work as well offline as they do online.’ ↩︎

  6. ‘a framework for developers to build offline-first, collaborative web apps. Empowering developers with the ability to create apps with in-browser storage, effective server synchronization, document versioning, and flexible conflict resolution for any document data.’ ↩︎