Eine Einführung in AWS DocumentDB

Als Antwort auf die wachsende Anzahl von Kunden, die Schwierigkeiten hatten, MongoDB in großem Umfang zu betreiben, hat Amazon die DocumentDB-Lösung ins Leben gerufen.

Die automatische Datenskalierung in DocumentDB ermöglicht es, mühelos von 10 GB auf 64 TB zu wachsen. Schauen wir uns an, wie das genau funktioniert.

Was ist DocumentDB?

AWS DocumentDB ist eine hochskalierbare Variante der vorherigen MongoDB-Version 3.6. Amazon erkannte die Notwendigkeit, eine eigene Lösung für große Datenmengen und geschäftskritische Anwendungen zu entwickeln. DocumentDB verwendet nicht den Quellcode von MongoDB, sondern ist eine proprietäre Implementierung von Amazon.

DocumentDB ist, ähnlich wie MongoDB, eine Datenbank-Engine für Dokumentenspeicher. AWS DocumentDB ist eine NoSQL-Datenbank, die typischerweise Daten im JSON-Format speichert und somit JSON-Datenstrukturen indiziert. Amazon DocumentDB ist als eine Drop-In-Ersatzlösung für MongoDB von AWS konzipiert, hat aber dennoch seine Eigenheiten.

Bevor wir tiefer in Amazon DocumentDB eintauchen, ist es wichtig, NoSQL zu verstehen und warum dieses Konzept momentan so relevant ist.

Was ist eine NoSQL-Datenbank?

NoSQL-Datenbanken verzichten auf Tabellen mit relationalen Verbindungen (daher der Name „nicht nur SQL“). Dokumente und Diagramme sind die zwei am häufigsten verwendeten Datentypen in diesen Systemen. Sie sind in der Lage, große Datenmengen und viele Benutzeranfragen zu bewältigen.

Entwickler nutzen NoSQL-Datenbanken primär wegen ihrer Leistungsvorteile und nicht so sehr wegen der Speicherkapazität. NoSQL-Daten sind oft halbstrukturiert, polymorph und können große Mengen unstrukturierter Daten enthalten.

NoSQL-Datenbanken sind nicht nur konsistenter als relationale Datenbanken, sondern auch einfacher zu skalieren und benötigen weniger Ressourcen. Im Gegensatz zu SQL-Datenbanken können NoSQL-Datenbanken gestapelt werden. Schemalose NoSQL-Datenbanken erlauben unterschiedliche Strukturen für Datenbankelemente.

Immer mehr Entwickler entscheiden sich, Anwendungen und Daten in Public Clouds zu hosten. Skalierbarkeit anstatt Upgrades und intelligente Geolokalisierung von Daten sind zu zentralen Anforderungen geworden. Diese Funktionen werden durch MongoDB bereitgestellt.

Unternehmen setzen NoSQL in vielen Bereichen ein. Beispiele hierfür sind Finanzdaten und Gesundheitsdaten (z. B. die Speicherung von IoT-Messwerten von einer intelligenten Katzentoilette).

Was führte zur Entwicklung von DocumentDB?

Amazon entwickelte DocumentDB, da viele Benutzer mit der Ausführung von MongoDB in großem Maßstab Schwierigkeiten hatten. Amazon war der Meinung, dass keine der aktuellen Lösungen, einschließlich MongoDB Atlas, die Bedürfnisse ihrer Kunden erfüllen konnte, und entwickelte deshalb eine eigene Lösung.

Mit DocumentDB kann die Datenbank beispielsweise automatisch von 10 GB auf 64 TB wachsen, ohne dass manuelles Eingreifen erforderlich ist. Vor DocumentDB war die Entwicklung solcher Datenmengen kompliziert.

Die Amazon-Lösung bietet zudem integrierte Fehlertoleranz. Der Speicherplatz wird automatisch in 10-GB-Blöcke aufgeteilt, die auf mehrere Datenträger verteilt sind. Jeder 10-GB-Block des Speichervolumens wird zur Sicherung sechsmal über drei Verfügbarkeitszonen repliziert.

