Die Dokumentendatenbank Amazon DocumentDB

MongoDB-Datenbanken in AWS

| Autor / Redakteur: Sascha Möllering * / Stephan Augsten

Auf Basis von MongoDB ist Amazon DocumentDB entstanden, hier ein Blick auf die Quick-Start-Architektur für MongoDB in AWS.
Auf Basis von MongoDB ist Amazon DocumentDB entstanden, hier ein Blick auf die Quick-Start-Architektur für MongoDB in AWS. (Bild: AWS Germany GmbH)

„Wir denken darüber nach, MongoDB für unsere Anwendungen zu nutzen, möchten diese aber nicht selbst betreiben. Welcher AWS-Service existiert für das Betreiben von MongoDB-Workloads?“

MongoDB ist eine populäre dokumentenorientierte NoSQL-Implementierung, die bis zum 15. Oktober 2018 unter einer Open Source-Lizenz veröffentlicht worden ist. Seitdem ist MongoDB unter der proprietären SSPL-Lizenz verfügbar.

Diese Datenbank unterstützt ein flexibles Datenmodell, das es erlaubt, Daten jeglicher Struktur zu speichern. Seit April 2015 bietet AWS ein Quick Start Reference Deployment an, um MongoDB auf Basis von Amazon EC2 und VPC aufzusetzen. Viele Kunden möchten aber gerne MongoDB als Service nutzen, ohne sich um die darunterliegende Infrastruktur kümmern zu müssen.

Wollen Kunden einen vollständig verwalteten Datenbankdienst auf Basis von MongoDB nutzen, können sie MongoDB Atlas verwenden, anstatt den genannten Quick Start zu implementieren. MongoDB Atlas erstellt ein neues VPC für die verwalteten Datenbanken und automatisiert potenziell zeitaufwändige Verwaltungsaufgaben wie die Verwaltung, Überwachung und Backups eines MongoDB-Deployments.

Amazon DocumentDB

Vor Kurzem hat AWS Amazon DocumentDB vorgestellt. Amazon DocumentDB besitzt MongoDB-Kompatibilität und ist eine schnelle, skalierbare und hochverfügbare Dokumentendatenbank, die so konzipiert ist, dass sie mit bestehenden MongoDB-Anwendungen und -Tools kompatibel ist.

Amazon DocumentDB verwendet einen speziell entwickelte SSD-basierte Storage-Layer mit 6-facher Replikation über 3 verschiedene Availability Zones. Die Speicherschicht ist verteilt, fehlertolerant und selbstheilend und bietet die notwendige Leistung, Skalierbarkeit und Verfügbarkeit, die benötigt wird, um MongoDB-Workloads im Produktionsmaßstab auszuführen.

Aktuell ist Amazon DocumentDB mit der Version 3.6 von MongoDB kompatibel. Der Storage kann von 10 Gigabyte (GB) bis 64 Terabyte in Schritten von 10 GB skaliert werden. Amazon DocumentDB teilt das Storage-Volume automatisch in 10-GB-Segmente auf, die auf viele Festplatten verteilt werden. Es ist nicht notwendig, Speicherplatz vorab zuzuweisen oder den freien Speicherplatz zu überwachen. Es kann zwischen sechs Instanzgrößen (15,25 GiB bis 488 GiB Speicher) gewählt und bis zu 15 Read-Replicas erstellt werden.

Ein besonders interessanter Aspekt ist hierbei die Implementierung des Datenbankservice: Storage und Compute sind entkoppelt, was bedeutet, dass beides unabhängig voneinander skaliert werden kann. Amazon DocumentDB wurde entwickelt, um unnötige IO-Operationen zu vermeiden und sicherzustellen, dass Ressourcen für die Bereitstellung von Lese-/Schreibverkehr verfügbar sind.

Write IOs werden nur dann verbraucht, wenn Write-Ahead-Log-Records auf den Storage Layer verschoben werden, um Schreibvorgänge persistent zu machen. Write IOs werden in 4-KB-Einheiten gezählt. Beispielsweise zählt ein Log Record von 1KB als eine IO-Operation.

Gleichzeitige Schreibvorgänge, deren Schreibprotokoll jedoch weniger als 4 KB beträgt, können von der Amazon DocumentDB-Datenbank-Engine zusammengeführt werden, um den I/O-Verbrauch zu optimieren. Im Gegensatz zu herkömmlichen Datenbankmodellen verschiebt Amazon DocumentDB niemals modifizierte Datenbank-Pages auf die Speicherschicht, was zu weiteren Einsparungen beim IO-Verbrauch führt.

Migration bestehender Workloads

Für die Migration bestehender MongoDB-Workloads nach Amazon DocumentDB kann der AWS Database Migration Service (DMS) genutzt werden. Dies gilt sowohl für On-Premises- als auch für Amazon EC2-basierte Datenbanken.

Mit DMS kann von einem MongoDB Replikat-Set oder von einem Sharded Cluster zu Amazon DocumentDB migriert werden. Darüber hinaus können die meisten vorhandenen Tools verwendet werden, um Daten aus einer MongoDB-Datenbank in AWS DocumentDB zu migrieren, einschließlich mongodump/mongorestore, mongoexport/mongoimport und Drittanbieter-Tools, die Change Data Capture über das Oplog unterstützen.

Ausfallsicherheit

Amazon DocumentDB bietet - im Falle eines Instanzproblems – ein automatisiertes Verfahren zur Wiederherstellung: DocumentDB verwaltet – wie bereits angedeutet - automatisch sechs Kopien der Daten über drei Availability Zones und versucht automatisch, eine Instanz in einer gesunden AZ ohne Datenverlust wiederherzustellen.

Für den unwahrscheinlichen Fall, dass die Daten auf dem Amazon DocumentDB-Speicher nicht verfügbar sind, lassen sich diese aus einem Cluster-Snapshot wiederherstellen oder eine zeitpunktgenaue Wiederherstellung in einem neuen Cluster durchführen. Die späteste wiederherstellbare Zeit für einen zeitpunktbezogenen Wiederherstellungsvorgang kann bis zu fünf Minuten in der Vergangenheit liegen.

Amazon DocumentDB wurde entwickelt, um den Verlust von bis zu zwei Kopien von Daten transparent zu behandeln, ohne die Schreibverfügbarkeit zu beeinträchtigen, und bis zu drei Kopien, ohne die Leseverfügbarkeit zu beeinträchtigen. Das Storage-Volume von Amazon DocumentDB ist ebenfalls selbstheilend: Datenblöcke und Festplatten werden kontinuierlich nach Fehlern durchsucht und automatisch repariert.

Fazit

Sascha Möllering
Sascha Möllering (Bild: AWS Germany GmbH)

Amazon DocumentDB ist ein schneller, skalierbarer, hochverfügbarer und vollständig verwalteter Dokumentendatenbankdienst, der MongoDB-Workloads unterstützt. Mit DocumentDB ist es nicht mehr notwendig, einen MongoDB-Cluster selbst zu betreiben, sondern ist es möglich, sich vollständig auf die Business-Logik zu fokussieren.

* Sascha Möllering arbeitet als Solutions Architect bei der Amazon Web Services Germany GmbH. Seine Interessen liegen in den Bereichen Automation, Infrastructure as Code, Distributed Computing, Container und JVM.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45840671 / Tipps und Tricks mit AWS)