View a markdown version of this page

AWS DMS Daten werden neu synchronisiert - AWS Datenbankmigrationsdienst

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.

AWS DMS Daten werden neu synchronisiert

AWS Database Migration Service (AWS DMS) Die erneute Datensynchronisierung behebt automatisch Dateninkonsistenzen, die bei der Datenvalidierung zwischen Ihrer Quell- und Zieldatenbank festgestellt wurden. Diese Funktion ist Teil Ihrer vorhandenen DMS-Migrationsaufgaben und stellt sicher, dass die richtigen Aktualisierungen auf der Grundlage Ihrer Aufgabenkonfigurationen, Verbindungseinstellungen, Tabellenzuordnungen und Transformationen erfolgen.

Die Funktion zum erneuten Synchronisieren von Daten liest Validierungsfehler aus einer Steuertabelle in der Zieldatenbank und führt entsprechende Korrekturvorgänge aus. Wenn eine Nichtübereinstimmung festgestellt wird, werden die aktuellen Daten mithilfe des im Fehlerdatensatz gespeicherten Primärschlüssels von der Quelle abgerufen und unter Berücksichtigung aller konfigurierten Transformationen auf das Ziel angewendet. Weitere Informationen finden Sie unter awsdms_validation_failures_v2-Steuertabelle.

Das Verhalten variiert je nach Migrationstyp. Bei Aufgaben, die nur Volllast erfordern, wird die Resynchronisierung der Daten einmal ausgeführt, nachdem der erste Ladevorgang und die Validierung abgeschlossen sind. Bei Aufgaben mit Change Data Capture (CDC) erfolgt die Resynchronisierung der Daten nach einem konfigurierten Zeitplan, wobei die Replikation und Validierung vorübergehend unterbrochen werden, während die Korrekturen angewendet werden.

Bei CDC-Neusynchronisierungsvorgängen:

  • Replikation und Validierung werden vorübergehend unterbrochen.

  • Bei der erneuten Datensynchronisierung werden bestehende Validierungsfehler verarbeitet.

  • Die normale Replikation und Validierung werden wieder aufgenommen.

  • Der Vorgang wird gemäß Ihrem konfigurierten Zeitplan wiederholt.

Die erneute Datensynchronisierung verfolgt automatisch den Status jedes Reparaturvorgangs und liefert detaillierte Messwerte anhand von Tabellenstatistiken.

Voraussetzungen:

Für die Funktion zum erneuten Synchronisieren von Daten sind die folgenden Voraussetzungen erforderlich:

  • Sie müssen die AWS DMS Engine-Version 3.6.1 oder höher haben.

  • Sie müssen die Einstellungen für Zeitplan und Zeitdauer für Aufgaben konfigurieren, die fortlaufend repliziert werden. Für Aufgaben, die nur Volllast verwenden, sind diese Einstellungen nicht erforderlich.

Einschränkungen

Die Funktion zum erneuten Synchronisieren von Daten hat folgende Einschränkungen:

  • Data Resync unterstützt nur Oracle und SQL Server als Quelldatenbank.

  • Data Resync unterstützt PostgreSQL und Amazon Aurora PostgreSQL-kompatible Engine als Zieldatenbank.

  • Alle Tabellen in Ihrer Quell- und Zieldatenbank müssen Primärschlüssel haben. Die Validierung unterstützt keine Tabellen ohne Primärschlüssel oder eindeutigen Schlüssel. Alle Tabellen, die keinen gültigen Primärschlüssel oder eindeutigen Schlüssel haben, werden von der Überprüfung ausgeschlossen, und es werden keine Überprüfungsfehler gemeldet.

  • Bei der Ausführung von Full-load-only Aufgaben muss die Datenüberprüfung aktiviert sein.

  • Die Neusynchronisierung von Daten kann nicht für Aufgaben aktiviert werden, die nur zur Überprüfung bestimmt sind, da sie keine Daten replizieren. Sie können die Neusynchronisierung für die übergeordnete Replikationsaufgabe aktivieren, indem Sie nur die Validierung angeben. taskID Weitere Informationen finden Sie unter Nur Validierungsaufgaben.

  • Wenn für die Aufgabe „Nur ÜberprüfungControlSchema“ eine Parametereinstellung in den Aufgabeneinstellungen konfiguriert ist, muss auch die Replikationsaufgabe dieselbe Parameterkonfiguration haben, damit die Daten neu synchronisiert werden können, um die richtigen Überprüfungsfehler zu finden.

  • Sie müssen die Einstellungen für den Zeitplan und die Zeitdauer für CDC-Aufgaben konfigurieren.

  • Während des Neusynchronisierungsfensters kann sich die Neusynchronisierung der Daten auf die Replikationslatenz in DMS auswirken.

