스토리지 모드 선택

완료됨

Microsoft Fabric 의미 체계 모델에 대한 첫 번째 디자인 결정은 데이터가 모델로 흐르는 방법입니다. 선택하는 스토리지 모드는 쿼리 성능, 데이터 새로 고침 및 사용 가능한 Fabric 기능에 영향을 줍니다. Fabric Direct Lake는 기본값이며 대부분의 워크로드에 적합한 선택입니다.

Direct Lake 모드

Direct Lake는 Microsoft Fabric 만든 의미 체계 모델의 기본 스토리지 모드입니다. 가져오기 모드와 달리 Direct Lake는 모델에 데이터를 복사하지 않습니다. DirectQuery와 달리 쿼리는 원본 SQL로 변환되지 않습니다. 대신 Direct Lake는 OneLake에서 델타 테이블을 메모리에 직접 읽어들이고, Import의 속도와 DirectQuery의 최신성을 결합합니다.

사용자가 Direct Lake 의미 체계 모델로 지원되는 보고서를 열면 엔진은 요청 시 Delta Parquet 파일에서 열 데이터를 로드합니다. 가져오기 모드와 마찬가지로 새로 고침을 예약할 필요가 없습니다. 기본 델타 테이블이 업데이트되면 모델은 이러한 변경 내용을 반영합니다.

Direct Lake 모델은 대규모 의미 체계 모델 스토리지 형식을 자동으로 사용하도록 설정합니다. 이 설정은 10GB 모델 크기 제한을 제거하고 쿼리 스케일 아웃 및 XMLA 엔드포인트 읽기/쓰기 액세스 모두에 대한 필수 구성 요소입니다. Direct Lake 모델에 대해 수동으로 사용하도록 설정할 필요가 없습니다.

Direct Lake 연결 옵션

Direct Lake 모델은 다음 두 경로를 통해 데이터에 연결할 수 있습니다.

  • OneLake 테이블: 모델은 레이크하우스나 웨어하우스 안의 델타 테이블에 직접 연결합니다. 이는 가장 간단한 경로이며 데이터가 단일 Fabric 데이터 저장소에 있을 때 잘 작동합니다.
  • SQL 분석 엔드포인트: 모델은 레이크하우스 또는 웨어하우스의 SQL 엔드포인트를 통해 연결됩니다. 이 경로를 사용하면 SQL 계층에 정의된 뷰, 데이터베이스 간 쿼리 및 보안 기능에 액세스할 수 있습니다.

데이터가 간단하고 한 곳에 있는 경우 OneLake 테이블을 선택합니다. 보기, 원본 간 조인 또는 SQL에 정의된 행 수준 보안이 필요한 경우 SQL 분석 엔드포인트를 선택합니다.

후퇴 동작

일부 작업으로 인해 Direct Lake 모델이 DirectQuery 모드로 대체될 수 있습니다. 복잡한 DAX 계산, 사용 가능한 메모리를 초과하는 쿼리 또는 지원되지 않는 특정 작업이 이 대체를 트리거합니다. 대체가 발생하면 쿼리는 델타 파일을 직접 읽는 대신 SQL 분석 엔드포인트에 대해 실행됩니다.

의미 체계 모델 설정에서 대체 동작을 구성할 수 있습니다.

  • 대체 허용: Direct Lake 모드에서 실행할 수 없는 쿼리는 자동으로 DirectQuery로 대체됩니다. 사용자가 결과를 가져오지만 성능이 저하될 수 있습니다.
  • 대체 허용 안 함: Direct Lake 모드에서 실행할 수 없는 쿼리는 오류를 반환합니다. 이 옵션은 일관된 성능을 적용하지만 모든 쿼리가 Direct Lake 기능 내에 있어야 합니다.

대부분의 프로덕션 워크로드의 경우 허용되는 대체(fallback)로 시작하고 이를 트리거하는 쿼리를 모니터링합니다. 그런 다음 이러한 쿼리 또는 데이터 구조를 최적화하여 시간이 지남에 따라 대체 빈도를 줄입니다.

가져오기 모드

가져오기 모드는 데이터를 의미 체계 모델로 복사하고 압축된 메모리 내 형식으로 저장합니다. 쿼리는 로컬 복사본에 대해 실행되며, 이를 통해 가져오기 모드가 쿼리 성능을 위한 가장 빠른 스토리지 모드가 됩니다. 그러나 데이터는 마지막 새로 고침만큼 최신입니다.

