스타 다이어그램을 모델링하도록 요청 받았습니다.큰 치수의 주기적 스냅 샷 사실 테이블
- 날짜 (년, 월, 일, 주, 분기, ...)
- 장소 (500 개 고유 값)
- 제품 (80K 다른 제품)
나는 3 차원이
주요 질문은 모든 장소에서 하루가 끝날 때 얼마나 많은 항목 (제품)이 저장되는지입니다.
차원 모델링과 관련하여 약간의 학습을 마친 후. 주기적 스냅 샷 테이블을 구현해야한다고 생각합니다. Kimball Docs를 읽는 동안 필자는주기적인 스냅 샷이 모든 차원 조합에 대한 항목을 필요로한다는 것을 알아 냈습니다. 즉, 매일 40M 행을 추가해야합니다 (80k * 500).
제품이 (실제) 느린 발동기이고 많은 장소에 장시간 제품이 인 제품이 있다는 것을 알고 있다면 이는 극단적 인 잔인한 소리처럼 들립니다.
FYI 소스 DB의 트랜잭션은 3 년 후 150k 행입니다.
매일 40M 행을 실제로 추가해야합니까? 아니면 비어있는 매장에 제품을 지정하여 추가 할 수 있습니까? 또한 어떤 이유로 든 모든 상점이 비어있는 경우에도 해당 일에 대한 항목을 만들어야합니까? (매장 및 제품의 경우 N/A가 필요합니까?)
나중에 질문 할 질문을 모르기 때문에 항상 가장 낮은 곡물로 가야합니다. "N/A"가있는 빈 상점을 처리하는 규칙을 정의하면이를 수행 할 수 있습니다. 또는 어쩌면 비즈니스에서이 케이스를 식별하고 이후에 모델링 할 것인지 묻습니다. – tobi6
나는 가장 낮은 그레인에 동의하지만 트랜잭션으로 만들고 싶지 않다. 내 쿼리를 더 복잡하게 만든다. (목표는 각 매장에 대해 지난 10 일간의 그래프를 갖고 트랜잭션 그레인으로 많은 날짜가 채워지지 않을 것임) – Bee157
나는 항상 가장 복잡한 세분성을 갖도록하기 위해 좀 더 복잡한 질의와 좋은 인덱스를 사용했다. – tobi6