Weitere Informationen zur Problembehandlung bei Validierungen AWS DMS während der erneuten Datensynchronisierung finden Sie im Abschnitt Problembehandlung unter Datenvalidierung. https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting AWS DMS

Planung und Zeitpunkt

Für Aufgaben mit CDC müssen Sie konfigurieren, wann und wie lange die erneute Datensynchronisierung ausgeführt wird. Dadurch wird verhindert, dass Ihre normalen Replikationsvorgänge beeinträchtigt werden. Sie spezifizieren:

  • Ein Zeitplan, der das Cron-Format verwendet, um zu definieren, wann Resynchronisierungsvorgänge stattfinden können.

  • Eine maximale Dauer, um sicherzustellen, dass Resynchronisierungsvorgänge nicht in Zeiten mit hoher Auslastung andauern.

Es wird empfohlen, Neusynchronisierungsvorgänge außerhalb der Spitzenzeiten oder für einen Zeitraum zu planen, in dem die Quelldatenbank nur minimal oder gar nicht geändert wird.

Anmerkung

Die geplante Zeit beinhaltet das Warten, bis der Apply-Zielstream leer ist, da die Neusynchronisierung der Daten und die normale Replikation nicht gleichzeitig ausgeführt werden können.

Anwendungsfälle

Mit der Funktion zum erneuten Synchronisieren von Daten können Benutzer Dateninkonsistenzen zwischen Quell- und Zielsystemen ausgleichen. Es identifiziert nicht übereinstimmende Datensätze und synchronisiert sie, um die Datenkonsistenz in verteilten Umgebungen aufrechtzuerhalten. Die folgenden Anwendungsfälle veranschaulichen gängige Szenarien, in denen die Funktion zur erneuten Datensynchronisierung Probleme mit der Datenkonsistenz löst:

Szenario 1: Aufgabe vollständig laden — führen Sie die Resynchronisierung mit derselben DMS-Aufgabe aus

In Ihrer bestehenden DMS-Volllast-Migrationsaufgabe können Sie Folgendes tun:

  • Validierung aktivieren:. Validation with data migration = true

  • Resynchronisierung aktivieren: Data resync = true

Szenario 2: Volllast und CDC, reine CDC-Aufgabe — führen Sie die Resynchronisierung mit derselben DMS-Aufgabe aus

In Ihrer bestehenden DMS-CDC-Migrationsaufgabe können Sie Folgendes tun:

  • Validierung aktivieren:. Validation with data migration = true

  • Resynchronisierung aktivieren: Data resync = true

  • Geben Sie den Zeitplan für die Resynchronisierung an:. "ResyncSchedule": "0 0,2,4,6 * * *"

  • Geben Sie die Uhrzeit für die erneute Synchronisierung an: MaxResyncTime": 60

Szenario 3: Volllast und CDC- oder CDC-Aufgabe für Replikation und Resynchronisierung in Kombination mit einer reinen Validierungsaufgabe

Wenn Sie Resync verwenden, um einen reinen Validierungsvorgang in einer anderen DMS-Aufgabe durchzuführen, können Sie wie folgt vorgehen:

  • Erstellen Sie eine DMS-CDC-Aufgabe nur zur Validierung.

    Anmerkung

    Sie müssen die ID dieser Aufgabe bei der erneuten Datensynchronisierung notieren und angeben.

  • Deaktivieren Sie in Ihrer primären CDC-Aufgabe die Validierung:. Data validation = false

  • Resynchronisierung aktivieren: Data resync = true

  • Geben Sie den Zeitplan für die Resynchronisierung an:. "ResyncSchedule": "0 0,2,4,6 * * *"

  • Geben Sie die Uhrzeit für die Resynchronisierung an:. MaxResyncTime": 60

  • Geben Sie die ID der DMS-CDC-Aufgabe an, die nur zur Validierung bestimmt ist. Die Aufgaben-ID, die nur für die Validierung bestimmt ist, wird am Ende von ARN angehängt. Beispiel: ARN: arn:aws:dms:us-west-2:123456789012:task:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI und Aufgaben-ID nur für die Validierung zum Beispiel:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI.

Bewährte Methoden

