피드로 돌아가기
Dev.toDatabase
원문 읽기
Cloud Warehouse 환경 내 Read-efficiency 극대화를 위한 Star Schema 기본 채택 전략
Star Schema vs Snowflake Schema: Which to Use and When
AI 요약
Context
데이터 웨어하우스 설계 시 Dimension 테이블의 Normalization 여부에 따른 Star와 Snowflake Schema 간의 선택 문제 직면. 과거 Storage 비용 절감을 위한 Normalization 중심 설계가 현대 Columnar Storage 환경에서는 불필요한 Join 비용을 발생시키는 병목 지점으로 작용함.
Technical Solution
- Denormalization을 통한 Dimension 테이블의 단일 Flat Table 구조 설계로 Query 복잡도 감소
- Fact Table에서 Dimension Table로 이어지는 Join 경로를 최소화하여 Read-heavy 워크로드 최적화
- Columnar Engine의 압축 메커니즘을 활용하여 반복 데이터로 인한 Storage 오버헤드 제거
- 특정 대규모 Dimension이나 빈번한 업데이트가 필요한 속성에 한해서만 부분적 Snowflake 구조 적용
- Write-efficiency보다 Read-efficiency에 우선순위를 둔 분석 중심의 아키텍처 지향
실천 포인트
- 현대적 Cloud Data Warehouse 사용 시 기본값으로 Star Schema를 채택하고 있는가? - 불필요한 Normalization으로 인해 Analyst가 작성하는 SQL의 Join 횟수가 증가하고 있지 않은가? - 수천만 건 이상의 대규모 Dimension 및 엄격한 Governance 규칙이 존재하는 특수 사례인지 검토했는가? - Columnar Compression 성능을 신뢰하고 Storage 최적화보다 Query 성능 최적화에 집중하고 있는가?