Document-oriented database systems#

A document in this context is a structured compilation of certain data. The data of a document is stored as a Key/value pair, whereby the value can also be a list or an array.

Database systems#

Document-oriented database systems are, for example, MongoDB, CouchDB, Riak, OrientDB and ArangoDB.

Home

MongoDB

CouchDB

Riak

OrientDB

ArangoDB

GitHub

mongodb/mongo

apache/couchdb

basho/riak

orientechnologies/orientdb

arangodb/arangodb

Docs

docs.mongodb.com

docs.couchdb.org

docs.riak.com

www.orientdb.com/docs

arangodb.com/documentation/

Application areas

IoT, Mobile apps, CMS, simple geospatial data, …

Mobile, CRM, CMS, …

Session storage, Log data, Sensor data, CMS

Master data management, social networks, Time Series, Key Value, Chat, traffic management

Fraud Detection, IoT, identity management, e-commerce, network, logistics, CMS

Development language

C++

Erlang

Erlang

Java

C++, JavaScript

Licenses

Server Side Public License

Apache License 2.0

Apache License 2.0

Apache License 2.0

Apache License 2.0

Data model

Flexible scheme with denormalised model

Flexible scheme

Essentially Key/Value pair

Multi-Model

Multi-model: documents, graphs and Key/value pair

Query langauge

jQuery, MapReduce

REST, MapReduce

Key filter, MapReduce, link walking, no ad-hoc queries possible

Extended SQL, Gremlin

ArangoDB Query Language (AQL)

Transactions, concurrency

Two-phase locking (2PL)

ACID

ACID

ACID, MVCC – Multiversion Concurrency Control

Replication, skaling

Master-Slave replikation, Auto-Sharding

Master-master replication

Multi-master replication

Multi-Master-Replikation, Sharding

Master-slave replication, sharding

Remarks

BSON with a maximum document size of 16 MB.