Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie verwende ich AWS DMS Batch Apply, um die CDC-Replikationsleistung zu verbessern?
Ich möchte die Leistung der Change Data Capture (CDC)-Replikation bei Volllast und CDC AWS Database Migration Service (AWS DMS)-Aufgabe verbessern. Die Quelllatenz ist nicht hoch, aber die Ziellatenz ist hoch oder nimmt zu.
Kurzbeschreibung
Standardmäßig verwendet AWS DMS Transactional Apply, um Daten in der CDC-Phase zu replizieren. Wenn deine Aufgabe eine hohe Anzahl von Transaktionen von der Quelle erfasst und eine Ziellatenz verursacht, kannst du die Batch Apply-Einstellung aktivieren.
Hinweis: Das Amazon Redshift-Ziel verwendet standardmäßig Batch Apply. Das Amazon Simple Storage Service (Amazon S3)-Ziel muss Transactional Apply verwenden.
Batch Apply funktioniert nur bei Tabellen mit einem Primärschlüssel oder einem eindeutigen Index. Bei Tabellen ohne Primärschlüssel oder eindeutigen Index wendet Bulk Apply das Einfügen nur im Bulk-Modus an und führt dann nacheinander Aktualisierungen und Löschungen durch. Wenn die Tabelle einen Primärschlüssel oder eindeutigen Index hat, aber in den Einzelmodus wechselt, findest du weitere Informationen unter Wie kann ich das Problem beheben, dass Amazon Redshift in den Einzelmodus gewechselt hat?
Wenn du LOB-Spalten (Large Binary Object) in die Replikation einbeziehst, kannst du BatchApplyEnabled nur im eingeschränkten LOB-Modus verwenden. Weitere Informationen findest du unter Aufgabeneinstellungen für Zielmetadaten.
Hinweis: Wenn du BatchApplyEnabled auf true setzt und dein Ziel eine eindeutige Einschränkung hat, generiert AWS DMS eine Fehlermeldung.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
BatchApplySetting ist standardmäßig deaktiviert. Um diese Einstellung zu aktivieren, verwende entweder die AWS CLI oder die AWS DMS-Konsole. Bevor du Batch Apply aktivierst, erstelle einen IAM-Benutzer mit programmatischem Zugriff.
AWS CLI verwenden, um Batch Apply zu aktivieren
Führe die folgenden Schritte aus:
- Öffne das System, in dem du die AWS CLI verwendest.
- Führe den Befehl configure aus, um die AWS-CLI-Eingabeaufforderung zu öffnen.
- Gib deine AWS-Zugangsschlüssel-ID ein.
- Gib deine geheime AWS-Schlüssel-ID ein.
- Gib die AWS-Region deiner AWS-DMS-Ressourcen ein.
- Gib das Ausgabeformat ein.
- Vergewissere dich, dass sich die Aufgabe im Status stopped befindet.
- Führe den Befehl modify-replication-task mit der folgenden Batch-Einstellung aus:
Hinweis: Ersetze replication-task-arn durch deinen Amazon-Ressourcennamen (ARN) und region durch deine Region.aws dms modify-replication-task --replication-task-arn arn:aws:dms:region:123456789123:task:4VUCZ6ROH4ZYRIA25M3SE6NXCM --replication-task-settings "{\"TargetMetadata\":{\"BatchApplyEnabled\":true}}" - Öffne die AWS-DMS-Konsole.
- Wähle im Navigationsbereich unter Migrieren oder replizieren die Option Aufgaben aus.
- Wähle deine Aufgabe aus und wähle dann Aufgabeneinstellungen (JSON) aus.
- Vergewissere dich, dass BatchApplyEnabled auf enabled gesetzt ist.
AWS-DMS-Konsole verwenden, um Batch Apply zu aktivieren
Führe die folgenden Schritte aus:
- Öffne die AWS-DMS-Konsole.
- Wähle im Navigationsbereich unter Migrieren oder replizieren die Option Aufgaben aus.
- Wähle deine Aufgabe aus und klicke dann auf Ändern.
- Wähle im Abschnitt Aufgabeneinstellungen den JSON-Editor aus.
- Ändere BatchApplyEnabled unter TargetMetadata auf true.
- Wähle Speichern aus.
Problembehandlung bei einem hohen CDCLatencyTarget-Wert, nachdem du eine Aufgabe im Batch-Modus ausgeführt hast
Wenn der Wert von CDCLatencyTarget hoch ist, nachdem du die Aufgabe im Batch-Modus ausgeführt hast, kann es aus den folgenden Gründen zu Latenz kommen:
- Du hast eine Transaktion mit langer Laufzeit auf dem Ziel, da es keinen Primär- und Sekundärindex gibt.
- Deine Ressourcen sind nicht ausreichend verfügbar, um die Arbeitslast zielgerichtet zu verarbeiten.
- Du hast hohe Ressourcenkonflikte auf deiner AWS-DMS-Replikations-Instance.
Informationen zur Behebung hoher Latenz findest du unter Beheben von Latenzproblemen im AWS Database Migration Service.
Ähnliche Informationen
- Sprache
- Deutsch