가져오기 모드는 다음과 같은 경우에 적합한 선택입니다.

  • 데이터 원본은 Fabric 외부에 있습니다(온-프레미스 데이터베이스, 타사 API, 플랫 파일).
  • 쿼리 성능이 최우선 순위이며 거의 실시간으로 새로 고침이 필요하지 않습니다.
  • Direct Lake에서 아직 지원되지 않는 기능이 필요합니다.

Tip

가져오기 모드를 사용하는 경우 원시 테이블 대신 뷰에 연결하고, 필요한 열만 포함하고, 적절한 데이터 형식을 사용하여 모델 크기를 줄입니다. 가져오기 모델에 로드된 데이터를 줄이는 기술에 대해 자세히 알아봅니다.

DirectQuery 모드

DirectQuery는 쿼리 시 데이터 원본에 직접 쿼리를 보냅니다. 모델에 데이터가 저장되지 않으므로 DirectQuery는 실시간 데이터 시나리오 및 가져올 수 없는 매우 큰 데이터 세트에 적합합니다.

성능이 타협 대상입니다. 모든 보고서 상호 작용은 원본 시스템에 대한 쿼리를 생성합니다. DirectQuery는 다음과 같은 경우에 가장 잘 작동합니다.

  • 실시간 데이터가 필요하며 짧은 새로 고침 지연도 허용되지 않습니다.
  • 원본 데이터 볼륨이 너무 커서 가져올 수 없으며 데이터 원본이 Fabric 외부에 있습니다.
  • 거버넌스 요구 사항은 데이터가 원본에 유지되도록 요구합니다.

복합 모드

복합 모드는 단일 모델 내에서 스토리지 모드를 결합합니다. 일부 테이블은 Import를 사용하고 다른 테이블은 DirectQuery 또는 Direct Lake를 사용합니다. 이렇게 하면 서로 다른 테이블의 성능과 새로 고침 요구 사항이 서로 다른 시나리오에 대한 유연성을 제공합니다.

예를 들어 큰 팩트 테이블은 Direct Lake에 있을 수 있지만 외부 원본의 작은 참조 테이블은 Import를 사용합니다. 복합 모드를 사용하면 서로 다른 데이터 원본의 테이블 간에 다대다 관계를 설정할 수도 있습니다.

다음과 같은 경우 복합 모드를 사용합니다.

  • 동일한 모델의 Fabric 원본과 Fabric 아닌 원본의 데이터가 모두 필요합니다.
  • 일부 테이블에는 실시간 데이터가 필요하지만 다른 테이블은 캐시된 성능의 이점을 활용합니다.
  • 원본 간 분석을 위해 Direct Lake 테이블을 가져오기 테이블과 결합해야 합니다.

올바른 스토리지 모드 선택

다음 표에서는 각 모드를 선택하는 시기를 요약합니다.

모드 데이터 위치 쿼리 속도 데이터 신선도 적합한 대상
Direct Lake OneLake(델타 테이블) 빠름 거의 실시간으로 Fabric 기본 워크로드(기본값)
가져오기 모델 내 캐시 가장 빠름 새로 고침 종속 비 패브릭 소스, 최대 성능
DirectQuery 원본 시스템 원본 시스템에 따라 다름 거의 실시간으로 실시간 요구 사항, 매우 큰 외부 데이터
합성물 혼합 다릅니다 혼합 원본 간 시나리오, 하이브리드 요구 사항

스토리지 모드는 AI 사용에도 영향을 줍니다. Copilot 또는 데이터 에이전트는 의미 체계 모델을 쿼리할 때 모델이 현재 반영하는 데이터에 따라 답변을 반환합니다. Direct Lake의 거의 실시간 새로 고침은 AI 쿼리가 예약된 새로 고침을 기다리지 않고 현재 결과를 반환한다는 것을 의미합니다. 사용자와 AI를 모두 제공하는 모델의 경우 스토리지 모드 선택은 두 환경의 품질에 직접 영향을 줍니다.

Fabric Direct Lake부터 시작합니다. 특정 시나리오에 필요한 경우에만 다른 모드로 이동합니다.