Wählen Sie zwischen relational () und Nein SQL SQL - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wählen Sie zwischen relational () und Nein SQL SQL

Aktuelle Anwendungen stellen mehr anspruchsvolle Anforderungen als je zuvor. Beispielsweise beginnt ein Online-Spiel mit nur wenigen Benutzern und einer sehr kleinen Datenmenge. Wenn das Spiel jedoch erfolgreicher wird, kann es die Ressourcen des zugrunde liegenden Datenbankmanagementsystems sehr schnell überfordern. Häufig haben webbasierte Anwendungen Hunderte, Tausende oder Millionen von Benutzern gleichzeitig, wobei mehrere Terabyte an neuen Daten pro Tag generiert werden. Datenbanken für diese Anwendungen müssen Zehntausende (oder Hunderttausende) von Lese- und Schreibvorgängen pro Sekunde verarbeiten.

Amazon DynamoDB eignet sich besonders für solche Workloads. Als Entwickler können Sie in kleinem Maße beginnen und diesen schrittweise erhöhen, wenn Ihre Anwendung an Beliebtheit gewinnt. DynamoDB lässt sich nahtlos skalieren, um sehr große Datenmengen und sehr große Benutzerzahlen zu verarbeiten.

Weitere Informationen zur herkömmlichen relationalen Datenbankmodellierung und deren Anpassung an DynamoDB finden Sie unter Bewährte Methoden für die Modellierung relationaler Daten in DynamoDB.

Die folgende Tabelle zeigt einige grundlegende Unterschiede zwischen einem relationalen Datenbankmanagementsystem (RDBMS) und DynamoDB.

Merkmal Relationales Datenbankmanagementsystem () RDBMS Amazon-DynamoDB
Optimale Workloads Ad-hoc-Abfragen; Data Warehousing; OLAP (analytische Online-Verarbeitung). Web-Scale-Anwendungen, einschließlich sozialer Netzwerke, Gaming, gemeinsamer Mediennutzung und Internet of Things (IoT).
Datenmodell Das relationale Modell erfordert ein eindeutig definiertes Schema, in dem Daten in Tabellen, Zeilen und Spalten standardisiert werden. Darüber hinaus werden alle Beziehungen zwischen Tabellen, Spalten, Indizes und sonstige Datenbankelementen definiert. DynamoDB ist schemalos. Jede Tabelle muss über einen Primärschlüssel verfügen, um jedes Datenelement eindeutig zu identifizieren. Es gibt jedoch keine ähnlichen Einschränkungen bei anderen Nicht-Schlüsselattributen. DynamoDB kann strukturierte oder halbstrukturierte Daten, einschließlich Dokumente, verwalten. JSON
Datenzugriff SQList der Standard für das Speichern und Abrufen von Daten. Relationale Datenbanken bieten eine Vielzahl von Tools zur Vereinfachung der Entwicklung datenbankgestützter Anwendungen, aber alle diese Tools verwenden diese Tools. SQL Sie können das AWS Management Console, das oder Nein verwenden AWS CLI, um mit DynamoDB SQL WorkBench zu arbeiten und Ad-hoc-Aufgaben auszuführen. Mit PartiQL, einer SQL -kompatiblen Abfragesprache, können Sie Daten in DynamoDB auswählen, einfügen, aktualisieren und löschen. Anwendungen können die AWS Software Development Kits (SDKs) verwenden, um mit DynamoDB zu arbeiten und dabei objektbasierte, dokumentenzentrierte oder einfache Schnittstellen zu verwenden.
Leistung Da relationale Datenbanken für das Speichern optimiert sind, hängt die Leistung in der Regel vom Datenträgersubsystem ab. Developer und Datenbankadministratoren müssen Abfragen, Indizes und Tabellenstrukturen optimieren, um Spitzenleistung zu erreichen. Da DynamoDB für die Datenverarbeitung optimiert ist, stellt die Leistung hauptsächlich eine Funktion der zugrunde liegenden Hardware und Netzwerklatenz dar. Als verwalteter Service schützt DynamoDB Sie und Ihre Anwendungen vor diesen Implementierungsdetails, sodass Sie sich darauf konzentrieren können, robuste High-Performance-Anwendungen zu entwerfen und zu entwickeln.
Skalierung Eine Skalierung nach oben ist durch den Einsatz schnellerer Hardware am einfachsten. Datenbanktabellen können sich auch über mehrere Hosts in einem verteilten System erstrecken. Dazu sind allerdings zusätzliche Investitionen erforderlich. Relationale Datenbanken unterliegen Höchstwerten im Hinblick auf die Anzahl und Größe der Dateien, wodurch der Skalierbarkeit Obergrenzen gesetzt werden. DynamoDB wurde für die horizontale Skalierung mithilfe verteilter Hardwarecluster entwickelt. Dieses Design ermöglicht einen größeren Durchsatz ohne höhere Latenz. Kunden legen ihre Durchsatzanforderungen fest und DynamoDB weist ausreichende Ressourcen zu, um diesen Anforderungen gerecht zu werden. Es gibt weder in Bezug auf die Anzahl der Elemente pro Tabelle noch die Gesamtgröße dieser Tabelle Beschränkungen.