2017-12-05 21 views
1

두 개의 QlikView (두 개의 .qvw 파일) 보고서가 거의 동일한 내용을 가지고 있습니다. 하나는 'Microsoft OLE DB 공급자 for SQL Server'를 사용하여 데이터웨어 하우스에서 데이터를로드합니다. 다른 하나는 'Analysis Services 용 Microsoft OLE DB 공급자'를 사용하여 큐브에서 데이터를로드합니다.큐브 데이터를 사용하는 동안 QVW 파일 크기가 더 큽니다

그러나 큐브 데이터가있는 파일의 크기는 DW 데이터가있는 파일보다 훨씬 큽니다. 왜 이런 일이 발생했는지 알고 싶습니다.

감사합니다.

+0

데이터를 살펴 보시기 바랍니다. 열, 행 또는 테이블 개수에 차이가 있습니까? 데이터 유형이 다른가요? – tobi6

답변

2

almost the same content :

QlikView/QlikSense 파일 크기가 열 수와의 고유 값에 따라 있습니다 정의합니다.

일반적으로 Qlik은 모든 데이터를 그대로 저장하지 않습니다. 대신 데이터를 구별 값 및 메모리 포인터 목록으로 저장하고 데이터 모델이 빌드되는 방식을 저장합니다. 예를 들어

:

데이터베이스에서 두 개의 필드 (1M 행에 모두)가있는 경우 - timestamp 값 유일한 date 값을 다른.

timestamp 필드가 아닌 고유 값을 많이 가지고 있기 때문에 클릭 테크에서 timestamp 값으로 앱이 date 응용 프로그램보다 큰 것 (80 %는 별개의 비 말할 수 있습니다) 및 date는 (가정 해 봅시다 고유 값을 많이 가지고 80 %는 별개입니다.) 그리고 Qlik은 고유 한 값만 백그라운드에 저장합니다.

위의 예제에서 1M 행을 가진 두 개의 필드가있는 데이터베이스에도 불구하고파일이 800k 행 (80 % 비 구별) 및 date (200k (80 % 구별) 행) 파일로 저장됩니다.

간단히 말하지만 일반적으로 고유 값이 많은 필드가 작을수록 더 작은 파일이 생성됩니다. 명확하지 않은 값이 많은 열을 1-2 개 더 추가하면 파일 크기가 상당히 다를 수 있습니다 (특히 더 큰 데이터 세트의 경우).

실제 예 :

  • SO_47650951_1.qvw는 - "1M"행과 1 개 필드가 포함되어 있습니다. 이 파일의 값은 floor(rand() * 100) (1,2,3,4 ... 100)이고 파일 크기는 968Kb
  • SO_47650951_2.qvw - "1M"행이있는 필드가 1 개 있습니다. 그것의 값은 rand() (0.70505229476839, 0.22396470652893, 0.59824940375984 등)이며, 파일 크기는 7,2Mb "
+0

또한 큐브의 데이터가 다차원이므로 MDX 쿼리 결과 열에 멤버 속성과 같은 내용이 더 많이 포함되어 있습니까? – soxmomomo

0

스테판의 대답은 우수하지만 비슷한 동작을 발생한 후 내 자신의 두 센트를 추가 싶었어요.

입니다

Analysis Services 큐브에서 데이터를 가져올 때 고유 한 요소뿐 아니라 차원 계층도 선택할 가능성이 큽니다.

예를 들어 SQL 서버의 쿼리는 5 개의 날짜를 반환 할 수 있지만 분석 서비스 큐브에서는 날짜가 주, 월, 분기, 년 등으로 롤업 될 수 있으므로 50 개의 관련 레코드가있을 수 있습니다. 수출에 포함되는 경우

막대