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.