Hauptunterschiede zwischen SQL und DynamoDB beim Lesen von Daten aus einer Tabelle - 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.

Hauptunterschiede zwischen SQL und DynamoDB beim Lesen von Daten aus einer Tabelle

Mit verwenden Sie die SELECT AnweisungSQL, um eine oder mehrere Zeilen aus einer Tabelle abzurufen. Sie verwenden die WHERE-Klausel, um die Daten zu bestimmen, die an Sie zurückgesendet werden.

Dies unterscheidet sich von der Verwendung von Amazon DynamoDB, das die folgenden Operationen zum Lesen von Daten bereitstellt:

  • ExecuteStatement ruft ein einzelnes oder mehrere Elemente aus einer Tabelle ab. BatchExecuteStatement ruft mehrere Elemente aus verschiedenen Tabellen in einem einzigen Vorgang ab. Beide Operationen verwenden PartiQL, eine SQL -kompatible Abfragesprache.

  • GetItem – Ruft ein einzelnes Element aus einer Tabelle ab. Dies ist die effizienteste Methode, um ein einzelnes Element zu lesen, da sie direkten Zugriff auf den physischen Standort des Elements ermöglicht. (DynamoDB bietet auch die BatchGetItem-Operation, mit der Sie bis zu 100 GetItem-Aufrufe in einer einzigen Operation ausführen können.)

  • Query – Ruft alle Elemente mit einem bestimmten Partitionsschlüssel ab. Innerhalb dieser Elemente können Sie eine Bedingung auf den Sortierschlüssel anwenden und nur eine Teilmenge der Daten abrufen. Query ermöglicht schnellen und effizienten Zugriff auf die Partitionen, in denen die Daten gespeichert sind. (Weitere Informationen finden Sie unter Partitionen und Datenverteilung.)

  • Scan – Ruft alle Elemente in der angegebenen Tabelle ab. (Diese Operation sollte nicht über großen Tabellen ausgeführt werden, da sie große Mengen an Systemressourcen belegen kann.)

Anmerkung

Mit einer relationalen Datenbank können Sie die SELECT-Anweisung verwenden, um Daten aus mehreren Tabellen zu verknüpfen und die Ergebnisse zurückzugeben. Joins (Verknüpfungen) sind eine Voraussetzung für das relationale Modell. Um sicherzustellen, dass Joins effizient ausgeführt werden, sollten die Datenbank und die zugehörigen Anwendungen kontinuierlich leistungsoptimiert werden. DynamoDB ist eine nicht-relationale SQL No-Datenbank, die keine Tabellenverknüpfungen unterstützt. Stattdessen lesen die Anwendungen die Daten aus den Tabellen nacheinander aus.

In den folgenden Abschnitten werden die verschiedenen Anwendungsfälle für das Lesen von Daten sowie Anleitungen zum Ausführen dieser Aufgaben mit einer relationalen Datenbank und mit DynamoDB beschrieben.