다음을 통해 공유


과거에 존재했던 데이터 쿼리(미리 보기)

적용 대상: Microsoft Fabric 내 Warehouse

Microsoft Fabric의 Warehouse는 과거와 마찬가지로 기록 데이터를 쿼리하는 기능을 제공합니다. 특정 타임스탬프에서 데이터를 쿼리하는 기능은 데이터 웨어하우징 업계에서 시간 이동이라고 합니다. 이 기능은 현지 미리 보기로 제공됩니다.

  • 시간 이동은 시간에 따른 데이터의 일관성과 정확도를 기본 안정적인 보고를 용이하게 합니다.
  • 시간 이동은 다양한 과거 시점을 쿼리하여 기록 추세 분석을 가능하게 하며 향후 추세를 예측하는 데 도움이 됩니다.
  • 시간 이동은 이전 버전의 데이터 간 저렴한 비교를 간소화합니다.
  • 시간 이동은 시간에 따른 성능을 분석하는 데 도움이 됩니다.
  • 시간 이동은 조직이 시간에 따른 데이터 변경 내용을 감사할 수 있게 해 줍니다. 규정 준수를 위해 필요한 경우가 많습니다.
  • 시간 이동은 기계 학습 모델의 결과를 재현하는 데 도움이 됩니다.
  • 시간 이동은 동일한 작업 영역의 여러 웨어하우스에서 특정 시점에 존재했던 테이블을 쿼리할 수 있습니다.

시간 여행이란?

데이터 웨어하우스의 시간 이동은 이전 버전의 데이터를 신속하게 쿼리하는 저렴한 비용 및 효율적인 기능입니다.

Microsoft Fabric은 현재 다음과 같은 방법으로 과거 데이터 상태를 검색할 수 있습니다.

FOR TIMESTAMP AS OF T-SQL 명령을 사용하여 시간 이동

웨어하우스 항목 내에서 OPTION FOR TIMESTAMP AS OF T-SQL 구문을 사용하여 테이블을 쿼리하여 과거 시점의 데이터를 검색할 수 있습니다. 이 절은 FOR TIMESTAMP AS OF 조인된 모든 웨어하우스 테이블을 포함하여 전체 문에 영향을 줍니다.

시간 이동 쿼리에서 얻은 결과는 기본적으로 읽기 전용입니다. FOR TIMESTAMP AS OF 쿼리 힌트사용하는 동안 INSERT, UPDATE 및 DELETE같은 쓰기 작업은 발생할 수 없습니다.

OPTION 절사용하여 FOR TIMESTAMP AS OF 쿼리 힌트를 지정합니다. 쿼리는 타임스탬프에 존재했던 것과 정확하게 데이터를 반환하며, 로 지정됩니다 YYYY-MM-DDTHH:MM:SS[.fff]. 예시:

SELECT *
FROM [dbo].[dimension_customer] AS DC
OPTION (FOR TIMESTAMP AS OF '2024-03-13T19:39:35.28'); --March 13, 2024 at 7:39:35.28 PM UTC

필요한 날짜/시간 형식은 스타일 126으로 CONVERT 구문을 사용합니다.

쿼리, 저장 프로시저, 뷰 등에 대한 절을 OPTION 사용하여 타임스탬프를 한 번만 지정할 수 있습니다. SELECT OPTION 문 내의 모든 항목에 적용됩니다.

샘플은 방법: 시간 여행을 사용하여 쿼리를 참조하세요.

데이터 기록 보존

Microsoft Fabric에서 웨어하우스는 다양한 버전의 데이터를 자동으로 보존하고 기본 기본 보존 기간(최대 7일)을 유지합니다. 이렇게 하면 이전 특정 시점을 기준으로 테이블을 쿼리할 수 있습니다. 데이터 웨어하우스에 대한 모든 삽입, 업데이트 및 삭제는 유지됩니다. 보존은 웨어하우스가 만들어지는 순간부터 자동으로 시작됩니다. 만료된 파일은 보존 임계값 이후에 자동으로 삭제됩니다.

  • 현재 쿼리 힌트가 있는 SELECT 문은 FOR TIMESTAMP AS OF 최신 버전의 테이블 스키마를 반환합니다.
  • 삭제가 보존 기간 내에 있는 경우 삭제 전에 존재했던 것처럼 테이블에서 삭제된 모든 레코드를 쿼리할 수 있습니다.
  • 테이블에서 열을 추가하거나 제거하는 것을 포함하지만 제한되지 않는 테이블의 스키마를 수정한 후에는 스키마를 변경하기 전에 쿼리할 수 없습니다. 마찬가지로 동일한 데이터를 사용하여 테이블을 삭제하고 다시 만들면 해당 기록이 제거됩니다.

시간 이동 시나리오

다음 시나리오에서는 이전 데이터로의 이동 시간을 고려할 수 있습니다.

안정적인 보고

