그룹 희소 멤버 조합

Essbase 블록 저장영역(BSO) 데이터 로드의 성능을 향상시키기 위해 필요한 디스크 I/O(읽기 및 쓰기)의 양을 최소화하도록 데이터를 구성할 수 있습니다.

이 섹션은 합산 저장영역 큐브에는 적용되지 않습니다.

성능을 향상시키는 가장 효과적인 전략은 큐브를 읽거나 쓰는 동안 Essbase가 수행해야 하는 디스크 I/O 수를 최소화하는 것입니다. Essbase는 블록별로 데이터 블록을 로드하므로 물리적 블록 조직에 해당하는 소스 데이터를 구성하면 Essbase가 수행해야 하는 물리적 디스크 I/O 수가 줄어듭니다.

희소 차원의 고유한 조합이 동일한 레코드가 함께 그룹화되도록 출처 데이터를 정렬합니다. 이 배열은 데이터베이스의 블록에 해당합니다.

이 장의 예에서는 이 전략에 따라 데이터를 구성할 수 있는 방법에 대해 설명합니다. 이 예에서는 아래에 설명된 대로 Sample.Basic 큐브의 하위 세트를 사용합니다.

표 33-1 예제의 차원 및 값

희소, 비속성 차원 밀집 치수

시나리오(예산, 실제)

측정(판매, 마진, COG, 이익)

제품 (콜라, 루트 맥주)

연도(1월, 2월)

마켓 (오하이오주 플로리다주)

 

주:

데이터를 속성 차원으로 로드하지 않으므로 희소하지만 이 설명과 관련이 없습니다.

다음 데이터 소스를 고려하십시오. 희소 차원 멤버 조합별로 그룹화되지 않았으므로 이 데이터는 최적으로 정렬되지 않았습니다. Essbase는 각 레코드를 읽을 때 희소 차원의 서로 다른 멤버를 처리해야 합니다.

Jan
Actual    Cola          Ohio      Sales    25
Budget    "Root Beer"   Florida   Sales    28
Actual    "Root Beer"   Ohio      Sales    18
Budget    Cola          Florida   Sales    30

위의 데이터 소스는 Essbase가 1개 대신 4개 블록에 액세스하므로 느리게 로드됩니다.

동일한 샘플 기본 큐브에 대해 보다 최적으로 구성된 다음 데이터 소스에는 희소 차원 멤버의 고유한 조합(실제 -> 콜라 -> 오하이오)으로 정렬된 레코드가 있습니다. Essbase는 다음 레코드를 로드하기 위해 하나의 블록에만 액세스합니다.

Actual     Cola    Ohio    Jan   Sales     25
Actual     Cola    Ohio    Jan   Margin    18
Actual     Cola    Ohio    Jan   COGS      20
Actual     Cola    Ohio    Jan   Profit     5

소스 데이터를 최적화하여 레코드당 많은 셀을 임포트하려면

  1. 레코드가 고유한 희소 차원 멤버 조합으로 그룹화되었는지 확인하십시오.

  2. 여러 값을 제공하는 레코드의 차원이 밀집 차원이 되도록 레코드를 정렬합니다.

다음 예제에서는 머리글 레코드를 사용하여 밀집 측정 단위 차원의 멤버를 식별합니다. 데이터는 먼저 밀집 차원 연도의 멤버별로 정렬된 다음 계층적으로 다른 차원의 멤버별로 그룹화됩니다. 각 레코드에 측정항목 차원에 대한 다중 값이 제공됩니다.

                                 Sales  Margin   COG  Profit
Jan Actual  Cola         Ohio       25      18    20       5
Jan Actual  Cola         Florida    30      19    20      10
Jan Actual  "Root Beer"  Ohio       18      12    10       8
Jan Actual  "Root Beer"  Florida    28      18    20       8

이 예제에서 두 개의 행이 필요한 머리글과 첫번째 데이터 행이 있습니다. 이전 예제에서는 동일한 데이터에 대해 네 개의 행이 필요합니다.