2009-12-03 2 views
1

OLAP 큐브의 시간 차원을 다른 차원과 마찬가지로 자체 테이블에 두는 것이 일반적입니다.MySQL OLAP 큐브에서 외부화 된 시간 차원?

내 질문은 무엇입니까?

는 단순히 장점 대신 큐브 자체가 timestamp 열 필요없이, 일부 time_id 외부 키에 큐브와 결합되어 (int, timestamp)time_dimension 테이블이하는 것입니다 무엇을 볼 수 없습니다.

기본적으로 시점은 변경 가능하지 않으며 일정하며 그 자체의 값입니다. 주어진 time_id에 대한 관련 값을 변경하려고 할 가능성이 매우 높습니다.

또한 timestamp 열 유형은 일반적으로 키가 될 int 유형과 마찬가지로 4 바이트 너비입니다 (MySQL의 경우). 따라서 공간을 절약 할 수도 없습니다.

제 동료들과 논의하면서, 제가 생각해 낼 수있는 다소 합리적인 논쟁은 다른 차원과의 일치입니다. 그러나 나는이 주장이 다소 약하다는 것을 안다.

답변

3

시간 차원 테이블에 주/월/년/분기와 같은 여러 열이 포함되어있어 특정 분기에 대해 모든 X를보다 빠르게 쿼리 할 수 ​​있다고 생각합니다.

대다수의 OLAP 큐브가 시간이 지남에 따라 쿼리를 얻기 위해 작성되었다는 점을 감안할 때 이것은 나에게 의미가 있습니다.

1

패디가 정확합니다. 시간 차원에는 시간 프리미티브에 유용한 "별칭"이 포함되어 있습니다. 분기 별, 공휴일 등과 같은 날짜 자체에 대한 유용한 정보를 캡처 할 수 있습니다. 쿼리에서 모든 공휴일을 코딩 할 필요가 없기 때문에 훨씬 빠른 쿼리를 작성할 수 있습니다.