데이터 예외사항역
한 Essbase 차원의 한 멤버와 다른 차원의 한 멤버가 교차하는 것은 데이터 값입니다. 데이터베이스를 서로 다른 방식으로 분할하면 멤버 관계를 기반으로 하는 데이터에 대한 관점이 제공됩니다. 데이터를 저장하고 액세스하기 위해 Essbase는 블록과 인덱스를 사용합니다.
주:
이 정보는 BSO(블록 스토리지) 큐브에만 적용되고 ASO(집계 스토리지) 큐브에는 적용되지 않습니다.
Essbase 데이터베이스의 각 데이터 값은 하나의 셀에 저장됩니다. 특정 데이터 값은 각 표준 차원에 따라 해당 좌표를 지정하여 참조됩니다.
주:
Essbase는 속성 차원에 대한 데이터를 저장하지 않습니다. Essbase는 사용자가 데이터를 검색할 때 속성 차원 데이터를 동적으로 계산합니다.
그림 2-13에 표시된 단순화된 데이터베이스를 고려해 보십시오. 이 데이터베이스에는 계정, 시간 및 시나리오의 세 가지 차원이 있습니다.
-
계정 차원에는 Sales, COGS, Margin 및 Margin %의 네 멤버가 있습니다.
-
시간 차원에는 4개의 분기 멤버가 있고 Qtr1에는 3개의 월 멤버가 있습니다.
-
시나리오 차원에는 예산 값에 대한 예산과 실제 값에 대한 실제라는 두 개의 하위 멤버가 있습니다.
그림 2-13 다차원 데이터베이스 개요

데이터 값
한 Essbase 차원의 한 멤버와 다른 차원의 한 멤버가 교차하는 것은 데이터 값을 나타냅니다. 데이터 값은 가장 작은 데이터 슬라이스입니다.
아래 예제에는 세 개의 차원(계정, 시간 및 시나리오)이 있으므로 데이터베이스의 차원 및 데이터 값을 큐브로 나타낼 수 있습니다.
그림 2-14 3차원 데이터베이스

Sales를 지정할 때 Sales가 Actual 및 Budget과 교차하는 8개의 Sales 값이 포함된 데이터베이스의 슬라이스를 지정합니다.
그림 2-15 데이터베이스의 세일즈 슬라이스

다른 차원이 달라질 수 있도록 허용하면서 하나 이상의 차원을 상수 값으로 수정하기 위해 데이터베이스 양을 분할합니다.
Actual Sales를 지정할 때는 Actual과 Sales가 교차하는 네 개의 Sales 값이 포함된 데이터베이스의 슬라이스를 지정합니다.
그림 2-16 실제, 데이터베이스의 세일즈 슬라이스

데이터 값은 데이터베이스의 한 셀에 저장됩니다. 다차원 데이터베이스에서 특정 데이터 값을 참조하려면 각 차원에서 해당 멤버를 지정합니다. 예를 들어, 슬라이스 Sales, Jan, Actual은 하나의 데이터 값으로 구성됩니다. 데이터 값은 교차 차원 연산자(->)를 사용하여 Sales -> Actual -> Jan으로 표현할 수도 있습니다.
그림 2-17 Sales->Jan->Actual Data Value

데이터 블록 및 인덱스 시스템
Essbase는 데이터 블록과 인덱스 시스템의 두 가지 유형의 내부 구조를 사용하여 데이터를 저장하고 액세스합니다.
Essbase는 희소 표준 차원 멤버의 각 고유 조합에 대해 데이터 블록을 생성합니다(희소 차원 멤버 조합에 대해 하나 이상의 데이터 값이 존재함). 데이터 블록은 해당 희소 차원 멤버 조합의 모든 밀밀도 차원 멤버를 나타냅니다.
Essbase는 각 데이터 블록에 대한 인덱스 항목을 생성합니다. 인덱스는 희소 표준 차원 멤버의 조합을 나타냅니다. 하나 이상의 데이터 값이 있는 희소 표준 차원 멤버의 각 고유 조합에 대한 항목을 포함합니다.
예를 들어, 그림 2-18에 표시된 Sample.Basic 데이터베이스 아웃라인에서 Product and Market은 희소 차원입니다.
그림 2-18 Sample.Basic 데이터베이스의 제품 및 시장 차원

