Iceberg 테이블에 대한 시간 여행

시간 관련 데이터는 대부분의 애플리케이션 데이터베이스의 핵심입니다. 버전 11.2.3부터 사용 가능한 watsonx.data 시간 이동 기능을 사용하여 히스토리 테이블과 같은 추가 애플리케이션 로직을 개발하지 않고 히스토리 데이터를 검색하고 분석할 수 있습니다. 이 강력한 도구는 데이터 변경사항의 히스토리를 추적하거나 데이터를 재구성하려는 경우에 유용합니다.

watsonx.data 이동 시간을 사용하여 과거 시점에서 히스토리 데이터 (변경된 데이터) 에 액세스할 수 있습니다.

AS OF 를 사용하여 특정 시간에 대한 데이터 조회

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

다음 제한조건이 적용됩니다.

  • system_time의 AS OF/BEFORE 하위 절만 Iceberg 유형 형식의 watsonx.data 테이블에 대해 지원됩니다.
  • ' <timestamp value> 타임스탬프 유형이거나 타임스탬프 값으로 승격 가능한 것만 가능합니다.
  • ' <timestamp value> 표현식이 될 수 있지만 결국 상수 값으로 평가되어야 합니다.
  • ' <timetamp value> 속성 또는 하위 쿼리를 참조할 수 없습니다.
  • ' <timestamp value> 테이블의 가장 먼저 사용 가능한 스냅샷 ID와 연관된 시간 이전일 수 없습니다.

BEFORE 를 사용하여 특정 시간에 대한 데이터 조회

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

BEFORE 하위 절은 시간소인 값을 예상하며 지정된 시간소인 이전의 데이터 관점에서 테이블의 상태를 리턴합니다.

SYSTEM_VERSION 를 사용하여 특정 스냅샷에 대한 데이터 조회

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

SYSTEM_VERSION AS OF 하위 절을 사용하면 스냅샷 ID를 제공하여 지정된 스냅샷 ID를 기반으로 테이블의 상태를 요청할 수 있습니다. SYSTEM_VERSION절을 사용하는 이 시간 이동 쿼리는 Iceberg 형식의 watsonx.data 테이블에서만 허용됩니다.

' <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)

이 표시 스냅샷 명령문은 지정된 빙산 테이블과 연관된 모든 스냅샷을 나열합니다. 이 정보는 AS OF 시간소인 또는 AS OF 스냅샷 ID를 사용하여 시간 이동 쿼리를 수행하는 데 유용할 수 있습니다. 또한 이 show 명령은 Iceberg 형식의 watsonx.data 테이블에서만 허용됩니다.

참조

이동 시간 및 히스토리 데이터 를 참조하십시오.