Bis zu zwei Datenkopien können verloren gehen, ohne dass die Schreibverfügbarkeit beeinträchtigt wird, und drei Dokumente können verloren gehen, ohne die Leseverfügbarkeit einzuschränken. Zudem verfügt es über eine Selbstheilungsfunktion. Datenblöcke und Datenträger werden automatisch auf Fehler geprüft und repariert.

Da Amazon den Dienst hostet, sind viele rechtliche Aspekte abgedeckt. Es erfüllt zahlreiche Standards, darunter PCI DSS und ISO 9001. Zudem ist es konform mit SOC 1, SOC 2, SOC 3 und HIPAA.

Vorteile von DocumentDB

#1. MongoDB-kompatibel

Amazon DocumentDB ist kompatibel mit MongoDB 3.6- und 4.0-Treibern. Benutzer können viele ihrer bestehenden Anwendungen, Treiber und Tools mit Amazon DocumentDB weiterverwenden.

Amazon DocumentDB nutzt die Apache 2.0 Open Source MongoDB 3.6 und 4.0 APIs, um einen MongoDB-Server zu simulieren. Die Leistungsfähigkeit, Skalierbarkeit und Verfügbarkeit, die für unternehmenskritische MongoDB-Anwendungen erforderlich sind, sind jetzt verfügbar.

#2. Überwachung

Amazon DocumentDB bietet Amazon CloudWatch-Analysen für Cloud-Datenbankserver. Die AWS Management Console ermöglicht es, die Leistung des Clusters in Bereichen wie Rechenleistung und Speicher zu überwachen. Der Abfragedurchsatz, die Anzahl der MongoDB-Operationen und die aktiven Verbindungen werden ebenfalls erfasst.

#3. Latenz

Amazon DocumentDB unterstützt JSON-Dokumente, eine Vielzahl von Datentypen und eine schnelle Indizierung. Die In-Memory-Architektur ermöglicht es dem Dienst, Abfragen über große Dokumente schnell zu verarbeiten.

#4. Zugriffskontrolle

Amazon DocumentDB unterstützt RBAC mit integrierten und benutzerdefinierten Rollen. Mit RBAC können die geringsten Berechtigungen implementiert werden, um Benutzerrechte zu beschränken.

Durch die Integration mit AWS Identity and Access Management (IAM) können Sie steuern, was AWS-IAM-Benutzer und -Gruppen mit Amazon DocumentDB-Ressourcen tun können, einschließlich Clustern, Instanzen, Snapshots und Parametergruppen. Es ist auch möglich, Amazon DocumentDB-Ressourcen mit Tags zu versehen und die Rechte der IAM-Benutzer und -Gruppen zu verwalten.

#5. Verschlüsselung

Mit dem AWS Key Management Service (KMS) können die Datenbanken in Amazon DocumentDB verschlüsselt werden.

Die Daten im zugrunde liegenden Speicher, automatisierten Backups, Snapshots und Replikate in einem Cluster sind durch die Amazon DocumentDB-Verschlüsselung geschützt. Verbindungen zwischen dem Client und Amazon DocumentDB werden automatisch mit TLS verschlüsselt.

#6. Compliance-Zertifizierungen

Amazon DocumentDB wurde nach den höchsten Sicherheitsstandards entwickelt, um die Einhaltung gesetzlicher und Compliance-Anforderungen zu gewährleisten. Amazon DocumentDB erfüllt die Standards PCI DSS, ISO 9001, 27001, 27017 und 27018, sowie SOC 1, 2 und 3, und ist HIPAA-konform.

#7. Globale Cluster mit hoher Verfügbarkeit

Amazon DocumentDB Global Clusters ermöglichen globalen Lesezugriff und Notfallwiederherstellung. Die Daten werden auf bis zu fünf AWS-Standorten mit minimalen Auswirkungen auf die Performance repliziert.