뉴욕의 카페인 프리 콜라에 대한 데이터가 있는 경우 Essbase는 카페인 프리 콜라(100-30) -> 뉴욕의 희소 멤버 조합에 대한 데이터 블록 및 인덱스 항목을 생성합니다. Caffeine Free Cola가 플로리다에서 판매되지 않은 경우 Essbase는 희소 멤버 조합(Caffeine Free Cola, 100-30) -> 플로리다에 대한 데이터 블록 또는 인덱스 항목을 생성하지 않습니다.
데이터 블록 Caffeine Free Cola (100-30) -> New York은 Caffeine Free Cola (100-30) -> New York의 모든 연도, 측정 및 시나리오 차원을 나타냅니다.
각 고유 데이터 값은 데이터 블록의 셀에 있는 것으로 간주할 수 있습니다. Essbase는 데이터 값을 검색할 때 인덱스를 사용하여 적절한 데이터 블록을 찾습니다. 그런 다음 데이터 블록 내에서 데이터 값이 포함된 셀을 찾습니다. 인덱스 항목은 데이터 블록에 대한 포인터를 제공합니다. 인덱스는 기존 데이터 블록에 대한 포인터만 포함하므로 희소 데이터를 효율적으로 처리합니다.
그림 2-19는 Sample.Basic 데이터베이스에 대한 데이터 블록의 일부를 보여줍니다. 블록의 각 차원은 Sample.Basic 데이터베이스의 밀집 차원(시간, 측정 및 시나리오)을 나타냅니다. 제품 및 시장 희소 차원의 각 고유 멤버 조합에 대해 데이터 블록이 있습니다(조합에 대해 하나 이상의 데이터 값이 존재함).
그림 2-19 Sample.Basic 데이터베이스에 대한 데이터 블록의 일부

각 데이터 블록은 밀집 차원 멤버의 가능한 각 조합에 대해 고정된 순서가 지정된 위치를 포함하는 다차원 배열입니다. 블록의 셀에 액세스할 때는 순차적 검색 또는 인덱스 검색이 포함되지 않습니다. 검색은 거의 즉각적으로 이루어지므로 검색 및 계산 속도가 최적화됩니다.
Essbase는 데이터베이스 아웃라인의 밀집 차원에서 멤버의 순서에 따라 데이터 블록의 셀을 정렬합니다.
A (Dense)
a1
a2
B (Dense)
b1
b11
b12
b2
b21
b22
C (Dense)
c1
c2
c3
D (Sparse)
d1
d2
d21
d22
E (Sparse)
e1
e2
e3그림 2-20의 블록은 앞의 데이터베이스 아웃라인에서 희소 멤버 d22와 e3의 조합 내에서 3개의 밀집 차원을 나타냅니다. Essbase에서는 멤버 조합이 교차 차원 연산자로 표시됩니다. 다차원 연산자의 기호는 ->이므로 d22 -> e3은 d22 및 e3의 블록을 나타냅니다. A, b21 및 c3의 교차점은 A -> b21 -> c3으로 작성됩니다.
그림 2-20 d22의 밀집 치수를 나타내는 데이터 블록 -> e3

Essbase는 희소 차원 D 및 E의 멤버에 대한 모든 고유 조합에 대해 데이터 블록을 생성합니다(조합에 대해 하나 이상의 데이터 값이 존재함).
그림 2-20의 데이터 블록과 같은 데이터 블록에는 데이터 값을 포함하지 않는 셀이 포함될 수 있습니다. 블록에 하나 이상의 데이터 값이 있는 경우 데이터 블록이 생성됩니다. Essbase는 디스크에 누락된 값이 있는 데이터 블록을 압축하여 블록을 메모리로 가져올 때 각 블록을 완전히 확장합니다. 데이터 압축은 선택 사항이지만 기본적으로 활성화되어 있습니다.
조밀하고 희소한 표준 치수를 신중하게 선택하면 데이터 블록에 빈 셀이 많이 포함되지 않도록 하여 디스크 스토리지 요구 사항을 최소화하고 성능을 향상시킬 수 있습니다. Essbase에서는 빈 셀을 #MISSING 데이터라고 합니다.


