Dokumentenorientierte Datenbanksysteme

Ein Dokument in diesem Zusammenhang ist eine strukturierte Zusammenstellung bestimmter Daten. Die Daten eines Dokumente 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)

  • Two-phase locking (2PL),

  • einzelner Server: ACID,

  • verteilte Systeme: BASE

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 einre maximalen Dokumentengröße von 16 MB.