ETL(추출, 변환 및 로드) 작업의 빈번한 실행은 끊임없이 변화하는 데이터 환경을 따라가기 위해 필수적입니다. 시간 이동 기능은 백그라운드 처리가 진행되는 동안 이전 저녁과 같이 과거 시점으로 반환된 쿼리 결과를 기반으로 보고서를 생성할 수 있는 유연성을 제공하면서 데이터 무결성을 보장함으로써 이 목표를 지원합니다.

ETL 활동은 동시에 실행될 수 있으며 이전 시점과 동일한 테이블을 쿼리할 수 있습니다.

기록 추세 및 예측 분석

시간 이동은 기록 데이터의 분석을 간소화하여 다양한 과거 시간 프레임에서 데이터를 쿼리하여 중요한 추세와 패턴을 파악하는 데 도움이 됩니다. 이를 통해 기록 데이터 세트를 실험하고 예측 모델을 학습하여 예측 분석을 용이하게 합니다. 향후 추세를 예측하는 데 도움이 되며, 정보에 입각한 데이터 기반 의사 결정을 내리는 데 도움이 됩니다.

분석 및 비교

시간 이동은 분석 및 비교를 위한 기록 렌즈를 제공하여 근본 원인의 식별을 용이하게 함으로써 효율적이고 비용 효율적인 문제 해결 기능을 제공합니다.

성능 분석

시간 이동은 웨어하우스 쿼리 초과 작업의 성능을 분석하는 데 도움이 될 수 있습니다. 이렇게 하면 쿼리를 최적화할 수 있는 성능 저하 추세를 식별할 수 있습니다.

감사 및 규정 준수

시간 이동은 감사자가 데이터 기록을 탐색할 수 있도록 하여 감사 및 규정 준수 절차를 간소화합니다. 이는 규정을 다시 준수하는 데 도움이 기본 뿐만 아니라 보증과 투명성을 향상시키는 데도 도움이 됩니다.

기계 학습 모델

시간 이동 기능은 기록 데이터의 분석을 용이하게 하고 실제 시나리오를 시뮬레이션하여 기계 학습 모델의 결과를 재현하는 데 도움이 됩니다. 이렇게 하면 정확한 데이터 기반 의사 결정을 내릴 수 있도록 모델의 전반적인 안정성이 향상됩니다.

디자인 고려 사항

OPTION FOR TIMESTAMP AS OF 쿼리 힌트에 대한 고려 사항:

  • 쿼리 힌트는 FOR TIMESTAMP AS OF 보존 기간 내의 이전 시점을 기준으로 보기를 만드는 데 사용할 수 없습니다. 보존 기간 내에 과거 시점을 기준으로 뷰를 쿼리하는 데 사용할 수 있습니다.
  • 쿼리 힌트는 FOR TIMESTAMP AS OF 문 내에서 SELECT 한 번만 사용할 수 있습니다.
  • 쿼리 힌트는 FOR TIMESTAMP AS OF 저장 프로시저의 SELECT 문 내에서 정의할 수 있습니다.

시간 이동에 대한 사용 권한

관리, 멤버, 기여자 또는 뷰어작업 영역 역할이 있는 사용자는 과거 시점을 기준으로 테이블을 쿼리할 수 있습니다. 사용자가 테이블을 쿼리할 때 CLS(열 수준 보안), RLS(행 수준 보안) 또는 DDM(동적 데이터 마스킹)에 의해 적용되는 제한이 자동으로 적용됩니다.

제한 사항

  • 타임스탬프에서 소수 자릿수 초의 최대 3자리를 제공합니다. 더 정밀도를 제공하면 오류 메시지가 표시됩니다 An error occurred during timestamp conversion. Please provide a timestamp in the format yyyy-MM-ddTHH:mm:ss[.fff]. Msg 22440, Level 16, State 1, Code line 29.
  • 현재는 시간 이동에 UTC(협정 세계시) 표준 시간대만 사용됩니다.
  • 현재 시간 이동 쿼리의 데이터 보존 기간은 7일입니다.
  • FOR TIMESTAMP AS OF 절의 값은 OPTION 결정적이어야 합니다. 매개 변수화의 예는 저장 프로시저의 시간 이동을 참조하세요.
  • 시간 이동은 Lakehouse의 SQL 분석 엔드포인트에 대해 지원되지 않습니다.
  • 구문은 OPTION FOR TIMESTAMP AS OF 문으로 SELECT 시작하는 쿼리에서만 사용할 수 있습니다. 와 같은 INSERT INTO SELECT 쿼리를 CREATE TABLE AS SELECT 사용할 OPTION FOR TIMESTAMP AS OF수 없습니다. 대신 특정 시점에 웨어하우스 테이블을 복제하는 기능을 고려합니다.
  • 뷰 정의는 구문을 포함할 OPTION FOR TIMESTAMP AS OF 수 없습니다. 뷰는 구문을 사용하여 SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF 쿼리할 수 있습니다. 그러나 뷰를 만들기 전의 뷰에 있는 테이블의 과거 데이터를 쿼리할 수는 없습니다.
  • FOR TIMESTAMP AS OF 시간 이동 구문은 현재 Power BI Desktop Direct 쿼리 모드 또는 이 데이터 탐색 옵션에서 지원되지 않습니다.

다음 단계