Nmedia - Fotolia

Die Funktionen der Cloud-NoSQL-Datenbank Amazon DynamoDB

Amazon DynamoDB ist ein leistungsstarker NoSQL-Datenbankservice, der komplett in der Cloud verwaltet wird und bei Entwicklungsprojekten unterstützt.

Die Amazon DynamoDB NoSQL-Datenbank ist ein leistungsstarker und flexibler Datenbankdienst. Die vollständig von Amazon in der Cloud verwaltete Datenbank unterstützt sowohl Dokument- als auch Schlüssel-Wert-Speichermodelle und bildet die Grundlage vieler Amazon Web Services (AWS). Aufgrund der Flexibilität des Datenmodells und der NoSQL-Fähigkeit eignet sich DynamoDB für einen breiten Bereich von Anwendungen – von Mobil über Web und Gaming bis hin zum digitalen Marketing und dem Internet der Dinge (IoT).

Da DynamoDB als Cloud-Datenbank konzipiert ist, benötigt man auf Anwenderseite weder einen Datenbankserver noch ein Schema. Der Anwender erstellt lediglich eine Datenbanktabelle, legt den Durchsatz fest und überlässt dem Service den Rest. Herkömmliche Datenbank-Administrationsaufgaben entfallen: Hardware- und Software-Provisioning, Setup und Konfiguration, Software-Patching, Upgrades, der Betrieb eines verteilten Datenbank-Clusters oder die Partitionierung von Daten über mehrere Instanzen – all dies ist nicht mehr notwendig.

Amazon DynamoDB Features

Die Kernkomponenten von Amazon DynamoDB sind Tabellen, Datenelemente und Attribute. Das Top-Level-Objekt in DynamoDB ist eine Tabelle. Dabei handelt es sich allerdings nicht um eine traditionelle relationale Tabelle – sondern um eine Tabelle, die aus so vielen Elementen zusammengesetzt ist, wie der Anwender benötigt. Die Datenelemente bestehen aus Attributen in Form von Name-Wert-Paaren, wobei jedes Element mindestens ein Attribut haben muss. Die maximale Größe eines Datenelements beträgt 400 KB. Alle Elemente in der Tabelle können sich in ihren Attributen unterscheiden und darin, was sie speichern. Die Tabelle ist mit anderen Worten schemalos.

Jedes Datenelement hat einen Partitionsschlüssel (Partition Key) und optional einen Sortierschlüssel (Sort Key). Der Partitionsschlüssel identifiziert das Datenelement und wird zum Erstellen des Hashs für das Speichern des Elements in einer physischen Partition verwendet. Der Sortierschlüssel wird genutzt, um die Items in der Partition zu ordnen – außerdem ermöglicht er detaillierte Abfragefunktionen. Ohne den Primärschlüssel oder einen sekundären Index lässt sich kein Element in einer DynamoDB-Tabelle abfragen.

Alle Daten werden auf SSD-Laufwerken gespeichert und über geografisch verteilte Verfügbarkeitszonen auf drei verschiedene Arten repliziert, so dass Redundanz und Fehlertoleranz immer garantiert sind.

Beim Lesen der Daten liefert Amazon DynamoDB Eventually Consistent (schließlich konsistent), aber der Nutzer kann Strongly Consistent (stark konsistent) festlegen, wenn dies erforderlich ist. Bei dieser Art des Lesevorgangs wird ein Ergebnis zurückgegeben, das alle erfolgreichen Schreibvorgänge einbezieht, die vor dem Lesevorgang erfolgt sind – was allerdings Auswirkungen auf den Durchsatz hat.

Arbeiten mit der DynamoDB NoSQL Cloud Datenbank

Anwendungen greifen auf DynamoDB-Daten über APIs zu. Es gibt drei primäre Operationen:

  1. Control Plane Operationen zum Erstellen und Verwalten von DynamoDB-Tabellen. Andere abhängige Objekte, wie zum Beispiel Indizes und Streams, können ebenfalls von diesen Operationen verwaltet werden.
  2. Data Plane Operationen zum Lesen und Schreiben von Daten über Create-, Read-, Update- und Delete-Aktionen auf Tabellendaten.
  3. DynamoDB Streams Operationen, mit denen ein Administrator einen Stream auf einer Tabelle aktivieren oder deaktivieren kann und die den Zugriff auf die in einem Stream enthaltenen Datenmodifikationsdatensätze erlauben.