#8. Multi-AZ-Bereitstellungen mit Replikaten

Mit bis zu 15 Replikaten in drei Verfügbarkeitszonen verschiebt Amazon DocumentDB automatisch Instanzen, wenn eine ausfällt. Im Falle eines Fehlers versucht Amazon DocumentDB automatisch eine neue Instanz zu erstellen.

#9. Fehlertoleranter und selbstheilender Speicher

Das Speichervolumen wird sechsmal auf drei Verfügbarkeitszonen (AZs) repliziert. Amazon DocumentDB bietet fehlertoleranten Speicher, um Datenverluste von bis zu zwei Kopien ohne Einschränkung der Schreibverfügbarkeit zu verkraften. Der Speicher von Amazon DocumentDB repariert sich außerdem selbst und ersetzt fehlerhafte Datenblöcke und Datenträger.

Häufig gestellte Fragen zu AWS DocumentDB

Ist AWS DocumentDB das Gleiche wie MongoDB?

Amazon DocumentDB (mit MongoDB-Kompatibilität) ist ein vollständig verwalteter Dokumentendatenbankdienst, der nicht nur schnell und skalierbar ist, sondern auch mit MongoDB-Workloads verwendet werden kann.

JSON-Daten können in Amazon DocumentDB als Dokumentendatenbank gespeichert werden. Daten können einfach gespeichert, gesucht und indiziert werden.

Kunden können den AWS Database Migration Service (DMS) sechs Monate lang kostenlos nutzen, um ihre nicht-relationalen On-Premises- oder Amazon Elastic Cloud (EC2) MongoDB-Datenbanken schnell und einfach und mit minimaler Downtime auf den AWS Database Migration Service (DMS) zu migrieren.

Wie funktioniert Amazon DocumentDB?

Amazon DocumentDB interagiert mit den Open-Source-APIs MongoDB 3.6 und 4.0 von Apache 2.0 als Dokumentendatenbank. Daher können dieselben MongoDB-Treiber, -Anwendungen und -Tools mit geringen bis gar keinen Änderungen mit Amazon DocumentDB verwendet werden.

Wie skaliert Amazon DocumentDB?

Amazon DocumentDB ist eine webbasierte Datenbank, die von 10 GB bis 64 TB in 10 GB-Schritten skaliert werden kann. Die Speicher- und Rechenkapazität von Amazon DocumentDB kann vertikal und horizontal (für einen höheren Lesedurchsatz) skaliert werden, indem dem Cluster zusätzliche Replikatinstanzen (bis zu 15) hinzugefügt werden.

Was sind die wichtigsten Designmerkmale von Amazon DocumentDB?

Amazon DocumentDB wurde von Grund auf mit einer Cloud-First-Architektur entwickelt. Dies bedeutet, dass JSON-Workloads einfach skaliert werden können.

Ein wesentlicher Bestandteil des Designs von DocumentDB ist die Trennung von Speicher und Verarbeitung, sodass beide unabhängig voneinander wachsen können. DocumentDB verfügt über ein verteiltes, fehlertolerantes und selbstheilendes Speichersystem. Jeder Datenbank-Cluster kann bis zu 64 TB Daten speichern, ohne dass eine Aufteilung erforderlich ist.

Fazit

DocumentDB ist der einzige verwaltete, MongoDB-kompatible Dienst von Amazon. Laut Amazon bietet DocumentDB den doppelten Durchsatz der aktuell verfügbaren MongoDB-Lösungen. Die Alternative wäre, Datenbanken auf EC2/EBS zu verwalten, was eine Herausforderung darstellt.

Wenn diese Garantien benötigt werden, ist DocumentDB oder die Verwendung von MongoDB eine Option. Ein weiterer Vorteil von DocumentDB ist, dass alles in AWS gespeichert wird.