다음을 통해 공유


Microsoft Fabric에서 구체화된 레이크 뷰란?

비고

이 기능은 현재 미리 보기로 제공됩니다.

구체화된 레이크 뷰는 요청 시 또는 일정에 따라 새로 고칠 수 있는 SQL 쿼리의 사전 계산된 저장된 결과입니다. 데이터를 최신 상태로 유지하기 위한 지능형 새로 고침 전략을 사용하여 복잡한 변환, 집계 또는 조인의 결과를 포함하는 "스마트 테이블"로 간주합니다.

구체화된 레이크 뷰을 사용하는 이유는 무엇인가요?

구체화된 레이크 뷰는 일반적인 데이터 엔지니어링 문제를 해결합니다.

  • 성능: 비용이 많이 드는 쿼리를 반복적으로 실행하는 대신 결과가 사전 계산되고 저장됩니다.
  • 일관성: 모든 사용자가 동일한 변환된 데이터에 액세스하여 불일치를 줄입니다.
  • 효율성: 원본 데이터가 실제로 변경될 때만 새로 고쳐 컴퓨팅 리소스 저장
  • 단순성: 익숙한 SQL 구문을 사용하여 변환 정의

구체화된 레이크 뷰는 언제 사용해야 하나요?

다음과 같은 경우 구체화된 레이크 뷰을 고려합니다.

  • 자주 액세스하는 집계 (일일 판매 합계, 월별 메트릭)
  • 자주 쿼리되는 여러 큰 테이블 간의 복잡한 조인
  • 일관되게 적용해야 하는 데이터 품질 변환
  • 여러 원본의 데이터를 결합하는 보고 데이터 세트
  • 브론즈 → 실버 → 골드 변환이 필요한 Medallion 아키텍처

다음 용도로 사용하지 마세요.

  • 일회성 또는 거의 액세스되지 않는 쿼리
  • 빠르게 실행되는 간단한 변환
  • 고주파 스트리밍 데이터(하위 초 업데이트의 경우 Real-Time Intelligence 고려)

구체화된 레이크 뷰은 어떻게 작동합니까?

구체화된 레이크 뷰는 선언적 접근 방식을 사용합니다. 빌드하는 방법이 아니라 원하는 것을 정의합니다.

  1. 만들기: 변환을 정의하는 SQL 작성
  2. 새로 고침: 패브릭이 최적의 새로 고침 전략(증분, 전체 또는 건너뛰기)을 결정합니다.
  3. 쿼리: 애플리케이션은 테이블처럼 구체화된 뷰를 쿼리합니다.
  4. 모니터: 데이터 품질, 계보 및 새로 고침 상태 추적

주요 기능

자동 새로 고침 최적화

패브릭은 보기를 새로 고치는 시기와 방법을 자동으로 결정합니다.

  • 증분 새로 고침: 새 데이터 또는 변경된 데이터만 처리
  • 전체 새로 고침: 필요한 경우 전체 보기를 다시 빌드합니다.
  • 새로 고침 건너뛰기: 원본 데이터가 변경되지 않은 경우 새로 고침이 필요하지 않습니다.

기본 제공 데이터 품질

SQL에서 직접 규칙을 정의하고 위반을 처리하는 방법을 지정합니다.

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

종속성 관리

  • 보기가 서로 어떻게 의존하는지 시각화
  • 종속성에 따라 자동 새로 고침 순서 지정
  • 처리는 데이터 일관성을 보장하기 위해 종속성 체인을 따릅니다.

모니터링 및 인사이트

  • 새로 고침 성능 및 실행 상태 추적
  • 계보에서 데이터 품질 메트릭 및 위반 횟수 보기
  • 작업 인스턴스 및 새로 고침 기록 모니터링

일반적인 사용 사례

판매 보고 대시보드

-- Daily sales summary that refreshes automatically
CREATE MATERIALIZED LAKE VIEW daily_sales AS
SELECT 
    DATE(order_date) as sale_date,
    region,
    SUM(amount) as total_sales,
    COUNT(*) as order_count
FROM orders 
GROUP BY DATE(order_date), region;

데이터 품질 유효성 검사

-- Clean customer data with quality rules
CREATE MATERIALIZED LAKE VIEW clean_customers (
    CONSTRAINT valid_email CHECK (email IS NOT NULL) ON MISMATCH DROP
) AS
SELECT 
    customer_id,
    TRIM(customer_name) as customer_name,
    LOWER(email) as email
FROM raw_customers
WHERE customer_name IS NOT NULL;

메달리온 아키텍처

-- Bronze → Silver transformation
CREATE MATERIALIZED LAKE VIEW silver_products AS
SELECT 
    product_id,
    product_name,
    category,
    CAST(price as DECIMAL(10,2)) as price
FROM bronze_products
WHERE price > 0;

비고

이 기능은 현재 미국 중남부 지역에서 사용할 수 없습니다.

현재 제한 사항

현재 Microsoft Fabric의 구체화된 레이크 뷰에는 다음 기능을 사용할 수 없습니다.

  • PySpark에 대한 선언적 구문 지원. Spark SQL 구문을 사용하여 구체화된 레이크 뷰를 만들고 새로 고칠 수 있습니다.
  • 레이크 하우스 간 계보 및 실행 기능.