Änderungstabellen
Sie können die Tools für Ihren Zielendpunkt verwenden, um Informationen anhand der Metadaten in den Änderungstabellen zu erhalten. Diese Daten sind durch die Kopfzeilenspalten definiert, die zum Änderungstabellenschema hinzugefügt werden. Diese Kopfzeilen werden in der folgenden Tabelle beschrieben.
Für jede Zieltabelle in der Replikationsaufgabe wird eine Änderungstabelle mit dem entsprechenden Namen in der Datenbank mit den Zieltabellen gepflegt. Weitere Informationen finden Sie unter Arbeiten mit Änderungstabellen. Eine Änderungstabelle enthält die Originaltabellenspalten und die Kopfzeilenspalten. Die Kopfzeilenspalten enthalten ein Präfix, sodass der Name nicht mit den Spaltennamen der Quelltabelle konfliktiert. Das Standardpräfix ist header__
. Weitere Informationen zum Ändern dieses Präfix finden Sie in der Auflistung Änderungstabellen unter „Metadaten“ in den Aufgabeneinstellungen. In der folgenden Tabelle sind die Standardkopfzeilenspalten der Änderungstabellen aufgelistet.
Spaltenname | Typ | Beschreibung |
---|---|---|
varchar (35) |
Ein monoton zunehmender Änderungssequenzierer, der allen Änderungstabellen einer Aufgabe gemeinsam ist. Die Änderungssequenz hat folgendes Format: YYYYMMDDHHmmSShhxxxxxxxxxxxxxxxxxxx Hierbei gilt:
Der Uhrzeit-Teil bezieht sich in der Regel auf die Commit-Uhrzeit der Transaktion, die den Änderungsdatensatz umfasst. Das Qlik Talend Data Integration enthält Logik, die die Monotonie der Sequenznummer beibehält. Wenn also die Endpunktuhrzeit angepasst wird, kann dies zu mehreren Änderungen führen, die den gleichen Zeitstempel zu haben scheinen, aber mit ansteigender Änderungsnummer. Das xxx...xxx ist in der Regel die interne Änderungsnummer des Datensatzes, mit der Ausnahme, dass es sich bei BEFORE-IMAGE-Datensätzen um die gleiche Änderungsnummer wie bei dem entsprechenden UPDATE-Datensatz handelt (wenn z. B. die Änderungsnummer für BEFORE-IMAGE 1000 und diejenige von UPDATE 1001 ist, erhalten beide 1001). Dies ermöglicht einen einfachen Left-Outer-Join zwischen der Tabelle und sich selbst, wobei links bis zum Zeitpunkt gescannt, aber |
|
|
varchar (1) |
Der Vorgangstyp. Es kann einer der folgenden sein:
|
|
varbinary (128) |
Die Änderungsmaske gibt an, welche Datenspalten in der Änderungstabelle mit Spalten verknüpft sind, die in der Quelltabelle geändert wurden. Die Bit-Position in der Änderungsmaske basiert auf der Spalten-Ordinalen in der Änderungstabelle. Wenn also 5 Kopfzeilenspalten vorhanden sind, belegen sie die Bits 0 bis 4, und die erste Datenspalte ist Bit 5 in der Änderungsmaske. Die Änderungsmaske ist eine binäre Spalte (ein Byte-Array), die die Änderungsmaske in Little-Endian-Reihenfolge darstellt: Byte 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Byte 1 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 In diesem Beispiel gibt Das folgende Beispiel beschreibt die Bit-Semantik:
Um Platz zu sparen und die Verarbeitungseffizienz zu erhöhen, kann die tatsächlich in der Änderungsmaske gespeicherte Bytezahl um Nullen gekürzt werden. Das bedeutet, dass nachgestellte Nullen nicht gespeichert werden müssen. Die Verarbeitungslogik muss dies berücksichtigen. |
|
varchar (128) |
Die CDC-Quellstream-Position. |
|
varchar (12) |
Der mit dem Änderungsdatensatz verknüpfte Vorgang. Dies kann einer der folgenden sein:
|
|
varchar (32) |
Die ID der Transaktion, zu der der Änderungsdatensatz gehört. Der Wert ist eine Hex-Zeichenfolge der 128-Bit-Transaktions-ID. |
|
Zeitstempel |
Der ursprüngliche UTC-Änderungszeitstempel (kann ein ungefährer Wert sein). Informationshinweis Bei PostgreSQL-Quellen wird der Zeitstempel erst nach dem Commit bekannt. Daher wird das Standarddatum (z. B. 1970-01-01) angezeigt, bis das Commit der Änderungen in den Quelltabellen abgeschlossen ist.
|
[header__] |
String |
Der Name der Partition, die im Ziel erstellt wird, wenn Änderungsdatenpartitionierung aktiviert ist. Der Partitionsname setzt sich aus der Start- und Enduhrzeit der Partition zusammen. Beispiel: 20170313T123000_20170313T170000 |