Features von Amazon DynamoDB

Warum DynamoDB?

Amazon DynamoDB ist eine Serverless-NoSQL-Datenbank, die Schlüsselwert- und Dokument-Datenmodelle unterstützt. Entwickler können DynamoDB verwenden, um moderne Serverless-Anwendungen zu erstellen, die klein anfangen und global skaliert werden können. DynamoDB skaliert, um Tabellen praktisch jeder Größe mit automatisierter horizontaler Skalierung zu unterstützen.

Da Verfügbarkeit und Fehlertoleranz in die Lösung integriert sind und nicht ausgeschaltet werden können, brauchen Sie bei der Auswahl der Architektur Ihrer Anwendungen diese Funktionen nicht zu berücksichtigen.

DynamoDB ist zur Ausführung hochleistungsfähiger, internetfähiger Anwendungen bestimmt, durch die herkömmliche relationale Datenbanken überlastet werden würden. Mit über zehn Jahren Pionierarbeit in Innovationen bietet DynamoDB grenzenlose Skalierbarkeit mit konsistenter Leistung im einstelligen Millisekundenbereich und einer Verfügbarkeit von bis zu 99,999 %.

Weitere Informationen zu neuen Features und Funktionen finden Sie unter Neuigkeiten bei DynamoDB.

Serverless-Leistung mit grenzenloser Skalierbarkeit

DynamoDB unterstützt sowohl Schlüssel-Wert- als auch Dokument-Datenmodelle. Als NoSQL-Datenbank verfügt DynamoDB über ein flexibles Schema, sodass jedes Element viele verschiedene Attribute haben kann. Auf diese Weise können Sie die Tabellen leicht an Ihre sich ändernden Geschäftsanforderungen anpassen, ohne das Tabellenschema, anders als bei relationalen Datenbanken, neu definieren zu müssen.

Mit DynamoDB müssen Sie keine Server bereitstellen, durch Patches korrigieren oder verwalten und keine Software installieren, warten oder betreiben. DynamoDB hat keine Versionen (Haupt-, Minor- oder Patch-Versionen), es gibt keine Wartungsfenster und DynamoDB bietet Wartungsarbeiten ohne Ausfallzeiten. Die On-Demand-Preise von DynamoDB bieten eine nutzungsabhängige Preisberechnung, eine Skalierung auf Null und eine automatische Skalierung der Tabellen zur Kapazitätsanpassung und Aufrechterhaltung der Leistung ohne Verwaltungsaufwand.

DynamoDB wurde für missionskritische Workloads entwickelt und unterstützt Transaktionen mit Atomarität, Kontinuität, Isolierung und Dauerhaftigkeit (ACID) für eine breite Palette von Anwendungen, die komplexe Geschäftslogik erfordern. DynamoDB bietet native, serverseitige Unterstützung für Transaktionen und vereinfacht das Entwicklungserlebnis durch koordinierte, „Alles-oder-nichts“-Änderungen an mehreren tabelleninternen oder tabellenübergreifenden Elementen.

DynamoDB unterstützt jetzt 100 Aktionen pro Transaktion und verbessert so die Produktivität der Entwickler. Durch unterstützte Transaktionen können Entwickler die Skalierung, Leistung und Unternehmensvorteile von DynamoDB auf eine breitere Palette geschäftskritischer Workloads ausdehnen.

Globale Tabellen von DynamoDB bieten eine aktiv-aktive Replikation Ihrer Daten in den AWS-Regionen Ihrer Wahl mit einer Verfügbarkeit von 99,999 %. Globale Tabellen sind multiaktiv, das heißt, Sie können von jedem Replikat schreiben und lesen, und Ihre global verteilten Anwendungen können lokal auf Daten in den ausgewählten Regionen zugreifen, um eine Lese- und Schreibleistung im einstelligen Millisekundenbereich zu erzielen.

Außerdem skalieren globale Tabellen automatisch die Kapazität, um Ihre Workloads in mehreren Regionen zu berücksichtigen. Globale Tabellen verbessern die Stabilität Ihrer Anwendung in mehreren Regionen und sollten als Teil der Business-Continuity-Strategie Ihres Unternehmens betrachtet werden.

DynamoDB Streams ist eine Funktion zur Erfassung von Änderungsdaten. Immer wenn eine Anwendung Elemente in einer Tabelle erstellt, aktualisiert oder löscht, zeichnet DynamoDB Streams eine zeitlich geordnete Abfolge aller Änderungen auf Elementebene nahezu in Echtzeit auf. Daher eignet sich der Service ideal für ereignisgesteuerte Architekturanwendungen, um die Änderungen zu verbrauchen und Aktionen einzuleiten. Alle Änderungen werden entdupliziert und 24 Stunden lang gespeichert.

Anwendungen können auch auf dieses Protokoll zugreifen und die Datenelemente nahezu in Echtzeit so anzeigen, wie sie vor und nach der Änderung angezeigt wurden. DynamoDB Streams stellt sicher, dass jeder Stream-Datensatz genau einmal im Stream erscheint, und für jedes geänderte Element erscheinen die Stream-Datensätze in derselben Reihenfolge wie die tatsächlichen Änderungen am Element.

Ähnlich wie bei allen anderen Datenbanksystemen erstellen Sie zunächst eine Tabelle, die eine Sammlung von Elementen ist. Bei DynamoDB hat jedes Element in der Tabelle seinen eigenen Primärschlüssel. Viele Anwendungen können auch von einem oder mehreren Sekundärschlüsseln profitieren, um Daten mithilfe anderer Attribute effizienter zu durchsuchen. DynamoDB bietet die Möglichkeit, sowohl globale als auch lokale Sekundärindizes zu erstellen, sodass Sie die Daten in der Tabelle mit einem sekundären oder alternativen Schlüssel abfragen können.

Globale Sekundärindizes werden auch als Sparse-Indizes bezeichnet. Diese bieten Ihnen nicht nur maximale Flexibilität beim Zugriff auf Ihre Daten, sondern können auch einen geringeren Schreibdurchsatz bei hervorragender Leistung zu geringeren Kosten bereitstellen.

Sicherheit und Zuverlässigkeit

DynamoDB nutzt AWS Identity and Access Management (IAM), um Ressourcen zu authentifizieren, zu erstellen und darauf zuzugreifen. Sie können IAM-Richtlinien und ressourcenbasierte Richtlinien angeben, mithilfe von Tags in den Richtlinien die attributebasierte Zugriffskontrolle (ABAC) definieren und Bedingungen angeben, die einen feinkörnigen Zugriff ermöglichen und den Lese- oder Schreibzugriff auf bestimmte Elemente und Attribute in einer Tabelle auf der Grundlage von Identitäten einschränken.

DynamoDB verschlüsselt standardmäßig alle Kundendaten im Ruhezustand. Die Verschlüsselung im Ruhezustand erhöht die Sicherheit Ihrer Daten, da Verschlüsselungsschlüssel verwendet werden, die im AWS Key Management Service (AWS KMS) gespeichert sind. Mit dem Hinzufügen des AWS-Datenbankverschlüsselungs-SDK können Sie eine Verschlüsselung auf Attributsebene durchführen, um eine differenzierte Zugriffssteuerung auf die Daten in Ihrer Tabelle zu erzwingen. Mit DynamoDB können Sie sicherheitsrelevante Anwendungen erstellen, die eine strenge Einhaltung der Verschlüsselungsvorschriften und der gesetzlichen Bestimmungen erfordern.

Verschlüsselungsschlüssel bieten eine zusätzliche Datenschutzebene, indem sie Ihre Daten vor unbefugtem Zugriff auf den zugrunde liegenden Speicher schützen. Sie können angeben, ob DynamoDB einen AWS-eigenen Schlüssel (Standardverschlüsselungstyp), einen von AWS verwalteten Schlüssel oder einen kundenverwalteten Schlüssel zum Verschlüsseln von Benutzerdaten verwenden soll. Die Standardverschlüsselung mit den AWS-KMS-Schlüsseln wird ohne zusätzliche Kosten bereitgestellt.

Mit der zeitpunktbezogenen Wiederherstellung (PITR) schützen Sie Ihre DynamoDB-Tabellen vor versehentlichen Schreib- und Löschvorgängen. PITR sorgt für durchgehende Backups Ihrer DynamoDB-Tabellendaten und Sie können diese Tabelle sekundengenau auf einen beliebigen Zeitpunkt innerhalb der vergangenen 35 Tage wiederherstellen.

PITR verwendet keine bereitgestellte Kapazität und hat keine Auswirkungen auf die Leistung oder Verfügbarkeit Ihrer Anwendungen. Mit nur einem Schritt in der AWS-Managementkonsole oder einem einzelnen API-Aufruf können Sie die PITR aktivieren oder Backup- und Wiederherstellungsvorgänge ausführen.

