Zeitreise für Iceberg Tisch
Zeitbezogene Daten sind ein zentraler Bestandteil der meisten Anwendungsdatenbanken. Mit dem Zeitreisesfeature watsonx.data, das ab Version 11.2.3verfügbar ist, können Sie Protokolldaten abrufen und analysieren, ohne zusätzliche Anwendungslogik wie z. B. Protokolltabellen entwickeln zu müssen. Dieses leistungsfähige Tool ist nützlich, wenn Sie den Verlauf von Datenänderungen verfolgen oder Ihre Daten wiederherstellen möchten.
Mithilfe der Zeitreise watsonx.data können Sie auf Protokolldaten (Daten, die geändert wurden) zu früheren Zeitpunkten zugreifen.
Daten für eine bestimmte Zeit mit AS OF abfragen
SELECT product_id, product_name FROM product for SYSTEM_TIME AS OF "2023-10-23 10:00:00"
Die folgenden Einschränkungen werden durchgesetzt:
- Nur die Unterklausel AS OF/BEFORE von system_time wird für die Tabelle watsonx.data im Iceberg-Format unterstützt.
- Ab '
<timestamp value>kann nur vom Typ Zeitstempel sein oder in einen Zeitstempelwert umgewandelt werden. - Ab '
<timestamp value>kann es sich um einen Ausdruck handeln, der jedoch letztendlich zu einem konstanten Wert ausgewertet werden muss. - Ab '
<timetamp value>kann nicht auf Attribute oder Unterabfragen verwiesen werden. - Ab '
<timestamp value>kann nicht vor dem Zeitpunkt liegen, der mit der allerersten verfügbaren Snapshot-ID der Tabelle verbunden ist.
Daten für eine bestimmte Zeit mit BEFORE abfragen
SELECT product_id, product_name, product_price FROM product FOR SYSTEM_TIME BEFORE '2023-12-01 12:00:00'
Die Unterklausel BEFORE erwartet einen Zeitmarkenwert und gibt den Status der Tabelle in Form von Daten vor der angegebenen Zeitmarke zurück.
Daten für eine bestimmte Momentaufnahme mit SYSTEM_VERSION abfragen
SELECT product_id, product_name, product_price FROM product FOR SYSTEM_VERSION AS OF 1887396386633333444
Mit der Unterklausel SYSTEM_VERSION AS OF kann die Momentaufnahme-ID angegeben werden, um den Status der Tabelle auf der Basis der angegebenen Momentaufnahme-ID anzufordern. Diese Zeitreiseabfrage mit der Klausel SYSTEM_VERSION ist nur für watsonx.data-Tabellen im Iceberg-Format zulässig.
SHOW SNAPSHOTS FOR ' <table-name>
SHOW SNAPSHOTS FOR PRODUCT:
SNAPSHOT_ID | SNAPSHOT_TIMESTAMP
---------------------+-------------------------
9200563116884920042 | 2023-11-22 14:07:11.568
772896300100219109 | 2023-11-22 14:07:23.075
6627427340973491406 | 2023-11-22 14:07:30.401
5580047607422801480 | 2023-11-22 14:07:36.699
9177117635666586877 | 2023-12-01 12:07:53.511
(5 rows)
Diese Anweisung 'show snapshots' listet alle Momentaufnahmen auf, die einer bestimmten Eisberg-Tabelle zugeordnet sind. Diese Informationen können für Time Travel-Abfragen mit der AS-OF-Zeitmarke oder der AS-OF-Momentaufnahme-ID nützlich sein. Auch dieser Befehl show ist nur für watsonx.data-Tabellen im Iceberg-Format zulässig.
Referenz
Siehe Zeitreisen und Langzeitdaten.