Dokumentenorientierte Datenbanksysteme

Ein Dokument in diesem Zusammenhang ist eine strukturierte Zusammenstellung bestimmter Daten. Die Daten eines Dokuments werden als Schlüssel/Wert-Paar gespeichert, wobei der Wert auch eine Liste oder ein Array sein kann.

Datenbanksysteme

Dokumentenorientierte Datenbanksysteme sind z.B. MongoDB, CouchDB, Riak, OrientDB und ArangoDB.

Home

MongoDB

CouchDB

Riak

OrientDB

ArangoDB

GitHub

mongodb/mongo

apache/couchdb

basho/riak

orientechnologies/orientdb

arangodb/arangodb

Docs

www.mongodb.com/docs/

docs.couchdb.org

docs.riak.com

www.orientdb.com/docs

docs.arangodb.com

Anwendungsgebiete

IoT, Mobile apps, CMS, einfache Geodaten, …

Mobile, CRM, CMS, …

Session storage, Log data, Sensor data, CMS

Stammdatenverwaltung, soziale Netzwerke, Time Series, Key Value, Chat, Verkehrsmanagement

Fraud Detection, IoT, Identitätsmanagement, E-Commerce, Netzwerk, Logistik, CMS

Entwicklungssprache

C++

Erlang

Erlang

Java

C++, JavaScript

Lizenzen

Server Side Public License

Apache License 2.0

Apache License 2.0

Apache License 2.0

Apache License 2.0

Datenmodell

Flexibles Schema mit denormalisiertem Modell

Flexibles Schema

Im Wesentlichen Schlüssel/Wert-Paar

Multi-Model

Multi-Model: Dokumente, Graphen und Schlüssel/Wert-Paar

Query-Language

jQuery, MapReduce

REST, MapReduce

Keyfilter, MapReduce, Link-Walking, keine Ad-hoc Queries möglich

Extended SQL, Gremlin

ArangoDB Query Language (AQL)

Transaktionen, Nebenläufigkeit

Two-phase locking (2PL)

ACID

ACID

ACID, MVCC – Multiversion Concurrency Control

Replikation, Skalierung

Master-Slave-Replikation, Auto-Sharding

Master-Master-Replikation

Multi-Master-Replikation

Multi-Master-Replikation, Sharding

Master-Slave-Replikation, Sharding

Anmerkungen

BSON mit einer maximalen Dokumentengröße von 16 MB.