Laden von Daten aus DynamoDB in Amazon Redshift - 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.

Laden von Daten aus DynamoDB in Amazon Redshift

Amazon Redshift ergänzt Amazon DynamoDB um hochentwickelte Business-Intelligence-Funktionen und eine leistungsfähige Schnittstelle auf SQL-Basis. Wenn Sie Daten aus einer DynamoDB-Tabelle in Amazon Redshift kopieren, können Sie komplexe Datenanalyseabfragen für diese Daten ausführen, einschließlich Joins mit anderen Tabellen im Amazon-Redshift-Cluster.

Im Hinblick auf den bereitgestellten Durchsatz wird eine Kopieroperation aus einer DynamoDB-Tabelle der Lesekapazität der Tabelle zugerechnet. Nachdem die Daten kopiert wurden, wirken sich die SQL-Abfragen in Amazon Redshift nicht auf DynamoDB aus. Dies liegt daran, dass Ihre Abfragen auf eine Kopie der Daten aus DynamoDB und nicht auf DynamoDB selbst wirken.

Vor dem Laden von Daten aus einer DynamoDB-Tabelle müssen Sie zunächst eine Amazon-Redshift-Tabelle als Ziel für die Daten erstellen. Hinweis: Sie kopieren dabei Daten aus einer NoSQL-Umgebung in eine SQL-Umgebung und die Regeln in einer Umgebung gelten nicht unbedingt in der anderen. Im Folgenden sind einige der Unterschiede aufgeführt:

  • DynamoDB-Tabellennamen können bis zu 255 Zeichen enthalten, einschließlich „.“ (Punkt) und „-“ (Bindestrich); außerdem muss die Groß- und Kleinschreibung beachtet werden. Amazon Redshift-Tabellennamen sind auf 127 Zeichen beschränkt, dürfen keine Punkte oder Bindestriche enthalten und die Groß-/Kleinschreibung braucht nicht beachtet werden. Außerdem dürfen bei Tabellennamen keine Konflikte mit einem für Amazon Redshift reservierten Wort auftreten.

  • DynamoDB unterstützt das SQL-Konzept NULL nicht. Sie müssen festlegen, wie Amazon Redshift leere Attributwerte in DynamoDB interpretieren soll, d. h. entweder als NULL oder als leer.

  • DynamoDB-Datentypen entsprechen nicht direkt den Datentypen von Amazon Redshift. Sie müssen dafür sorgen, dass jede Spalte in der Amazon-Redshift-Tabelle den richtigen Datentyp und die entsprechende Größe besitzt, um die Daten aus DynamoDB aufnehmen zu können.

Nachfolgend ist ein COPY-Befehl aus Amazon-Redshift-SQL als Beispiel aufgeführt:

copy favoritemovies from 'dynamodb://my-favorite-movies-table' credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' readratio 50;

In diesem Beispiel lautet die Quelltabelle in DynamoDB my-favorite-movies-table. Die Zieltabelle in Amazon Redshift ist favoritemovies. Die readratio 50-Klausel regelt den Verbrauch des bereitgestellten Durchsatzes (in Prozent). In diesem Fall belegt der COPY-Befehl nicht mehr als 50 % der für my-favorite-movies-table bereitgestellten Lesekapazitätseinheiten. Wir empfehlen dringend, dieses Verhältnis auf einen Wert festzulegen, der kleiner als der durchschnittliche, nicht genutzte, bereitgestellte Durchsatz ist.

Ausführliche Anweisungen zum Laden von Daten aus DynamoDB in Amazon Redshift finden Sie in den folgenden Abschnitten imAmazon-Redshift-Datenbankentwicklerleitfaden: