2014-12-29 2 views
1

ROLAP/HOLAP 큐브를 만든 후 mdx 쿼리를 처리하는 데 문제가 있습니다. MOLAP 큐브를 만들면 모든 것이 잘 작동합니다 (0-2000 밀리 초 정도의 처리 시간).하지만 큐브 구조를 변경하면 ROLAP/HOLAP에 내 mdx 쿼리는 매우 오랜 시간 (20 분 이상 끝나지 않음)을 호출합니다. 그렇지 않으면 (Rolap/Holap 큐브) 산술 오버플로 오류가 발생합니다. 데이터웨어 하우스에는 약 20 억 (미국 빌리 온) 레코드가 있습니다.산술 오버플로 HOLAP/ROLAP하지만 MOLAP은 아님

arithmetic overflow error converting expression to data type int 22003 

내가 도움을 매우 감사하게 될 것입니다 : 나는 여기에 2014 년

내가 얻을 오류입니다 비주얼 스튜디오 2013 데이터 도구 및 Microsoft SQL Server를 사용!

답변

1

MOLAP :

데이터 전처리 및 큐브에 저장됩니다. 따라서 MDX 쿼리가 실행될 때마다 큐브에서 직접 집계 된 데이터를 선택합니다. MDX의 복잡성은 관계형 데이터 원본에 영향을 미치지 않습니다. 결론 : 빠르고 (큐브가 처리 된 후) 데이터 원본과 독립적입니다.

ROLAP : MDX 쿼리를 실행할 때마다

, 그것은 SQL로 변환 차례로, 이 조잡, 말하기는 배경에있는 데이터가 관계형 데이터 소스에서 가져온 것입니다. 데이터는 실시간으로 가져 오므로 명백히 느립니다 (표준 최적화 된 SQL 쿼리만큼 속도가 느립니다.) MDX가 매우 간단한 경우가 아니면 속도면에서 MOLAP과 일치 할 수 없습니다. 관계형 데이터베이스는, 일반적으로 (그 중 하나 인 데이터 형식 오버 플로우) 아래의 관계형 데이터베이스와 관련된 제한되어 결론을 :. 그것은 실시간이지만 느린되는 비용과 에 온다 기본 관계형 데이터 소스에 따라 다릅니다.

HOLAP

을 두 세계의 장점을 결합하려고 시도하지만 여전히 ROLAP과 동일한 제한 사항이 있습니다.

최하위 라인 !! 따라서 ROLPA/HOLAP을 사용하면 쿼리가 느리고 오류가 발생하기 쉽습니다.

+0

조언을 주셔서 감사합니다. molap/holap/rolap의 실행 쿼리 규칙을 알고 있습니다. 또한 mdx 쿼리 실행이 rolap에서 크게 느려지는 것을 알고 있지만, 몰라브에서 실행되는 쿼리는 알지 못합니다. 16 밀리 초 단위의 집계, 20 분의 롤업 실행 및 종료되지 않았습니다! 나는 창고를 줄일 수 있으므로 (20mln에서 2ml로 줄임) rolap/holap의 쿼리가 올바르게 실행 중입니다. – MNie

관련 문제