Important
이 기능은 베타 버전으로 제공됩니다. 사용하려면 작업 공간 관리자가 Previews 페이지에서 AI/BI 대시보드 물질화를 켜야 합니다. Azure Databricks 미리 보기 관리를 참조하세요.
AI/BI 대시보드는 대시보드 범위가 적용된 데이터셋 위에 구축되어 있습니다. 기본적으로 모든 데이터셋은 실시간으로 평가되기 때문에, 대시보드가 로드되거나 뷰어가 상호작용할 때마다 기본 쿼리, 조인, 소스 스캔이 SQL 웨어하우스에서 다시 실행됩니다. 비싼 소스 쿼리나 많은 조인으로 구성된 대시보드의 경우, 매번 상호작용할 때마다 쿼리를 다시 실행하는 것은 느리고 비용이 많이 듭니다.
데이터셋 물질화는 결과를 데이터셋 뒤에 미리 계산하고 저장하므로, 많은 작업이 대시보드 로드나 상호작용마다 이루어지는 대신 일정에 따라 한 번씩 처리됩니다. 상호작용은 저장된 결과에서 렌더링되어 게시된 대시보드가 더 빨라집니다.
구체화는 Unity Catalog 메트릭 뷰 구체화 기술을 사용합니다. 메트릭 뷰의 구체화를 참조하세요.
무엇이 구체화되는가
Materialization은 데이터셋 데이터를 미리 계산하고 저장합니다. 저장되는 내용은 두 가지 데이터셋 유형에 따라 다릅니다:
- SQL 데이터셋의 경우, 전체 쿼리 결과가 미리 계산되어 저장됩니다.
- 로컬 메트릭 뷰의 경우, 행 수준 데이터 모델(소스 데이터, 조인, 필터 필드)이 저장되지만, 측정값은 쿼리 시점에 미리 계산된 기준에 대해 계산됩니다.
Benefits
데이터셋 물질화는 다음과 같은 이점을 제공합니다:
- 리모델링 없이 더 빠른 대시보드. 비용이 많이 드는 조인과 소스 스캔은 매 로드가 아닌 일정에 따라 한 번씩 실행되어, 대시보드가 큰 테이블을 재조회할 때 대기 경험을 없애줍니다.
- 읽기 시 웨어하우스 비용 절감. 기본 데이터 모델을 미리 계산하면 모든 뷰어와 페이지 로드마다 같은 무거운 쿼리를 반복하지 않아 중복된 웨어하우스 사용량을 줄입니다.
- 운영 간접비가 전혀 없습니다. Azure Databricks는 구체화된 데이터를 생성, 저장, 갱신해 줍니다. 관리해야 할 파이프라인, 스키마, 저장소가 없습니다.
Costs
데이터셋 물질화는 저장 및 컴퓨팅 비용을 발생시킵니다:
- 스토리지. 물질화된 데이터를 저장하는 데 비용을 지불합니다. 요금은 사용되는 기본 저장 공간에 따라 달라집니다. Unity 카탈로그 내 저장소에 대한 개요는 Unity 카탈로그를 이용한 클라우드 객체 저장소 연결(Connect to cloud object storage)을 참조하세요.
- 계산하기 초기 생성과 갱정은 서버리스 Lakeflow 파이프라인에서 실행되며 컴퓨트 요금이 발생합니다. Lakeflow 파이프라인 가격 책정을 참조하세요.
이러한 비용을 반복적인 소스 스캔 및 조인을 피함으로써 얻는 비용 절감과 비교해 보세요. 데이터 신선성과 컴퓨팅 비용을 균형 있게 고려하는 새로고침 일정을 선택하세요.
물질화를 사용할 때
물질화가 항상 성과를 위한 올바른 지렛대는 아닙니다. 이점은 데이터셋의 반복적이고 완전한 재계산(스캔 및 결합)을 미리 계산된 테이블에 대한 읽기로 대체할 수 있다는 점에서 나옵니다. 다음 중 하나 이상이 적용될 때 데이터셋을 구체화하세요:
- 매우 상호작용이 풍부한 대시보드입니다. 대시보드에는 여러 필터, 교차 필터링, 또는 드릴다운 기능이 있습니다. 물질화가 없으면 매번 상호작용할 때마다 데이터셋 쿼리가 다시 실행되므로, 그 데이터셋을 미리 계산해두는 것이 세션에서 반복적으로 효과를 발휘합니다.
- 비싼 데이터셋. 이 데이터셋은 다중 테이블 조인, 헤비 뷰 또는 공통 테이블 표현식(CTE), 창 함수 또는 여러 테이블에 걸친 합집합을 기반으로 구축됩니다.
- 큰 테이블에 선택적 필터를 적용하세요. 데이터셋은 수십억 행 중에서 한 지역이나 최근 7일과 같은 작은 하위 집합을 선택합니다. 물질화는 소수의 하위 집합만 저장합니다.
- 예정된 신선함에 대한 내성. 데이터는 실시간일 필요는 없고, 예를 들어 시간별 또는 일별과 같이 대시보드의 새로고침 일정에 맞는 최신 상태이면 됩니다.
소규모 데이터셋이나 거의 로드되지 않는 대시보드의 경우, 실시간 쿼리가 충분히 빠르고, 매니버리제이션이 비용을 들일 가치가 없을 수도 있습니다. 매머리얼라이제이션은 게시 및 데이터셋별로 옵트인(opt-in)으로 이루어지기 때문에, 효과가 있는 곳에만 적용할 수 있습니다.
요구 사항
- AI/BI 대시보드에 액세스합니다.
- 대시보드는 데이터 권한 공유 옵션으로 공개됩니다. 개별 데이터 권한으로 게시된 대시보드에는 머티리얼라이제이션이 지원되지 않습니다. 공유 데이터 사용 권한이란?을 참조하세요.
- 작업 공간에서 서버 없는 컴퓨트가 활성화되었습니다. 초기 생성과 새로고침은 서버리스 Lakeflow 파이프라인에서 실행됩니다. 서버리스 SQL 웨어하우스 설정을 참조하세요.
- Databricks Runtime 17.3 이상에서 실행되는 SQL 웨어하우스에 대한 CAN USE 권한
데이터셋 물질화 활성화
데이터셋은 기본적으로 물질화 모드로 선택되지만, 게시 시 Materialize datasets 옵션을 켜기 전까지는 대시보드에서 물질화 기능이 꺼져 있습니다.
어떤 데이터셋을 구현할지 선택하세요
데이터 탭에서 데이터셋 옆의 물질화 아이콘을 클릭하여 포함하거나 제외하세요.
자료를 물질화에서 제외하면, 해당 데이터셋에 대한 쿼리는 실시간 결과를 반환하고, 물질화된 데이터셋에 대한 쿼리는 최신 물질화 실행을 반영합니다. 모든 데이터셋이 동일한 물질화 일정을 사용할 때, 위젯은 일관된 데이터 신선성을 유지합니다.
구체화하여 게시
- 초안 대시보드에서 게시 를 클릭하세요.
- 게시 대화상자에서 데이터 권한을 공유 하세요.
- 데이터 탭에서 선택한 데이터셋을 실체화하려면 Materialize datasets 옵션을 켜세요.
- 게시를 클릭합니다.
각 게시마다 Materialize datasets 옵션을 켜세요.
새로 고침 일정 설정
구체화된 데이터는 대시보드의 새로 고침 일정에 따라 갱신됩니다. 대시보드 일정을 사용해 새로고침 빈도를 조정하세요.
대시보드에 일정이 없다면, 물질화가 활성화된 상태에서 발행하면 일일 새로고침 일정이 추가됩니다. 기존 시간표는 보존되어 있습니다. 활성 일정이 없으면 물질화된 데이터는 생성 후 자동으로 새로고침되지 않습니다.
물질화 상태 보기
게시된 대시보드에서 열고 정보를 선택하세요. 사이드바는 각 물질화된 데이터셋의 상태와 새로고침 정보를 보여줍니다.
재사용 및 정화
Azure Databricks는 귀하의 물질화된 데이터의 수명 주기를 관리합니다:
- 수정본 간에 재사용하세요. 같은 사용자가 대시보드를 재게시하고 데이터셋이 변경되지 않은 경우, 기존 물질화가 재사용되어 낭비되는 컴퓨팅을 피할 수 있습니다.
- 자동 정리. Azure Databricks는 정의가 변경되거나 게시가 취소된 후처럼, 게시된 대시보드가 더 이상 참조하지 않는 머티리얼라이제이션을 제거합니다.
재게시가 반드시 구체화된 데이터를 새롭게 하는 것은 아닙니다.
Limitations
데이터셋 물질화에는 다음과 같은 한계가 있습니다:
- 게시된 대시보드만 제공됩니다. 머티리얼라이제이션은 게시된 대시보드에 적용됩니다. 드래프트는 계속해서 실시간 데이터를 조회합니다.
- 매개변수화된 데이터셋이 없습니다. 매개변수를 정의하는 데이터셋은 물질화할 수 없습니다. 매개변수화된 데이터셋을 물질화에 선택하면, Azure Databricks는 이를 물질화하지 않고 실패로 보고합니다.
- 새로고침은 대시보드 일정만 따릅니다. 데이터셋별로 별도의 새로고침 일정이 없습니다. Materialization은 대시보드에 설정된 예약 새로 고침 주기에 맞춰 새로 고쳐집니다.
- 서버리스 필수. 초기 생성과 새로고침은 서버리스 Lakeflow 파이프라인에서 실행되므로, 작업 공간에 서버 없는 컴퓨트가 활성화되어 있어야 합니다.
- 보호된 데이터는 머티리얼라이제이션에서 제공되지 않습니다. 행 수준의 보안, 열 마스크, 속성 기반 접근 제어(ABAC) 정책으로 보호되는 소스 데이터에 대해서는 물질화를 생성할 수 없습니다. 물질화 생성 후 소스 테이블에 행 수준의 보안이 추가되면, 이후 메트릭 뷰에 대한 쿼리는 물질화를 우회하고 소스 데이터를 대상으로 실행됩니다.
- 데이터 공유 권한 필요. 공유 데이터 권한으로 게시할 때만 물질화를 활성화할 수 있습니다. 개별 데이터 권한으로 게시할 때는 이 기능을 활성화할 수 없습니다.
질문과 대답
다음 질문들은 데이터셋 물질화 동작, 새로고침, 권한 등을 다룹니다.
물질화가 제 지표나 결과에 영향을 미치나요?
물질화는 데이터셋의 쿼리 로직을 유지하지만, 데이터는 최신 성공적으로 갱정된 데이터를 반영합니다. 로컬 메트릭 뷰의 경우, 쿼리 시점에 물질화된 데이터를 대상으로 측정값을 계산합니다. 무엇이 현실화되는지 지켜보세요.
물질화가 준비되지 않았거나 사용할 수 없다면 어떻게 되나요?
쿼리 시점에 물질화가 준비되지 않았거나 사용할 수 없으면, 쿼리는 실시간 데이터를 쿼리하는 대신 오류를 반환합니다. 물질화가 완료될 때까지 기다렸다가 쿼리를 다시 실행하세요.
물질화된 데이터는 어디에 저장되나요?
Azure Databricks는 게시된 대시보드에 한정된 관리되는 내부 스토리지에 구체화된 데이터를 저장합니다. Unity 카탈로그에 게시할 자료가 없고, 관리할 스키마나 저장소도 없습니다. 접근은 대시보드와 기본 데이터 권한을 계속 따라갑니다.
물질화된 데이터는 얼마나 자주 새로고침되나요?
구체화된 데이터는 대시보드의 새로 고침 일정에 따라 갱신됩니다. ' 리프레시 스케줄을 설정하기'를 참조하세요.
물질화는 어떤 컴퓨트를 사용하나요?
초기 생성과 새로고침은 모두 Azure Databricks가 관리하는 서버리스 Lakeflow 파이프라인에서 실행됩니다. 이 때문에 작업 공간에서 서버리스 컴퓨트를 활성화해야 합니다.
물질화가 권한에 영향을 미치나요?
No. 물질화는 데이터에 대한 추가 접근을 허용하지 않습니다. 접근은 여전히 대시보드의 공유 설정과 게시에 사용된 권한을 따릅니다.
재출판하면 무슨 일이 일어나나요?
기존 마티얼라이제이션은 동일한 사용자가 변경되지 않은 데이터셋을 재게시할 때 재사용할 수 있습니다. 재 사용 및 정리를 참조하세요. 각 게시마다 Materialize datasets 옵션을 켜세요.