Sie können die Funktion zum erneuten Synchronisieren von Daten nutzen AWS Database Migration Service , um die Haltbarkeit Ihrer Replikationsaufgaben zu verbessern und Konsistenz zu erreichen. Einige der bewährten Methoden zur Verwendung der Funktion „Daten neu synchronisieren“ sind:

  • Im Rahmen der Neusynchronisierung von Daten werden Datensätze, die nicht übereinstimmen, behoben, indem sie aus der Quelle abgerufen und auf die Zieldatenbank angewendet werden. Wenn die Quelldatenbank während des Resync-Fensters aktualisiert wird, liest Resync den neuesten Datensatzwert und wendet ihn auf das Ziel an. Dies kann dazu führen, dass CDC-Apply-Ereignisse fehlschlagen und zu temporären Inkonsistenzen in der Zieldatenbank führen. Um dies zu vermeiden, müssen Sie das Neusynchronisierungsfenster außerhalb der Geschäftszeiten oder in Zeiten einplanen, in denen die Änderungen an der Quelldatenbank Null oder minimal sind.

  • Legen Sie das Fenster für die Neusynchronisierung in Zeiten minimaler Aktivität der Quelldatenbank fest, und zwar innerhalb Ihres akzeptablen Ziel-Latenzschwellenwerts. Kleine Resynchronisierungsintervalle können dazu führen, dass sich nicht verarbeitete Validierungsfehler anhäufen, während große Fenster die Replikationslatenz erhöhen können, wenn viele Validierungsfehler auftreten. Überwachen Sie die Validierungsfehler und die Resynchronisierungsraten, um optimale Zeitfenster für die Neusynchronisierung während Zeiten der Inaktivität der Quelle zu ermitteln. Einige Beispiele für die Einrichtung der Resync-Fenster sind:

    • Konfiguration mehrerer kurzer Fenster:

      "ResyncSchedule": "0 0,2,4,6 * * *", "MaxResyncTime": 60
    • Konfiguration eines einzelnen täglichen Fensters:

      "ResyncSchedule": "0 0 * * *", "MaxResyncTime": 360
  • Überwachen Sie die Replikationslatenz im DMS während der Neusynchronisierungsfenster und passen Sie den Zeitplan entsprechend an, um große Spitzen zu vermeiden.

  • Sie können die Ergebnisse der Neusynchronisierung anhand von Tabellenstatistiken überprüfen oder indem Sie die Tabelle in der Zieldatenbank abfragen. awsdms_validation_failures_v2 Weitere Informationen finden Sie unter Überwachung von Replikationsaufgaben mit Amazon. CloudWatch

  • Wenn sich die Aufgabe in einer laufenden Replikationsphase befindet, vermeiden Sie es, während des Neusynchronisierungsfensters ein erneutes Laden einzelner Tabellen zu initiieren.

  • Bewährte Methoden für eine CDC-Replikationsaufgabe:

    • Alle Tabellen in Ihrer Datenbank schließen den Ladevorgang ab.

    • Nichtübereinstimmungen werden im laufenden Validierungsprozess festgestellt.

    • Gemäß dem geplanten Fenster für die Neusynchronisierung wird die Replikationsaufgabe für einen kurzen Zeitraum unterbrochen.

    • Die Neusynchronisierung der Daten behebt die während des Validierungsprozesses festgestellten Probleme.

    • Der Replikationsvorgang wird gemäß dem Zeitplan fortgesetzt und wiederholt.

Konfiguration und Beispiele für die Neusynchronisierung von Daten

Konfiguration der Einstellungen für die Neusynchronisierung von Daten:

Sie können die Resynchronisierung für Ihre Replikationsaufgabe in DMS konfigurieren. Im Folgenden finden Sie ein Beispiel für die Konfiguration der Einstellungen zur Resynchronisierung von Daten in Ihrer Aufgabe:

