DynamoDB stellt eine vollständig verwaltete, serverlose NoSQL-Datenbank dar, die von Amazon entwickelt wurde. Für den Dienst sprechen vor allem die nahtlose Skalierung, Reaktionszeiten im Millisekundenbereich und der minimale Betriebsaufwand, aber ebenso die unkomplizierte AWS-Integration. Die Anwendungsfälle reichen von der Softwareentwicklung über die Skalierung von Gaming-Plattformen bis hin zu Echtzeit-Videostreaming.

Was ist DynamoDB?

Amazon DynamoDB ist ein serverloser NoSQL-Datenbankdienst für moderne Anwendungen jeglicher Größenordnung, der seit 2012 über AWS (Amazon Web Services) bereitgestellt wird. Im Gegensatz zu vielen Konkurrenzprodukten handelt es sich bei DynamoDB um eine komplett verwaltete Lösung. Aus diesem Grund besteht nicht die Notwendigkeit, sich um Aufgaben wie Upgrades, Aktualisierungen oder Skalierung zu kümmern. Das Datenbankmanagementsystem liefert zudem ein breites Repertoire an Sicherheitsfeatures und Compliance-Standards. Darüber hinaus lässt sich DynamoDB nahtlos in andere AWS-Dienste wie Lambda oder den Amazon OpenSearch Service integrieren.

Managed Database Services
Datenbanken – Auf´s Wesentliche konzentrieren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
  • Rechenzentren in Deutschland: Ihre Daten sind sicher

Die Struktur von DynamoDB

Die Struktur der Datenbank weist eine klare Hierarchie mit Tabellen als obersten Entitäten auf, zwischen denen – anders als bei relationalen Datenbanken – keine strikten Beziehungen bestehen. Daten speichert Amazon DynamoDB in Partitionen, die automatisch repliziert werden. Jede Partition besteht aus drei Knoten, die jeweils eine Datenkopie vorhalten, was eine einfache Skalierung ermöglicht und beim Ausfall eines Knotens für Redundanz sorgt. Entwicklerinnen und Entwickler legen Datensätze in Form von Attributen ab und weisen diesen einen eindeutigen Primärschlüssel zu. Die Datenbank unterstützt sowohl Key-Value-Datenmodelle als auch dokumentenorientierte Modelle.

Tabellenklassen in AWS DynamoDB

Mithilfe der Tabellenklassen lassen sich die Leistung und Kostenstruktur von DynamoDB-Tabellen optimieren. User können zwischen zwei Klassen wählen und innerhalb von 30 Tagen zweimal ohne Ausfallzeiten zwischen diesen wechseln, um die Kosten an Nutzungsmuster anzupassen:

  • DynamoDB Standard ist als Standardtabellenklasse für High-Performance-Workloads und Tabellen mit unvorhersehbaren Workloads konzipiert. Im Vergleich zeichnen sich die Standardtabellen durch geringere Kosten für Lese- und Schreibvorgänge aus.
  • DynamoDB Standard Infrequent Access wurde für Tabellen optimiert, bei denen Speicher der größte Kostenfaktor ist. IA-Standardtabellen punkten mit niedrigeren Speicherkosten. Die Klasse eignet sich aber ebenso ideal für Tabellen mit Daten, auf die nur selten zugegriffen wird.

Welche Funktionen bietet DynamoDB?

DynamoDB stellt eine Vielzahl leistungsfähiger Funktionen zur Verfügung, die skalierbare, hochverfügbare und reaktionsschnelle Anwendungen ermöglichen. Die nachfolgende Übersicht fasst die wichtigsten Features zusammen:

  • Schlüssel- und Dokumentdatenmodelle: Die Datenbank verfügt über ein flexibles Schema, das die Zuweisung vieler verschiedener Attribute für einzelne Elemente erlaubt.
  • ACID-Transaktionen: Die NoSQL-Datenbank bietet Transaktionen mit Atomarität, Konsistenz, Isolierung und Dauerhaftigkeit – kurz ACID – für unterschiedlichste Anwendungen. Dadurch wird es möglich, die Skalierung und Performance von DynamoDB auf ein breiteres Spektrum an geschäftsrelevanten Prozessen auszudehnen.
  • Globale Tabellen mit aktiv-aktiver Replikation: Globale Tabellen von DynamoDB sind multiaktiv, wodurch es Usern möglich ist, von jedem Replikat zu schreiben und zu lesen. Die Kapazität wird dabei automatisch an regionale Workloads angepasst.
  • DynamoDB Streams: Die Funktion dient dazu, Änderungsdaten zu erfassen. Wird ein Element in einer Tabelle erstellt, bearbeitet oder gelöscht, zeichnet DynamoDB Streams das Ereignis auf und speichert es für 24 Stunden.
  • Sekundärindizes: DynamoDB erlaubt sowohl lokale als auch globale Sekundärindizes, um Abfragen über alternative Schlüssel zu ermöglichen. Optional können sie als Sparse-Indizes implementiert werden, um gezielt nur Teilmengen der Daten zu indizieren.
  • Automatische Partitionierung: Daten werden automatisch auf mehrere Partitionen verteilt und bei Bedarf skaliert.
  • Sicherheitsfunktionen: Die Datenbank bietet umfangreiche Features, um die Sicherheit Ihrer Daten zu gewährleisten. Dazu zählen differenzierte Zugriffskontrollen, Verschlüsselung im Ruhezustand, punktgenaue Wiederherstellung, On-Demand-Backups und private Netzwerk-Konnektivität.
  • Kapazitätsmodelle: Nutzerinnen und Nutzer haben die Möglichkeit, zwischen einem On-Demand-Kapazitätsmodus und einem Modus für bereitgestellte Kapazität zu wählen.
  • DynamoDB Accelerator (DAX): Hierbei handelt es sich um einen optionalen Service für besseres Caching, der die Leistung bis auf das Zehnfache steigert.

