Temporale Tabellen replizieren

CDC Replication Engine for Db2® Database unterstützt die Replikation der drei Typen von temporalen Tabellen: temporale Tabellen für Anwendungszeitraum, temporale Tabellen für Systemzeitraum und bitemporale Tabellen.

Es gibt keine speziellen Hinweise, die beim Zuordnen der Spalten berücksichtigt werden müssen, die einem Anwendungszeitraum zugeordnet sind. Beim Erfassen von Änderungen aus einer Anwendungszeitraumtabelle erfasst CDC Replication die von DB2®vorgenommenen Änderungen auf Zeilenebene. Wenn die Anwendung eine Änderung an der Quellentabelle vornimmt, die erfordert, dass DB2 Zeilen hinzufügt oder ändert, um sicherzustellen, dass es keine Überschneidungen in Anwendungszeiträumen gibt, erfasst CDC Replication alle Änderungen, die an der Quellentabelle vorgenommen wurden.

Bei der Replikation in eine Tabelle für einen Systemzeitraum (die bitemporale Tabellen einschließt) können Sie auswählen, ob die Tabelle weiterhin einen Verlauf der Ereignisse verwalten soll, die auf dem Quellen- und dem Zielsystem aufgetreten sind. Wenn die Tabelle den Verlauf der Ereignisse auf dem Zielsystem enthalten soll, dann weist sie das gleiche Verhalten wie jede andere Tabelle für einen Systemzeitraum auf, bei der es sich nicht um die Replikationszieltabelle handelt. Sie können temporale Abfragen für diese Tabelle ausführen, um festzustellen, welche Daten sie zu einem beliebigen, in der Vergangenheit liegenden Punkt enthalten hat. Sie können z. B. die folgende Frage beantworten: Wenn ich eine Abfrage für meine lokale Datenbank (Ziel) um 13.00 Uhr ausführe, welche Antwort ergibt sich dann?

Wenn die Tabelle den Verlauf der Ereignisse auf dem Quellensystem enthalten soll, dann können Sie eine andere Frage beantworten: Wenn ich meinen Kollegen um 13.00 Uhr anrufe und ihn um die Ausführung einer Abfrage für die Quellendatenbank bitte, welche Antwort ergibt sich dann?

Beachten Sie hierbei, dass sich bei Tabellen, die den Verlauf der Ereignisse auf dem Quellensystem enthalten, alle Latenzzeiten bei der Replikation auf die Fragen auswirken, die sinnvoll sind. Beispiel: Wenn Sie Ihre Subskription während der letzten vier Stunden nicht ausgeführt haben, dann enthält die Zieltabelle noch nicht den Verlauf der Ereignisse auf der Quelle während dieser Zeit. Aus diesem Grund geben alle Abfragen zum Status der Tabelle während der letzten vier Stunden ungültige Ergebnisse zurück.

Im Folgenden ist ein Beispiel für die auftretenden Ereignisse dargestellt:

  1. Die Subskription wird um 13.00 Uhr gestoppt.
  2. Auf dem Quellensystem wird um 13.05 Uhr eine neue Kundenzeile hinzugefügt.
  3. Auf dem Zielsystem erfolgt eine Abfrage, um zu prüfen, ob dieser neue Kunde um 1:06 P.M. Das Ziel gibt an, dass es nicht vorhanden war.
  4. Die Subskription wird um 1:30 P.M. Es holt schnell ein.
  5. Auf dem Zielsystem wird erneut eine Abfrage ausgeführt, um zu prüfen, ob dieser neue Kunde um 1:06 P.M. Jetzt gibt das Ziel an, dass es vorhanden war.

Die Zieltabelle kann nur dann den Quellenverlauf enthalten, wenn die Quellentabelle auch eine Tabelle für einen Systemzeitraum ist. In dieser Situation werden die Spalten für den Systemzeitraum automatisch zugeordnet. Diese Zuordnung kann nicht mehr geändert werden.

Bei der Zuordnung zu einer Zielsystemzeitraumtabelle, in der sie das Zielprotokoll enthalten soll, werden die Spalten des Systemzeitraums von der Datenbank verwaltet und sind nicht für die Zuordnung in CDC Replicationverfügbar.

Die Verlaufstabellen, die einer Tabelle für den Systemzeitraum zugeordnet sind, können nicht einzeln zugeordnet werden. Alle Zuordnungen, die die Basistabelle einbeziehen, haben Auswirkungen auf die Daten in der Verlaufstabelle.