0

Ich habe AWS DMS verwendet, um fortlaufende Replikation von MySql Aurora zu Redshift durchzuführen. Die fortlaufende Replikation verursacht jedoch eine konstante CPU-Last von 25-30% auf dem Ziel. Dies liegt daran, dass es viele kleine Dateien in S3 erzeugt und diese nonstop lädt/verarbeitet. Redshift ist nicht wirklich für die Handhabung einer großen Anzahl von kleinen Aufgaben ausgelegt.Wie AWS DMS MySql Aurora zu Redshift Replikation zu optimieren?

Um zu optimieren, habe ich es so gemacht, dass der Prozess zu Beginn jeder Stunde beginnt, wartet, bis das Ziel synchronisiert ist, und stoppt dann. Anstatt also kontinuierlich zu arbeiten, arbeitet es zu Beginn jeder Stunde für 5-8 Minuten. Trotzdem ist es immer noch sehr langsam und nicht optimiert, da es immer noch Hunderte von kleinen s3-Dateien verarbeiten muss, nur in kürzerer Zeit.

Kann dies noch weiter optimiert werden? Gibt es eine Möglichkeit, DMS zu sagen, diese Änderungen für längere Zeit zu puffern und nicht weniger große statt vieler kleiner s3-Dateien zu produzieren? Es macht uns nichts aus, eine höhere Ziellatenz zu haben.

Die Anzahl der zwischen Aurora und Redshift übertragenen Daten ist eher gering. Es gibt ~ 20K Änderungen pro Stunde, und wir verwenden 4-Knoten dc1.large redshift cluster. Es sollte diese 20K Änderungen in wenigen Sekunden, nicht Minuten

+0

Sie größere Dateien schreiben kann, auch tun Sie den gesamten Ordner verwenden, in Sie Befehle laden oder Laden Sie jede kleine Datei einzeln? – AlexYes

+0

@AlexJa ja, wenn manuell geladen. Die Last wird jedoch von der DMS-Replikationsinstanz selbst ausgeführt, und ich habe keine Kontrolle darüber. –

Antwort

Verwandte Themen