데이터 마트 설계 시 비즈니스 요구, 성능, 갱신 주기 고려사항 서술
데이터 마트를 설계할 때 가장 먼저 고려하는 건 '누가 어떤 질문에 답하기 위해 이 마트를 쓰는가'입니다. 사용 목적이 명확해야 어떤 팩트 테이블과 차원 테이블을 만들어야 하는지가 결정됩니다. 스키마 구조로는 스타 스키마를 기본으로 고려합니다. 차원 테이블을 중복을 허용하더라도 납작하게 만들어두면 쿼리 단순성과 응답 속도가 올라갑니다. 성능 측면에서는 집계 수준과 파티셔닝 전략이 핵심입니다. 일별로 집계할지 시간별로 할지에 따라 테이블 크기가 크게 달라지고, 쿼리 패턴에 맞는 파티션 키를 설정해야 스캔 비용이 줄어듭니다. 갱신 주기도 고려해야 합니다.
실시간 업데이트가 필요한 지표인지, 일 배치로 충분한지를 구분해야 아키텍처 선택이 달라집니다. 수업 프로젝트에서 직접 설계한 경험에서, 처음에 차원 테이블 정규화를 너무 강하게 해서 쿼리가 복잡해진 경험이 있었습니다. 분석용 마트는 읽기 성능 최적화를 쓰기 편의보다 우선해야 한다는 걸 배웠습니다.