Was ist eine Dokumentdatenbank?

Definition der Dokumentdatenbank

Eine Dokumentdatenbank ist eine nichtrelationale Datenbank, die dazu dient, Daten im Form von JSON-ähnlichen Dokumenten zu speichern und abzufragen. Mit Dokumentdatenbanken können Entwickler Daten einfacher in einer Datenbank speichern und abfragen, indem sie das gleiche Dokumentmodellformat wie in ihrem Anwendungscode verwenden. Aufgrund des flexiblen, semi-strukturierten und hierarchischen Aufbaus der Dokumente und Dokumentdatenbanken können sie entsprechend den Anforderungen der Anwendungen weiterentwickelt werden. Das Dokumentmodell eignet sich hervorragend für Anwendungsfälle wie Kataloge, Benutzerprofile und Content Management-Systeme, bei denen jedes Dokument einzigartig ist und im Laufe der Zeit weiterentwickelt wird. Dokumentdatenbanken ermöglichen eine flexible Indexierung, leistungsstarke Ad-hoc-Abfragen und Analysen zu Dokumentsammlungen.

Im folgenden Beispiel wird ein Buch durch ein JSON-ähnliches Dokument beschrieben.

[
    {
        "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 DocumentDB (mit MongoDB-Kompatibilität)

Amazon DocumentDB (mit MongoDB-Kompatibilität) ist ein schneller, skalierbarer, hochverfügbarer und vollständig verwalteter Dokumentdatenbankdienst, der MongoDB-Workloads unterstützt. Entwickler können denselben MongoDB-Anwendungscode, dieselben Treiber und Tools verwenden, um Workloads in Amazon DocumentDB auszuführen, zu verwalten und zu skalieren und die Leistung, Skalierbarkeit und Verfügbarkeit zu verbessern, ohne sich um die Verwaltung der zugrunde liegenden Infrastruktur kümmern zu müssen.

Erste Schritte mit Amazon DocumentDB noch heute.

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.