Was ist eine Dokumentdatenbank?

Definition von Dokumentdatenbank

Eine Dokumentdatenbank ist eine nichtrelationale Datenbank, die dazu gedacht ist, semi-strukturierte Daten als Dokumente zu speichern. Dokumentendatenbanken sind für Entwickler intuitiv zu bedienen, da die Daten in der Anwendungsebene typischerweise als JSON-Dokument dargestellt werden. Entwickler können Daten persistieren, indem sie das gleiche Dokumentmodellformat verwenden, das sie in ihrem Anwendungscode nutzen. In einer Dokumentdatenbank kann jedes Dokument die gleiche oder eine andere Datenstruktur haben, und jedes Dokument ist selbstbeschreibend – einschließlich seines möglicherweise eindeutigen Schemas – und nicht unbedingt von einem anderen Dokument abhängig. Dokumente werden zu „Sammlungen“ zusammengefasst, die einem ähnlichen Zweck dienen wie eine Tabelle in einer relationalen Datenbank. 

Beispielsweise könnte eine JSON-Datei in einer einfachen Buchdatenbank, die einen Buchartikel beschreibt, wie der folgende Code aussehen.

[
    {
        "year" : 2013,
        "title" : "Turn It Down, Or Else!",
        "info" : {
            "directors" : [ "Alice Smith", "Bob Jones"],
            "release_date" : "2013-01-18T00:00:00Z",
            "rating" : 6.2,
            "genres" : ["Comedy", "Drama"],
            "image_url" : "http://ia.media-imdb.com/images/N/O9ERWAU7FS797AJ7LU8HN09AMUP908RLlo5JF90EWR7LJKQ7@@._V1_SX400_.jpg",
            "plot" : "A rock band plays their music at high volumes, annoying the neighbors.",
            "actors" : ["David Matthewman", "Jonathan G. Neff"]
        }
    },
    {
        "year": 2015,
        "title": "The Big New Movie",
        "info": {
            "plot": "Nothing happens at all.",
            "rating": 0
        }
    }
]

Anwendungsfälle

Content-Management

Eine Dokumentendatenbank eignet sich ideal für Content Management-Anwendungen wie Blogs und Videoplattformen. Mit einer Dokumentendatenbank kann jede Entität, die die Anwendung verfolgt, als Einzeldokument gespeichert werden. Mit einer Dokumentdatenbank können Entwickler eine Anwendung intuitiver aktualisieren, wenn sich die Anforderungen ändern. Darüber hinaus müssen bei einer Änderung des Datenmodells nur die betroffenen Dokumente aktualisiert werden. Zum Durchführen der Änderungen ist weder ein Schema-Update erforderlich, noch muss ein Ausfall der Datenbank berücksichtigt werden. 

Kataloge

Dokumentdatenbanken eignen sich zum effizienten und effektiven Speichern von Kataloginformationen. Beispielsweise besitzen verschiedene Produkte in einer E-Commerce-Anwendung in der Regel eine unterschiedliche Anzahl von Attributen. Die Verwaltung von Tausenden von Attributen in relationalen Datenbanken ist ineffizient, und die Leseleistung wird beeinträchtigt. Mithilfe einer Dokumentendatenbank können die Attribute jedes Produkts in einem einzigen Dokument beschrieben werden, um die Verwaltung zu vereinfachen und die Lesegeschwindigkeit zu erhöhen. Die Änderung der Eigenschaften eines Produkts hat keine Auswirkungen auf andere Produkte.

Beliebte Dokumentdatenbanken

Amazon DynamoDB

Amazon DynamoDB ist eine nichtrelationale Datenbank, die Leistung in jeder Dimensionierung liefert. Es handelt sich um eine voll verwaltete, regionsübergreifende Multi-Master-Datenbank mit konsistenten Latenzzeiten im einstelligen Millisekundenbereich, die außerdem integrierte Sicherheit, Datensicherung und -wiederherstellung sowie In-Memory-Caching bietet. DynamoDB unterstützt natives JSON, sodass Sie JSON-Dokumente direkt in DynamoDB-Tabellen schreiben können. Mit einer maximalen Elementgröße von 400 KB ermöglicht DynamoDB die Speicherung großer JSON-Dokumente und verschachtelter Objekte in einer Transaktion.

Machen Sie noch heute Ihre ersten Schritte mit DynamoDB.

Erste Schritte mit Amazon DynamoDB

MongoDB

MongoDB ist eine nichtrelationale Open Source-Datenbank, die Support für JSON-ähnliche dokumentorientierte Speichersysteme bietet. Es unterstützt ein flexibles Datenmodell, das es Ihnen ermöglicht, Daten beliebiger Struktur zu speichern, und bietet eine Vielzahl von Funktionen, einschließlich vollständiger Indexunterstützung, Sharding und Replikation. Mit AWS können Sie die Infrastruktur für die flexible, skalierbare und kostengünstige Bereitstellung von MongoDB in der AWS Cloud einrichten. 

Verwenden Sie den Quickstart für AWS MongoDB (auch im PDF-Format verfügbar), um einen MongoDB-Cluster in der AWS Cloud bereitzustellen. Eine Übersicht über MongoDB und die Implementierung in AWS finden Sie im Whitepaper MongoDB on AWS: Guidelines and Best Practices. Schauen Sie sich auch die AWS-Sicherheitsempfehlungen für MongoDB an.

Couchbase

Die Couchbase Data Platform der Enterprise-Klasse wurde entwickelt, um ansprechende Mobil-, IoT- und Webanwendungen zu unterstützen. Sie umfasst Couchbase Server und Couchbase Mobile. Couchbase Server ist eine in der Cloud native nichtrelationale Datenbank, die mit einer verteilten Architektur für Performance, Skalierbarkeit und Verfügbarkeit entwickelt wurde. Sie ermöglicht es Entwicklern, Anwendungen zu erstellen, indem sie die Leistungsfähigkeit von SQL mit der Flexibilität von JSON kombiniert. Couchbase Mobile beinhaltet eine vollständig integrierte eingebettete Datenbank, integrierte Sicherheit und automatisierte Echtzeit-Synchronisation mit dem hochskalierbaren Couchbase Server.

Verwenden Sie den Quickstart für AWS Couchbase (auch im PDF-Format verfügbar), um einen Couchbase-Cluster in der AWS Cloud bereitzustellen.