Viaje en el tiempo para la tabla Iceberg

Los datos relacionados con el tiempo son fundamentales para la mayoría de las bases de datos de aplicaciones. Con la característica de viaje en el tiempo watsonx.data que está disponible a partir de la versión 11.2.3, puede recuperar y analizar datos históricos sin tener que desarrollar lógica de aplicación adicional como, por ejemplo, tablas de historial. Esta potente herramienta resulta útil cuando desea realizar un seguimiento del historial de cambios de datos o reconstruir los datos.

Al utilizar el viaje en el tiempo watsonx.data, puede acceder a los datos históricos (datos que se han modificado) en momentos anteriores.

Consulta de datos para una hora específica con AS OF

SELECT product_id, product_name FROM product for SYSTEM_TIME AS OF "2023-10-23 10:00:00"

Se aplicarán las restricciones siguientes:

  • Sólo se dará soporte a la subcláusula AS OF/BEFORE de system_time para la tabla watsonx.data del formato de tipo Iceberg.
  • A partir de ' <timestamp value> ' sólo puede ser de tipo timestamp o promocionable a valor timestamp.
  • A partir de ' <timestamp value> ' puede ser una expresión pero eventualmente necesita ser evaluada a un valor constante.
  • A partir de ' <timetamp value> ' no se pueden referir atributos o subconsultas.
  • A partir de ' <timestamp value> ' no puede ser anterior a la hora asociada al primer id de instantánea disponible de la tabla.

Consulta de datos para una hora específica con BEFORE

SELECT product_id, product_name, product_price FROM product FOR SYSTEM_TIME BEFORE '2023-12-01 12:00:00'

La subcláusula BEFORE espera un valor de indicación de fecha y hora y devuelve el estado de la tabla en términos de datos antes de la indicación de fecha y hora proporcionada.

Consulta de datos para una instantánea específica con SYSTEM_VERSION

SELECT product_id, product_name, product_price FROM product FOR SYSTEM_VERSION AS OF 1887396386633333444

Con la subcláusula SYSTEM_VERSION AS OF, se puede proporcionar el ID de instantánea para solicitar el estado de la tabla basándose en el ID de instantánea determinado. Esta consulta de viaje en el tiempo utilizando la cláusula SYSTEM_VERSION sólo está permitida en tablas watsonx.data con formato Iceberg.

MOSTRAR CAPTURAS PARA ' <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)

Esta sentencia show snapshots listará todas las instantáneas asociadas con una tabla iceberg determinada. Esta información puede ser útil para realizar consultas de viaje en el tiempo utilizando la indicación de fecha y hora AS OF o el ID de instantánea AS OF. Además, este mandato show sólo está permitido en tablas watsonx.data con formato Iceberg.

Referencia

Consulte Datos históricos y de viaje en el tiempo.