피드로 돌아가기
Stop Guessing, Start Modeling: Relationships, Schemas & Joins in Power BI
Dev.toDev.to
Database

VertiPaq 엔진 최적화를 위한 Star Schema 기반 데이터 모델링 전략

Stop Guessing, Start Modeling: Relationships, Schemas & Joins in Power BI

Angellicah2026년 6월 30일13intermediate

Context

관계 정의가 누락된 단순 테이블 적재 방식으로 인한 데이터 불일치 및 필터링 오류 발생. Columnar Storage 기반의 VertiPaq 엔진 특성을 고려하지 않은 비효율적 스키마 설계로 인한 쿼리 성능 저하 및 DAX 복잡도 증가.

Technical Solution

  • Fact Table과 Dimension Table의 명확한 분리를 통한 Star Schema 구조 설계로 쿼리 경로 최적화
  • Columnar Storage의 인메모리 연산 효율을 높이기 위해 텍스트 기반 키 대신 Integer Surrogate Key 채택
  • 필터 전파 방향의 복잡성을 제어하기 위해 Single Cross-filter Direction을 기본 원칙으로 설정
  • 다대다 관계의 복잡도를 해결하고 데이터 무결성을 확보하기 위한 Bridge Table 도입
  • USERELATIONSHIP 함수를 활용한 Inactive Relationship 제어로 런타임 시 동적 관계 활성화 구현
  • 정규화된 Snowflake Schema의 Join 비용을 줄이기 위해 가능한 수준의 Denormalization 수행

- 모든 모델의 기본 구조를 Star Schema로 설계했는지 확인 - Key 컬럼의 데이터 타입이 Integer로 최적화되었는지 검토 - Bidirectional Filter 사용을 최소화하고 Single Direction을 유지하고 있는지 체크 - 다대다 관계 발생 시 Bridge Table을 통한 관계 해소 여부 확인

원문 읽기