Wir haben einige RDS-Tabellen, die riesig sind (über 700 GB), die wir in eine DynamoDB-Tabelle migrieren möchten. Können Sie eine Strategie oder eine Richtung vorschlagen, um dies sauber und parallel zu machen? Vielleicht mit EMR oder der AWS Data Pipeline.Brauchen Sie strategische Ratschläge für die Migration von großen Tabellen von RDS zu DynamoDB
Antwort
Sie können AWS Pipeline verwenden. Es gibt zwei grundlegende Vorlagen, eine für das Verschieben von RDS-Tabellen in S3 und die zweite für das Importieren von Daten von S3 in DynamoDB. Sie können Ihre eigene Pipeline mit beiden Vorlagen erstellen.
Grüße
eine Sache, mit so großen Daten zu prüfen ist, ob Dynamo die beste Option ist.
Wenn dies statistische Daten oder andere "Big Data" sind, lesen Sie AWS RedShift, das für Ihre Situation besser geeignet sein könnte.
Wir müssen zu einer denormalisierten, schemalosen Tabelle wechseln, um bestimmte Anwendungsfälle zu berücksichtigen, daher ist Dynamo die bessere Option für uns. –
@AnkitKapur - Dynamo ist nur gut, wenn Sie einen guten Hash-Schlüssel für Ihre Daten auswählen können! Lesen Sie die Dokumentation und vergewissern Sie sich, dass Sie die Einschränkungen und Best Practices von Dynamo verstanden haben, bevor Sie diese Route gehen. –
Wir haben eine ähnliche Arbeit gemacht und es gibt wahrscheinlich eine bessere Strategie, dies zu tun. Verwenden von AWS DMS und einiger Vorbereitungstabellen in Ihrer Quellinstanz
Dabei handelte es sich in zwei Schritten:
Sie erstellen neue Tabellen in Ihrer Quellinstanz, die genau mit dem DynamoDB Schema entsprechen. B. das Zusammenführen mehrerer Tabellen zu einem usw.
Richten Sie die DMS-Aufgabe mit den Vorbereitungstabellen als Quelle und DynamoDB als Ziel ein. Da die Vorbereitungstabellen und das Zielschema jetzt übereinstimmen, sollte es von diesem Punkt an ziemlich einfach sein.
Hoffnung, das hilft! Viel Glück!!
Vielen Dank, es wäre perfekt, wenn wir diese Vorlagen verwenden könnten, aber wir haben ** 2 mySQL-Tabellen **, die wir als ** 1 einzelne DynamoDB-Tabelle ** speichern möchten. Die Vorlagen haben Optionen, um mit einer einzelnen Tabelle zu arbeiten, aber nicht mit 2. Gibt es dafür eine Arbeit, die keine Vorverarbeitung beinhaltet? (das wäre unser letzter Ausweg - um die 2 mySQL-Tabellen in eine mySQL-Tabelle zu integrieren, weil es viel Zeit und Platz benötigen würde) –
Hallo Ankit. In diesem Fall müssen Sie einen EMR-Cluster in die Pipeline aufnehmen. Der Arbeitsablauf sollte wie folgt aussehen: Verschieben Sie beide Tabellen in getrennten CSVs nach S3, ein EMR-Cluster führt Tabellen zusammen und verbindet die Ausgabe mit S3, schließlich importieren Sie Ihre Daten in DynamoDB. Hier müssen Sie ein wenig für den Merge/Join-Job entwickeln. Import/Export nach S3 in EMR wird mit Hadoop-Befehlen einfach. – AGL