Durch On-Demand-Backup und -Wiederherstellung können Sie komplette Backups Ihrer DynamoDB-Tabellendaten zu Archivierungszwecken erstellen und so unternehmensweite und behördliche Anforderungen erfüllen. Sie können Tabellen mit nur wenigen Megabyte oder Hunderten von Terabyte von Daten sichern, ohne dass die Performance oder Verfügbarkeit Ihrer Anwendungen beeinträchtigt wird. Mit der AWS-Backup-Integration können Sie auch kontoübergreifende und regionsübergreifende On-Demand-Backups kopieren, die Kosten für Backups zuordnen und Backups in den Kaltspeicher übertragen.

DynamoDB unterstützt Gateway Virtual Private Cloud (VPC)-Endpunkte und Schnittstellen-VPC-Endpunkte für Verbindungen innerhalb einer VPC oder von On-Premises-Rechenzentren. Sie können die private Netzwerkkonnektivität von Ihren On-Premises-Anwendungen zu DynamoDB über Schnittstellen-VPC-Endpunkte konfigurieren, die mit AWS PrivateLink aktiviert sind. Auf diese Weise können Kunden die private Konnektivität zu DynamoDB vereinfachen und die Compliance gewährleisten.

Wirtschaftlichkeit

DynamoDB bietet Kapazitäts-Modi für jede Tabelle: On-Demand und bereitgestellt.

  • Bei weniger vorhersehbaren Workloads, bei denen Sie nicht sicher sind, ob Sie eine hohe Auslastung haben werden, übernimmt der On-Demand-Kapazitätsmodus die Verwaltung der Kapazität für Sie, und Sie zahlen nur für das, was Sie verbrauchen.
  • Bei Tabellen mit dem Modus für bereitgestellte Kapazität müssen Sie die Lese- und Schreibkapazität festlegen. Der Modus für bereitgestellte Kapazität ist in solchen Fällen kostengünstiger, in denen Sie sich einer guten Ausnutzung der von Ihnen angegebenen bereitgestellten Kapazität sicher sind. 

Bei Tabellen mit dem On-Demand-Kapazitätsmodus passt DynamoDB Ihre Workloads, wenn sie steigen oder sinken, sofort an einen beliebigen zuvor erreichten Stand des Datenverkehrs an. Wenn der Datenverkehr eines Workloads einen neuen Höchststand erreicht, passt sich DynamoDB schnell an den Workload an. Sie können optional auch den maximalen Lese- oder Schreibdurchsatz (oder beides) für einzelne On-Demand-Tabellen und zugehörige Sekundärindizes konfigurieren, um Kosten und Leistung einfach in Einklang zu bringen. Sie können den On-Demand-Kapazitätsmodus sowohl für neue als auch für vorhandene Tabellen verwenden und die vorhandenen DynamoDB-APIs weiterhin verwenden, ohne den Code ändern zu müssen.

Für Daten, auf die selten zugegriffen wird, können Sie die Standard-IA-Tabellenklasse von Amazon DynamoDB verwenden, mit der Sie Ihre DynamoDB-Kosten um bis zu 60 % senken können. Standard-IA-Tabellen mit niedrigeren Speicherkosten sind für die langfristige Speicherung von Daten konzipiert, auf die selten zugegriffen wird, wie Anwendungsprotokolle, historische Gaming-Daten, alte Social-Media-Beiträge und mehr. Sie bietet dieselbe Verfügbarkeit, Haltbarkeit und Leistung wie Amazon-DynamoDB-Standardtabellen, was für die meisten Workloads die standardmäßige und kostengünstigste Option ist.

Für Tabellen mit bereitgestellter Kapazität nimmt DynamoDB automatisch die Skalierung des Durchsatzes und des Speichers basierend auf der zuvor von Ihnen eingestellten Kapazität vor, die durch Überwachen der Leistungsnutzung Ihrer Anwendung bestimmt wird.

  • Wenn der Datenverkehr Ihrer Anwendung zunimmt, erhöht DynamoDB den Durchsatz je nach Belastung.
  • Wenn der Datenverkehr abnimmt, skaliert DynamoDB nach unten, sodass Sie weniger für ungenutzte Kapazität ausgeben.