Ein DynamoDB Stream ist ein geordneter Fluss von Informationen, um Datensätze in einer Tabelle zu ändern. Streams geben Anwendungen die Möglichkeit, Änderungen sofort in einem Datensatz zu erfassen, sobald die Änderung stattfindet. So kann unmittelbar auf eine Änderung reagiert werden.

Preise, Support und Benchmarks für DynamoDB

Um Amazon DynamoDB nutzen zu können, brauchen Anwender ein AWS-Konto. Werden Amazon-DynamoDB-Tabellen erstellt oder aktualisiert, muss der Benutzer die Kapazität angeben, um diese für Lese- und Schreibvorgänge zu reservieren. DynamoDB reserviert dann die notwendigen Ressourcen, um den Durchsatzbedarf mit konsistenter Leistung bei geringer Latenz zu decken. Abgerechnet wird über eine stundengenaue Flatrate auf Grundlage der bereitgestellten Kapazität.

Die Stundenpauschale berechnet sich aktuell für deutsche Nutzer wie folgt:

  • Schreibdurchsatz: 0,000793 US-Dollar pro Schreibkapazitätseinheit (WCU). Eine WCU bietet bis zu 3.600 Schreibvorgänge pro Stunde.
  • Lesedurchsatz: 0,0001586 US-Dollar pro Lesekapazitätseinheit (RCU). Eine RCU bietet bis zu 7.200 Lesevorgänge pro Stunde.

Bei kleinen Elementen kann eine Kapazitätseinheit eine Anforderung pro Sekunde bearbeiten (oder zwei Anforderungen pro Sekunde bei möglicherweise konsistenten Lesevorgängen). Größere Elemente erfordern möglicherweise mehr Kapazitätseinheiten zum Bearbeiten der gleichen Anforderungsrate. Der AWS Simple Monthly Calculator kann zur Berechnung der monatlichen Rechnung verwendet werden.

Neue AWS-Kunden können Amazon DynamoDB im Rahmen des kostenlosen Kontingents zwölf Monate testen. DynamoDB-Kunden erhalten kostenlos 25 GB Speicherplatz und bis zu 25 Schreibkapazitätseinheiten sowie bis zu 25 Lesekapazitätseinheiten. Außerdem erhält man einen Durchsatz zum Verarbeiten von 200 Millionen Anforderungen pro Monat.

Alle AWS Support-Stufen unterstützen eine unbegrenzte Anzahl von Support-Fälle mit monatlicher Abrechnung und ohne langfristige Verträge. Es gibt keine Mindestgebühr. Ein Unternehmen zahlt nur die Leistung, die es tatsächlich nutzt.

Entwickler und Anwender können unter folgenden Stufen wählen:

  • Basic (enthalten) bietet einen 24/7 Kundenservice.
  • Developer bietet zusätzlich zu Basic einen Best Practice Guide und eine garantierte Reaktionszeit auf Problemfälle von weniger als 12 Stunden.
  • Business bietet zusätzlich zu Devoloper API-Unterstützung und eine garantierte Reaktionszeit auf Problemfälle von weniger als einer Stunde.
  • Enterprise bietet zusätzlich zu Business direkten Zugang zu einem technischen Account Manager, zu Infrastruktur-Event-Management und garantiert Reaktionszeiten auf Problemfälle von weniger als 15 Minuten.

NoSQL-Datenbanken werden in der Regel mit dem Open Source Yahoo Cloud Serving Systems Benchmark (PDF) bewertet. Amazon selbst veröffentlichte zwar keine Benchmarks für Amazon DynamoDB, es existiert aber mindestens ein unabhängiger Benchmark mit positiven Ergebnissen.

Hinweis: Amazon bietet mit Amazon SimpleDB ein weiteres NoSQL-Datenbank-Management-System (DBMS), das für alle interessant sein kann, die nicht die hohe Geschwindigkeit und Skalierbarkeit von DynamoDB benötigen.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Cloud Computing

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close