Vorteile und Nachteile von Amazon DynamoDB

Amazons NoSQL-Service DynamoDB überzeugt vor allem durch folgende Stärken:

  • Automatische Skalierung: AWS DynamoDB passt Kapazität und Partitionierung dynamisch an den Durchsatz an, was grenzenloses horizontales Wachstum ermöglicht.
  • Serverlose Architektur: Das Datenbankmanagementsystem wird vollständig verwaltet. Dies ermöglicht es Nutzerinnen und Nutzern, den Fokus vollkommen auf die Entwicklung von Anwendungen zu richten, statt sich auf die grundlegende Infrastruktur konzentrieren zu müssen.
  • Hohe Verfügbarkeit: Multi-Region-Datenbanken und automatische Replikation gewährleisten eine Verfügbarkeit von bis zu 99,999 Prozent.
  • Niedrige Latenz: Die NoSQL-Datenbank liefert standardmäßig Lese- und Schreibzugriffe mit Latenzen im einstelligen Millisekundenbereich. Mit dem DynamoDB Accelerator lassen sich die Antwortzeiten bei Bedarf sogar in den Mikrosekundenbereich senken.
  • Einfache AWS-Integration: Die nahtlose Integration von AWS-Services wie CloudWatch oder Kinesis erweitert die Funktionalität von DynamoDB und ermöglicht zusätzliche Datenanalysen.
Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support

Obwohl die Vorzüge klar überwiegen und DynamoDB definitiv zu den besten SQL-Alternativen zählt, weist die Plattform auch einige Schwächen auf. Einerseits bietet die Datenbank nur begrenzte Abfrageoptionen, die weniger umfangreich ausfallen als bei vielen Konkurrenzangeboten. Andererseits erschwert die enge Verzahnung mit AWS-Diensten die Migration auf andere Plattformen. Bei On-Demand-Modellen besteht außerdem das Risiko, dass Lastspitzen zu unvorhersehbar hohen Gebühren führen.

Für welche Anwendungsgebiete eignet sich DynamoDB?

DynamoDB wurde gezielt für Workloads entwickelt, bei denen enorme Datenmengen mit sehr niedriger Latenz verarbeitet, skaliert und hochverfügbar bereitgestellt werden müssen. Zu den typischen Anwendungsfällen zählen unter anderem:

  • Serverlose Webanwendungen und Mobile Backends, bei denen Accountdaten, Sitzungen und Konfigurationen mit minimaler Latenz abgerufen werden
  • Gaming-Plattformen, bei denen Hunderttausende oder Millionen von Nutzerinnen und Nutzern gleichzeitig auf Spieleserver zugreifen
  • Content-Streaming für ein globales Publikum mit ungleichmäßigem beziehungsweise stoßweisem Datenverkehr
  • Banken und Finanzdienstleistungsunternehmen, die viele Transaktionen gleichzeitig und in Echtzeit verarbeiten müssen und zudem vor der Herausforderung stehen, die Aktualität sowie Sicherheit der Finanztransaktionen zu gewährleisten
  • IoT-Anwendungen (IoT = Internet of Things), die Sensordaten in großem Maßstab verarbeiten und speichern

Die wichtigsten Alternativen zu DynamoDB

Neben DynamoDB gibt es noch weitere Datenbanksysteme, die sich je nach Anforderungen, Datenmodell, Skalierung und Infrastruktur möglicherweise als Alternative anbieten. Dazu zählen vor allem:

  • MongoDB: Hohe Flexibilität und grenzenlose Skalierbarkeit
  • MySQL: Relationales System mit erstklassiger Verfügbarkeit
  • MariaDB: Open-Source-Alternative zu DynamoDB
  • PostgreSQL: Relationale Datenbanklösung mit Support für nicht-relationale Datentypen
  • Firebase von Google: Vor allem für mobile und Webanwendungen eine erstklassige Alternative
  • Apache Cassandra: Insbesondere für große Datenmengen ideal

Welche Vorteile die einzelnen DynamoDB-Alternativen im Detail bieten, erörtern wir im verlinkten Guide.

War dieser Artikel hilfreich?
Zum Hauptmenü