Integrationen mit AWS-Services

Der Massenimport/-export aus Amazon Simple Storage Service (Amazon S3) hilft Ihnen dabei, mehr aus Ihren Daten herauszuholen, da Sie keinen Code schreiben müssen, um Ihre DynamoDB-Tabellen von einer Anwendung, einem Konto oder einer Region in eine andere zu verschieben, zu transformieren und zu kopieren. Beim Massenimport und -export wird die Lese- oder Schreibkapazität Ihrer Tabelle nicht verwendet, sodass Sie keine zusätzliche Kapazität planen oder bereitstellen müssen. Der Massenimport- und -exportvorgang wird vollständig von DynamoDB verwaltet.

Massenimporte aus Amazon S3 ermöglichen es Ihnen, Daten in jeder Größenordnung, von Megabyte bis Terabyte, mithilfe unterstützter Formate wie CSV, DynamoDB JSON und Amazon Ion zu importieren. Mit Massenimporten aus Amazon S3 können Kunden bis zu 66 % sparen gegenüber clientbasierten Schreibvorgängen mit bereitgestellter Kapazität.

Mit Massenexporten nach Amazon S3 können Sie Daten aus Tabellen exportieren, bei denen die zeitpunktbezogene Wiederherstellung (PITR) für jeden beliebigen Zeitpunkt der letzten 35 Tage mit einer sekundengenauen Granularität aktiviert ist. Sobald Sie Daten von DynamoDB nach Amazon S3 exportiert haben, können Sie andere AWS-Services wie Amazon Athena, Amazon SageMaker und mehr verwenden, um Ihre Daten zu analysieren und umsetzbare Erkenntnisse zu gewinnen.

Amazon Kinesis Data Streams für DynamoDB erfasst Änderungen auf Elementebene in Ihren Amazon-DynamoDB-Tabellen, um Live-Dashboards zu unterstützen, Metriken zu generieren und Daten in Data Lakes bereitzustellen. Mit dieser Funktion können Sie fortschrittliche Streaming-Anwendungen entwickeln, z. B. die Protokollaggregation in Echtzeit, die Geschäftsanalysen in Echtzeit und die IoT-Datenerfassung.

Über Kinesis Data Streams können Sie auch Amazon Kinesis Data Firehose verwenden, um DynamoDB-Daten automatisch in anderen AWS-Services wie Amazon S3, Amazon OpenSearch Service und Amazon Redshift bereitzustellen.

Um Ihre Datenbankleistung einfach zu überwachen, ist DynamoDB in Amazon Cloudwatch integriert, das Rohdaten zur Datenbankleistung sammelt und verarbeitet. Sie können CloudWatch verwenden, um benutzerdefinierte Ansichten und Dashboards von Metriken und Alarmen für Ihre DynamoDB-Datenbanken zu erstellen. Diese Überwachungsfunktion wird standardmäßig angeboten und ist kostenlos. Sie können auch Alarme erstellen, die auf der Grundlage der Metrik-Leistung automatisch an Sie gesendet werden.

Mit Amazon CloudWatch Contributor Insights können Sie schnell erkennen, wer oder was sich auf Ihre Datenbanken und Anwendungsleistung auswirkt. Diese Funktion macht es einfach, Probleme während eines Betriebsereignisses schneller zu isolieren, zu diagnostizieren und zu beheben.

Häufig gestellte Fragen

Zu den einzigartigen Vorteilen von DynamoDB gehört, dass es sich um eine bewährte, vollständig verwaltete, Scale-to-Zero-Serverless-Datenbank handelt, die eine Leistung im einstelligen Millisekundenbereich und eine Verfügbarkeit von bis zu 99,999 % bietet. Mit der gleichbleibenden Leistung im großen Maßstab bietet DynamoDB auch integrierte Sicherheit, Haltbarkeit und Zuverlässigkeit, die für globale Anwendungen mit den strengsten Anforderungen erforderlich sind.

Aufgrund der Benutzerfreundlichkeit und grenzenlosen Skalierbarkeit wird DynamoDB häufig sowohl für neue moderne Anwendungen als auch für etablierte Internetanwendungen ausgewählt, die eine gleichbleibend schnelle Leistung mit grenzenloser Skalierbarkeit anstreben.

DynamoDB wurde für Entwickler entworfen und da es Serverless ist, lässt es sich mithilfe unserer technischen Dokumentation sehr einfach einrichten.