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

docs.mongodb.com

docs.couchdb.org

docs.riak.com

www.orientdb.com/docs

arangodb.com/documentation/

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-Langauge

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.