"ResyncSettings": { "EnableResync": true, "ResyncSchedule": "0 0,2,4,6 * * *", // Run at 12AM, 2AM, 4AM, and 6AM daily "MaxResyncTime": 60, // Run for maximum of 60 minutes, or 1 hour "ValidationTaskId": "TASK-ID-IF-NEEDED" //Optional, used only if validation is performed as a separate Validation only task }

Beispiele für gängige Planungsmuster für die Neusynchronisierung:

  • 0 0 * * *: Laufen Sie einmal täglich um Mitternacht.

  • 0 0,12 * * *: Laufen Sie zweimal täglich um Mitternacht und Mittag.

  • 0 0,2,4,6, * * *: Laufen Sie alle zwei Stunden zwischen Mitternacht und 6 Uhr morgens.

  • 0 1 * * 1: Läuft jede Woche montags um 1 Uhr morgens.

Anmerkung

Sie müssen für jeden Tag eine Zahl angeben, die von 0 bis 6 beginnt. Weitere Informationen finden Sie unter Regeln für Cron-Ausdrücke.

Überwachung von Resync-Vorgängen:

Sie können den Resynchronisierungsvorgang anhand von Tabellenstatistiken überwachen. Hier ist eine Beispielausgabe:

{ "TableStatistics": { ... "ValidationFailedRecords": 1000, ... "ResyncRowsAttempted": 1000, "ResyncRowsSucceeded": 995, "ResyncRowsFailed": 5, "ResyncProgress": 99.5, // ratio of ResyncRowsSucceeded/ValidationFailedRecords "ResyncState": "Last resync at: 2024-03-14T06:00:00Z" } }

Um die Funktion zum erneuten Synchronisieren von Daten in zu konfigurieren AWS DMS, können Sie verschiedene Resync-Parameter und die jeweiligen Konfigurationseinstellungen überprüfen. Weitere Informationen finden Sie unter Einstellungen für die Resynchronisierung von Daten. Weitere Informationen zu den Protokollierungseinstellungen für die Neusynchronisierung von Daten finden Sie unter. Einstellungen für das Protokollieren von Aufgaben

Validierung und Problembehandlung

Validierung:

Wenn die Datenvalidierung aktiviert ist, wird in Ihrer Zieldatenbank eine Tabelle mit Validierungsfehlern mit der folgenden Struktur AWS DMS erstellt:

CREATE TABLE awsdms_validation_failures_v2 ( "RESYNC_ID" bigint NOT NULL, "TASK_NAME" varchar(128) NOT NULL, "TABLE_OWNER" varchar(128) NOT NULL, "TABLE_NAME" varchar(128) NOT NULL, "FAILURE_TIME" timestamp NOT NULL, "KEY_TYPE" varchar(128) NOT NULL, "KEY" varchar(7800) NOT NULL, "FAILURE_TYPE" varchar(128) NOT NULL, "DETAILS" varchar(7000) NOT NULL, "RESYNC_RESULT" varchar(128) NULL, "RESYNC_TIME" timestamp NULL, "RESYNC_ACTION" varchar(128) NULL );

Sie können eine Abfrage in diese Tabelle schreiben, um zu verstehen, welche Dateninkongruenzen gefunden wurden und wie sie behoben werden.

Wenn die Validierung aktiviert ist, wird eine Tabelle mit Validierungsfehlern in Ihrer Zieldatenbank AWS DMS erstellt. Wenn Sie Probleme haben, können Sie die awsdms_control.awsdms_validation_failures_v2 Tabelle abfragen, um zu erfahren, welche Dateninkongruenzen gefunden wurden und wie sie behoben werden. Weitere Informationen finden Sie im Abschnitt zur Problembehandlung in der AWS DMS Datenüberprüfung.

Allgemeiner Arbeitsablauf:

Bei der Validierung bei der Resynchronisierung von Daten sieht der Standardworkflow wie folgt aus:

Aufgaben nur beim vollständigen Laden:

  1. Alle Tabellen in Ihrer Datenbank schließen den Ladevorgang ab.

  2. Nichtübereinstimmungen werden im laufenden Validierungsprozess festgestellt.

  3. Die erneute Synchronisierung der Daten behebt die während des Validierungsprozesses festgestellten Probleme.

  4. Der Validierungsprozess validiert die Korrektur.

  5. Die Migrationsaufgabe wurde erfolgreich abgeschlossen.

CDC-Aufgaben:

  1. Alle Tabellen in Ihrer Datenbank schließen den Ladevorgang ab.

  2. Nichtübereinstimmungen werden im laufenden Validierungsprozess festgestellt.

  3. Gemäß dem geplanten Fenster für die Neusynchronisierung wird die Replikationsaufgabe für einen kurzen Zeitraum unterbrochen.

  4. Die Neusynchronisierung der Daten behebt die während des Validierungsprozesses festgestellten Probleme.

  5. Der Replikationsvorgang wird gemäß dem Zeitplan fortgesetzt und wiederholt.

Jede an der Aufgabe vorgenommene Änderung, z. B. das Beenden der Replikationsaufgabe während des Neusynchronisierungsvorgangs oder das Neuladen und erneute Überprüfen von Tabellen, kann sich auf das Verhalten und das Ergebnis der Aufgabe auswirken. Einige der bekannten Verhaltensänderungen lauten wie folgt:

Wenn Sie die Replikationsaufgabe beenden, während der Resynchronisierungsvorgang ausgeführt wird:

  • Der Resynchronisierungsvorgang wird nicht automatisch fortgesetzt. Sie müssen ihn erneut starten.

  • Zukünftige Neusynchronisierungsvorgänge erfolgen gemäß dem konfigurierten Zeitplan.

  • Alle unvollständigen Korrekturen werden im nächsten Zeitplanfenster für die Neusynchronisierung versucht.

Wenn Sie eine Tabelle in Ihrer Datenbank neu laden:

  • Bei der Resynchronisierung werden alle Tabellen übersprungen, die neu geladen werden.

  • Die vorherigen Überprüfungsfehler für eine Tabelle, die neu geladen wurde, werden ignoriert.

  • Die neue Überprüfung beginnt, nachdem die Aktion zum erneuten Laden abgeschlossen ist.

Wenn Sie eine Tabelle in Ihrer Datenbank erneut validieren:

  • Alle Statistiken für Ihren Resync-Vorgang werden zurückgesetzt.

  • Die vorherigen Überprüfungsfehler für eine Tabelle, die erneut validiert wurde, werden ignoriert.

Anmerkung

Wenn Sie eine Aufgabe auf DMS-Version 3.6.1 und höher aktualisieren oder verschieben, werden alle Fehler in der awsdms_control.awsdms_validation_failures_v1 Tabelle nicht erneut synchronisiert. Nur Fehler in der Tabelle werden erneut synchronisiertawsdms_validation_failures_v2. Um Fehler in der awsdms_control.awsdms_validation_failures_v2 Tabelle erneut zu synchronisieren, müssen Sie die Aufgabe neu laden, eine oder mehrere Tabellen in der Aufgabe neu laden oder eine oder mehrere Tabellen erneut validieren. Weitere Informationen finden Sie unter den folgenden Links:

  • Informationen zum erneuten Laden einer Aufgabe finden Sie in der API-Referenz. StartReplicationTask

  • Informationen zum erneuten Laden einer oder mehrerer Tabellen in einer Aufgabe finden Sie reload-tables in der AWS CLI-Befehlsreferenzdokumentation.

  • Informationen zur erneuten Validierung einer oder mehrerer Tabellen finden Sie unter der validate-only Option im reload-tables Abschnitt in der AWS CLI-Befehlsreferenzdokumentation.

.

Regeln für Cron-Ausdrücke

Um Operationen zur Neusynchronisierung von Daten während einer Replikationsaufgabe in zu konfigurieren, können AWS DMS Sie Cron-Ausdrucksregeln verwenden. Mit diesen Regeln können Sie Zeitfenster für die Neusynchronisierung anpassen und sie gemäß Ihren Geschäftsanforderungen planen. Sie können verschiedene Parameter wie Minuten, Stunden, Tage, Monate und Wochentage verwenden. Die Cron-Ausdrucksregeln für jeden Parameter lauten:

Minuten:
  • Minutenbereich von 0 bis 59.

  • Sie können (-),or/verwenden, and um den Bereich anzugeben. Maximal 10 Elemente, die durch ein Komma (,) getrennt sind.

  • Beispiele:

    • 2-5entspricht. 2,3,5,5

    • 1-2,3-4,5,7-10ist ein gültiger Bereich.

    • 1,2,3,4,5,6,7,8,9,10ist ein gültiger Bereich.

    • 1,2,3,4,5,6,7,8,9,10,11ist kein gültiger Bereich. Der Resynchronisierungsvorgang wird nach dem 10. Bereichselement übersprungen.

  • Sie können () * verwenden. Beispiel: * entspricht0-59.

  • Sie können (/) nur in Kombination mit (-) oder (*) verwenden.

    Beispiele:

    • 2-7/2entspricht. 2,4,6

    • */15entspricht. 0,15,30,45

Stunden:

Entspricht "Minuten", aber der gültige Bereich ist von 0 bis23.

Tage:
  • Entspricht "Minuten", aber der gültige Bereich ist von 1 bis31.

  • Die Verwendung von L wird in der Resync-Konfiguration unterstützt. Es wird als letzter Tag des Monats interpretiert. Sie dürfen es nicht in Kombination mit einer anderen Syntax verwenden.

Monate:

Entspricht "Minuten", aber der gültige Bereich ist von 1 bis12.

Wochentage:
  • Entspricht "Minuten", aber der gültige Bereich ist von 0 bis6.

  • Sie können keinen Zeichenkettenwert für den Namen der Woche hinzufügen.