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.