이 문서에서는 구체화된 레이크 뷰에 최적 새로 고침을 사용할 때 고려해야 할 의미 체계 측면을 설명하고 구체화된 레이크 뷰에 사용 가능한 새로 고침 모드를 간략하게 설명합니다.
구체화된 레이크 뷰에 대한 새로 고침 모드
최적 새로 고침: 이 모드는 구체화된 레이크 뷰(증분, 전체 또는 새로 고침 없음)의 최대 성능을 위한 최상의 새로 고침 전략을 자동으로 선택합니다.
전체 새로 고침: 이 모드는 구체화된 레이크 뷰에 대한 전체 다시 계산을 적용합니다.
최적의 새로 고침
최적의 새로 고침은 Microsoft Fabric 플랫폼의 데이터 관리 효율성, 속도 및 비용 효율성을 개선하기 위해 설계되었습니다. 새로 고침 성능을 최대화하기 위해 가장 적절한 새로 고침 전략을 자동으로 선택합니다. 다음 새로 고침 정책은 최적의 새로 고침에서 지원됩니다.
| 정책 새로 고침 | Description |
|---|---|
| 증분 새로 고침 | 증분 새로 고침은 구체화된 레이크 뷰 정의에서 참조되는 원본에서 변경된 데이터만 처리합니다. |
| 새로 고침 없음 | 원본이 변경되지 않은 상태로 유지되는 경우(예: 델타 커밋에서 변경 내용이 검색되지 않은 경우) 서비스는 새로 고침을 건너뜁니다. 이 동작은 불필요한 처리를 저장합니다. |
| 전체 새로 고침 | 전체 새로 고침에는 원본을 수정할 때마다 종속 원본의 전체 데이터 세트를 평가하는 작업이 포함됩니다. |
중요합니다
증분 새로 고침을 적용하려면 구체화된 레이크 뷰 정의에서 참조되는 모든 종속 원본에 대해 델타 CDF(변경 데이터 피드) 속성을 delta.enableChangeDataFeed=true 설정해야 합니다. 자세한 내용은 변경 데이터 피드 속성을 사용하도록 설정하는 방법을 참조하세요.
최적의 새로 고침의 이점
비용 절감: 특히 데이터 변경 사항이 최소화되고 델타 커밋 변경 사항이 감지되지 않을 때 데이터 새로 고침이 생략되어 컴퓨팅 및 스토리지 사용이 줄어듭니다.
효율성 향상: 더 빠른 새로 고침 주기를 통해 더 새로운 인사이트를 제공하고 빠르게 변화하는 데이터를 유지할 수 있습니다.
시간 절약: 변경된 데이터만 처리되므로 새로 고침 기간이 줄어듭니다.
증분 새로 고침 전략에 대한 최적의 새로 고침에서 지원되는 식
지원되는 식을 사용하여 구체화된 레이크 뷰를 만들면 Fabric에서 증분 새로 고침을 수행할 수 있습니다. 지원되지 않는 식이 쿼리에 사용되는 경우 변경 내용에 따라 전체 새로 고침 또는 새로 고침이 수행되지 않습니다.
다음 표에서는 지원되는 식을 간략하게 설명합니다.
| SQL 구문 | 주석 |
|---|---|
| SELECT 식 | 결정적 함수(기본 빌드)가 있는 식을 지원합니다. 비결정적 함수 및 윈도우 함수는 전체 새로 고침 전략을 초래합니다. |
| FROM | |
| WHERE | 결정론적 내장 함수만 지원됩니다. |
| INNER JOIN (내부 조인) | |
| WITH | 공통 테이블 식이 지원됩니다. |
| UNION ALL | |
| 데이터 품질 제약 조건 | 제약 조건에서는 결정적인 내장 함수만 지원됩니다. |
비고
최상의 결과를 위해 지원되는 절만 사용하여 쿼리를 디자인합니다. 지원되지 않는 패턴을 사용하면 전체 새로 고침 전략으로 자동 대체가 트리거됩니다.
최적의 새로 고침을 위한 핵심 사항
- 결과를 최적화하려면 증분 새로 고침 전략을 적용할 수 있도록 쿼리에서 지원되는 식을 사용합니다.
- 추가 전용 데이터에 대해 증분 새로 고침이 지원됩니다. 데이터에 삭제 또는 업데이트가 포함된 경우 Fabric은 전체 새로 고침을 수행합니다.
- 구체화된 레이크 뷰 정의에서 데이터 품질 제약 조건을 정의하는 경우 증분 새로 고침은 업데이트 중에 해당 제약 조건을 준수하고 적용합니다.
- 최적의 새로 고침을 사용하기 위해 특별히 추가 요금이 적용되지 않습니다. 새로 고침 작업 중 컴퓨팅 사용량에 따라 요금이 청구됩니다.
- 작은 원본 데이터 세트의 경우, 성능 효율성을 고려하여 패브릭은 증분 새로 고침 대신 전체 새로 고침을 선택할 수 있습니다.
변경 데이터 피드 속성을 사용하도록 설정하는 방법
최적의 새로 고침을 위해 모든 종속 원본에서 CDF(변경 데이터 피드) 속성을 사용하도록 설정해야 합니다.
다음 예제에서는 using CREATE 문을 사용하도록 설정하는 방법을 보여 줍니다.
CREATE OR REPLACE MATERIALIZED LAKE VIEW silver.customer_orders
TBLPROPERTIES (delta.enableChangeDataFeed=true)
AS
SELECT
c.customerID,
c.customerName,
c.region,
o.orderDate,
o.orderAmount
FROM bronze.customers c INNER JOIN bronze.orders o
ON c.customerID = o.customerID
또는 원본 테이블에서 ALTER TABLE 구문을 사용할 수 있습니다.
ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
예제:
ALTER TABLE bronze.customers SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
ALTER TABLE bronze.orders SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
최적의 새로 고침 모드를 사용하도록 설정하는 방법
기본적으로 최적 새로 고침 모드는 계보에 대해 사용하도록 설정됩니다. 그렇지 않은 경우 아래 단계를 수행합니다.
전체 새로 고침
전체 새로 고침은 원본 데이터를 기반으로 구체화된 레이크 뷰의 전체 재계산을 수행합니다.
구체화된 레이크 뷰에서 전체 데이터를 다시 처리해야 하는 경우 최적의 새로 고침 토글을 사용하지 않도록 설정하여 전체 새로 고침 모드로 전환할 수 있습니다.
또는
구체화된 레이크 뷰의 전체 새로 고침을 수행하려면 다음 명령을 사용할 수 있습니다.
REFRESH MATERIALIZED LAKE VIEW [workspace.lakehouse.schema].MLV_Identifier FULL
비고
- 작업 공간 이름에 공백이 포함되어 있으면 백틱(``)으로 묶으십시오.
`My Workspace`.lakehouse.schema.view_name - 원본으로 델타가 아닌 테이블을 사용하는 구체화된 레이크 뷰를 새로 고치면 전체 새로 고침이 시작됩니다.