차원 및 멤버
차원과 멤버를 이해하는 경우 다차원 데이터베이스의 성능을 이해하는 데 도움이 됩니다.
예를 들어, Year는 Time 유형의 차원이고 Qtr1은 멤버입니다.
Year Time
Qtr1 (+)
Jan (+)
......Feb (+)
......Mar (+)두 가지 유형의 차원은 표준 및 속성입니다.
-
표준 차원은 업무 계획의 핵심 구성 요소를 나타내며 종종 부서 기능과 관련이 있습니다. 일반적인 표준 차원은 시간, 고객사, 제품 라인, 시장 및 부서입니다. 차원은 멤버보다 자주 변경되지 않습니다.
-
속성 차원은 표준 차원에 연계되어 있습니다. 속성 차원을 통해 멤버 속성(특성)을 기반으로 표준 차원의 멤버를 그룹화하고 분석합니다. 예를 들어, 유리에 포장된 카페인화되지 않은 제품의 수익성을 캔으로 포장된 카페인화되지 않은 제품의 수익성과 비교할 수 있습니다.
멤버는 차원의 개별 구성요소입니다. 예를 들어, 제품 A, 제품 B 및 제품 C는 제품 차원의 멤버일 수 있습니다. 각 멤버는 고유한 이름을 가집니다. 멤버와 연결된 데이터를 저장하거나(이 장에서 저장된 멤버라고 함), 사용자가 데이터를 검색할 때 데이터를 동적으로 계산할 수 있습니다.
Outline Hierarchies
아웃라인을 정의하여 Essbase 큐브 설계를 시작합니다. Outline 조직은 데이터 범주의 관계를 구조 및 수학적 계층으로 반영합니다.
Essbase 데이터베이스(큐브) 개발은 다음 목표를 달성하는 아웃라인을 생성하는 것으로 시작합니다.
-
구조 관계 정의
-
데이터 구성
-
품목 간의 통합 및 수학적 관계를 정의합니다.
멤버 개념은 데이터 계층을 나타내는 데 사용됩니다. 각 차원은 하나 이상의 멤버로 구성됩니다. 멤버는 다른 멤버로 구성될 수 있습니다. 차원을 생성할 때 개별 멤버의 값을 통합하는 방법을 정의합니다. 큐브 아웃라인의 트리 구조 내에서 통합은 트리 분기의 멤버 그룹입니다.
예를 들어, 많은 기업들이 월별 데이터를 요약하고, 월별 데이터를 롤업하여 분기별 수치를 구하고, 분기별 데이터를 롤업하여 연간 수치를 구합니다. 기업은 우편 번호, 구/군/시, 시/도 및 국가별로 데이터를 요약할 수도 있습니다. 모든 차원을 사용하여 보고를 위해 데이터를 통합할 수 있습니다.
예를 들어, Sample.Basic 큐브에서 연도 차원에는 분기 멤버 Qtr1, Qtr2, Qtr3 및 Qtr4가 포함되며, 각 멤버는 개별 분기에 대한 데이터를 저장하고 Year는 해당 연도에 대한 요약 데이터를 저장합니다. Qtr1에는 1월, 2월 및 3월이 포함되며, 각 데이터는 1개월 동안 저장되고 Qtr1에는 해당 분기에 대한 요약 데이터가 저장됩니다. 마찬가지로 Qtr2, Qtr3 및 Qtr4에는 개별 월을 나타내는 멤버와 분기별 합계를 저장하는 멤버가 포함됩니다.
다음 계층 구조는 Qtr1의 데이터 통합 및 관계를 나타냅니다.
Year Time
Qtr1 (+)
Jan (+)
......Feb (+)
......Mar (+)일부 차원은 상대적으로 적은 멤버로 구성되며 다른 차원에는 수백 또는 수천 개의 멤버가 있을 수 있습니다.
차원 및 멤버 관계
Essbase 아웃라인의 구성은 계층 및 가족 용어를 사용하여 설명됩니다. 이는 차원 내에서 멤버의 역할 및 관계를 쉽게 개념화할 수 있는 방법입니다. 계층적 용어에는 뿌리와 잎과 유사한 세대와 레벨이 포함됩니다. 가족 용어에는 부모, 자녀, 형제자매, 후손 및 조상이 포함됩니다.
이 절의 하위 항목은 아웃라인에서 멤버의 위치를 설명하는 데 표시된 아웃라인을 참조합니다.
그림 2-1 멤버 생성 및 레벨 번호

부모, 자녀 및 형제
개요는 다음과 같은 상위, 하위 및 형제 관계를 보여줍니다.
-
상위 멤버는 그 아래에 분기가 있는 멤버입니다. 예를 들어 마진은 매출 원가 및 매출 원가의 상위 멤버입니다.
-
1차 하위 구성요소는 상위 멤버가 있는 멤버입니다. 예를 들어 매출 및 매출원가는 상위 마진의 하위 항목입니다.
-
동위 멤버는 동일한 세대에 있는 동일한 직속 상위의 하위 멤버입니다. 예를 들어 매출원가와 매출원가는 형제(둘 다 상위 마진을 가짐)이지만 마케팅(동일한 지점 레벨)의 상위가 총 비용이기 때문에 형제가 아닙니다.
후손 및 조상
개요는 다음과 같은 종속 관계와 상위 관계를 보여줍니다.
-
하위 멤버는 상위 아래의 분기에 있는 멤버입니다. 예를 들어 수익, 재고 및 비율은 측정의 하위 항목입니다. 수익, 재고 및 비율의 하위 항목도 측정의 하위 항목입니다.
-
상위 멤버는 멤버 위의 분기에 있는 멤버입니다. 예를 들어, Margin, Profit 및 Measures는 Sales의 조상입니다.
루트 및 리프
개요는 다음과 같은 루트 및 최하위 멤버 관계를 보여줍니다.
-
루트는 분기의 최상위 멤버입니다. 측정항목은 수익, 재고, 비율의 루트입니다.
-
리프 멤버는 1차 하위 구성요소가 없으며 레벨 0 멤버라고도 합니다. 예를 들어 재고 개설, 추가 및 재고 종료는 레벨 0 멤버입니다.
세대 및 레벨
Essbase에서 세대와 레벨은 아웃라인 구조의 멤버 위치에 대한 표시자입니다. 세대는 차원의 루트에서 멤버까지의 거리를 나타냅니다. 레벨은 멤버와 멤버 아래의 최하위 멤버(계층적 "리프") 사이의 분기 수를 측정합니다.
세대
세대는 차원 내의 통합 레벨을 나타냅니다. 트리의 루트 분기는 1세대입니다. 세대 번호는 루트에서 시작하여 최하위 멤버로 갈수록 커집니다. 개요에서 측정항목은 1세대, Profit는 2세대, Margin은 3세대입니다. 각 레벨의 모든 동위 멤버는 동일한 생성에 속합니다. 예를 들어, Inventory 및 Ratios는 모두 2세대입니다.
다음 그림에서는 Product 차원의 일부가 해당 세대의 번호가 지정된 상태로 표시됩니다. 제품은 세대 1, 100은 세대 2, 100-10은 세대 3, 100-10-12 및 100-10-16은 세대 4입니다.
그림 2-2 세대

레벨
레벨은 차원 내의 분기도 참조하며 레벨은 세대에 사용되는 숫자 순서를 반대로 합니다. 최하위 멤버에서 루트로 올라가는 레벨 수입니다. 루트 레벨 번호는 분기의 깊이에 따라 달라집니다. 이 섹션의 시작 부분에 있는 개요 그림에서 판매 및 매출원가는 레벨 0입니다. 다른 모든 리프 멤버도 레벨 0입니다. Margin은 레벨 1이고 Profit는 레벨 2입니다. 측정항목의 레벨 수는 분기에 따라 다릅니다. 비율 분기의 경우 측정은 레벨 2입니다. 총 비용 분기의 경우 측정은 레벨 3입니다.
다음 그림에서 제품 차원의 일부가 레벨 번호가 지정된 상태로 표시됩니다. 100은 레벨 2, 100-10은 레벨 1, 100-10-12 및 100-10-16은 레벨 0입니다.
그림 2-3 레벨

생성 및 레벨명
보고서 유지 관리를 용이하게 하기 위해 세대 또는 레벨에 이름을 지정한 다음 해당 세대 또는 레벨의 모든 멤버에 대한 간단한 이름으로 이름을 사용할 수 있습니다. 아웃라인에 대한 변경 사항은 보고서에 자동으로 반영되므로 생성 및 레벨 이름을 사용할 때 데이터베이스 아웃라인에서 멤버 이름을 변경하거나 삭제하는 경우에는 보고서를 변경할 필요가 없습니다.
계층 구조
Essbase의 계층은 대칭 또는 비대칭(래그)일 수 있습니다.
Essbase는 계층 구성에 따라 일부 작업을 다르게 처리합니다. 표 형식 데이터 익스포트, 특정 계산 함수(@ANCESTVAL 포함) 및 드릴스루 보고서 매핑은 차원에 비대칭 계층이 포함된 경우 서로 다른 결과를 가질 수 있습니다.
대칭 계층
대칭 계층에서 동일한 레벨 번호를 가진 멤버는 아웃라인에서 동일한 깊이에 있습니다. 예를 들어, 다음 다이어그램에서 멤버 100-10과 200-10은 모두 레벨 0 멤버이며 두 멤버 모두 세대 3 멤버입니다.

세대 번호는 차원 이름에서 1로 계산됩니다. 상위 세대 번호는 계층의 최하위 멤버에 가장 가까운 숫자입니다.
레벨 번호는 계층의 가장 깊은 부분에서 0으로 시작하고 최상위 레벨 번호는 차원 이름입니다.
비대칭 계층
비대칭(또는 비대칭) 계층에서 레벨 번호가 같다고 해서 멤버가 아웃라인의 깊이가 같다는 의미는 아닙니다. 예를 들어, 다음 다이어그램에서 aa 멤버와 f 멤버는 모두 레벨 0 멤버이지만 동일한 깊이에 있지 않습니다.

표준 차원 및 속성 차원
Essbase에는 표준 차원 및 속성 차원이 있습니다. 이 장에서는 Essbase가 속성 차원 멤버에 대한 저장영역을 할당하지 않으므로 표준 차원에 초점을 맞춥니다. 대신 사용자가 연관된 데이터를 쿼리할 때 멤버를 동적으로 계산합니다.
속성 차원은 표준 차원과 연관된 특수한 차원 유형입니다. Essbase 속성 작업을 참조하십시오.
희소 및 밀집 차원
다차원 데이터베이스의 대부분의 데이터 집합에는 다음 두 가지 특성이 있습니다.
-
데이터가 원활하고 균일하게 배포되지 않습니다.
-
대부분의 구성원 조합에 대한 데이터가 없습니다. 예를 들어, 모든 제품은 국가의 모든 지역에서 판매되지 않을 수 있습니다.
대부분의 다차원 데이터베이스는 본질적으로 희소하므로 대부분의 멤버 조합에 대한 데이터 값이 부족합니다. 희소 차원은 사용 가능한 데이터 위치 중 낮은 비율이 채워진 차원입니다.
예를 들어, 그림 2-4의 Sample.Basic 데이터베이스 개요에는 연도, 제품, 시장, 측정 및 시나리오 차원이 포함됩니다. 제품은 제품 단위를 나타내고, Market은 제품이 판매되는 지리적 영역을 나타내며, Measures는 고객사 데이터를 나타냅니다. 모든 제품이 모든 시장에서 판매되는 것은 아니기 때문에 시장과 제품은 희소한 차원으로 선택됩니다.
다차원 데이터베이스에는 밀집 차원도 포함됩니다. 밀집 치수는 치수의 모든 조합에서 하나 이상의 셀이 점유될 확률이 높습니다. 예를 들어, Sample.Basic 데이터베이스에서는 모든 시장의 거의 모든 제품에 대한 계정 데이터가 존재하므로 측정항목이 밀집 차원으로 선택됩니다. 연도 및 시나리오도 밀집 차원으로 선택됩니다. 연도는 월 단위 시간을 나타내고 시나리오는 계정 값이 예산 또는 실제 값인지 여부를 나타냅니다.
카페인, 소개 날짜, 온스, 패키지 유형 및 모집단은 속성 차원입니다. Essbase 속성 작업을 참조하십시오.
Essbase 데이터베이스가 디스크에 저장되면 밀집 멤버 조합의 카티시안 제품은 블록이라는 저장영역 단위를 형성하고 데이터베이스의 모든 희소 멤버 조합에 대해 디스크에 블록이 기록됩니다.
그림 2-4 예제.기본 데이터베이스 개요

밀집 및 희소 치수 선택
대부분의 데이터 세트에서 기존 데이터는 밀도 및 희소성의 예측 가능한 패턴을 따르는 경향이 있습니다. 패턴을 올바르게 일치시키면 기존 데이터를 매우 희박한 데이터 블록이 아닌 상당히 밀집된 데이터 블록 수에 저장할 수 있습니다.
차원이 밀집 또는 희소인지 확인하는 데 도움이 되도록 Essbase는 아웃라인 등록정보에 자동 구성 옵션을 제공합니다.
Essbase는 다음 요소를 기반으로 차원의 희소 밀집 구성에 대한 권장 사항을 생성할 수 있습니다.
-
차원의 시간 및 계정 태그
-
데이터 블록의 가능한 크기
-
차원에 속성을 지정하는 특성
권장 구성을 적용하거나, 자동 구성을 해제하고 각 차원에 대해 희소 또는 밀집 등록정보를 수동으로 설정할 수 있습니다. 속성 차원은 희소 표준 차원과만 연계할 수 있습니다.
주:
밀집 및 희소 차원의 자동 구성은 예측만 제공합니다. 데이터베이스로 로드할 데이터의 특성이나 여러 사용자 고려 사항을 고려할 수 없습니다.
Sample.Basic에 대한 밀집 구문 분석 구성
The Beverage Company(TBC)의 데이터를 나타내는 Sample.Basic 데이터베이스를 살펴보십시오.
TBC는 모든 시장에서 모든 제품을 판매하지 않기 때문에 데이터 세트는 합리적으로 희소합니다. 제품 및 시장 차원의 여러 멤버 조합에 대한 데이터 값이 없습니다. 예를 들어, Caffeine Free Cola가 플로리다에서 판매되지 않은 경우 Caffeine Free Cola (100-30) -> Florida 조합에 대한 데이터 값이 없으므로 Product and Market은 희소 차원입니다. 따라서 이러한 차원의 특정 멤버 조합에 대한 데이터 값이 없는 경우 해당 조합에 대한 데이터 블록이 생성되지 않습니다.
그러나 연도, 측정 및 시나리오 차원의 멤버 조합을 고려합니다. 이러한 차원의 일부 멤버 조합에 대한 데이터 값은 거의 항상 존재합니다. 예를 들어 일부 제품이 1월에 판매되므로 멤버 조합 판매 -> 1월 -> 실제에 대한 데이터 값이 있습니다. 따라서 연도 및 마찬가지로 측정 단위와 시나리오는 밀집 차원입니다.
Sample.Basic 데이터베이스에서 표준 차원의 희소 밀집 구성을 요약할 수 있습니다.
-
희소 표준 차원은 제품 및 시장입니다.
-
밀집 표준 차원은 연도, 측정 단위 및 시나리오입니다.
데이터 블록은 제품 및 시장 차원의 각 고유한 멤버 조합에 대해 생성됩니다(데이터 스토리지 참조). 각 데이터 블록은 밀집 차원의 데이터를 나타냅니다. 데이터 블록에는 빈 셀이 거의 없을 수 있습니다.
예를 들어, 그림 2-5에서 희소 멤버 조합인 뉴욕 Caffeine Free Cola(100-30)를 고려해 보십시오.
-
1월의 이 조합에 대한 계정 데이터(측정항목 차원으로 표시됨)가 있는 경우 2월 및 연도 차원의 모든 멤버에 대해 있을 수 있습니다.
-
측정 차원의 한 멤버에 대해 데이터 값이 있는 경우 측정 차원의 다른 멤버에 대해 다른 계정 데이터 값이 있을 수 있습니다.
-
실제 계정 데이터 값이 있는 경우 예산 계정 데이터 값이 있을 수 있습니다.
그림 2-5 Sample.Basic 데이터베이스용 고밀도 데이터 블록

밀집 및 희소 선택 시나리오
다음 시나리오에서는 다른 표준 차원을 선택할 때 데이터베이스가 어떤 영향을 받는지 확인할 수 있습니다. 이러한 시나리오는 차원이 7개 이상이고 멤버가 수백 개인 일반적인 데이터베이스를 기반으로 한다고 가정합니다.
시나리오 1: 모든 희소 표준 차원
모든 차원을 희소하게 만드는 경우 Essbase는 단일 데이터 값을 포함하는 단일 데이터 셀로 구성된 데이터 블록을 생성합니다. 인덱스 항목은 각 데이터 블록에 대해 생성되므로 이 시나리오에서는 각 기존 데이터 값에 대해 생성됩니다.
이 구성은 대용량 메모리가 필요한 인덱스를 생성합니다. 인덱스 항목이 많을수록 더 긴 Essbase가 특정 블록을 검색합니다.
그림 2-6 모든 희소 표준 치수가 있는 데이터베이스

시나리오 2: 모든 밀집 표준 치수
모든 차원을 밀집으로 설정하면 Essbase는 하나의 인덱스 항목과 하나의 큰 희소 블록을 생성합니다. 대부분의 애플리케이션에서 이 구성에는 다른 구성보다 수천 배 더 많은 스토리지가 필요합니다. Essbase는 엄청난 메모리가 필요한 데이터 값을 검색할 때 전체 데이터베이스를 메모리에 로드해야 합니다.
그림 2-7 모든 밀집 표준 치수가 있는 데이터베이스

시나리오 3: 밀집 및 희소 표준 치수
회사의 데이터에 대한 지식을 바탕으로 희소 및 밀집 표준 차원을 모두 식별했습니다.
Essbase는 메모리에 쉽게 맞출 수 있는 조밀한 블록을 생성하고 비교적 작은 인덱스를 생성합니다. 데이터베이스는 최소한의 리소스를 사용하여 효율적으로 실행됩니다.
그림 2-8 밀집 치수와 희소 치수가 결합된 이상적인 구성

시나리오 4: 일반적인 다차원 문제
시간, 계정, 지역 및 제품의 네 가지 표준 차원이 있는 데이터베이스를 고려해 보십시오. 다음 예에서는 시간 및 고객사가 밀집 차원이고 지역 및 제품은 희소 차원입니다.
아래 이미지에 표시된 2차원 데이터 블록은 밀집 차원(시간 및 계정)의 데이터 값을 나타냅니다. Time 차원의 멤버는 J, F, M, Q1입니다. 계정 차원의 멤버는 Rev, Exp 및 Net입니다.
그림 2-9 시간 및 계정에 대한 2차원 데이터 블록

Essbase는 희소 표준 차원의 멤버 조합에 대한 데이터 블록을 생성합니다(멤버 조합에 대해 하나 이상의 데이터 값이 존재함). 희소 차원은 Region 및 Product입니다. Region 차원의 멤버는 East, West, South 및 Total US입니다. Product 차원의 멤버는 Product A, Product B, Product C 및 Total Product입니다.
아래 이미지는 11개의 데이터 블록을 보여줍니다. 서쪽 및 남쪽의 제품 A, 동쪽 및 서쪽의 제품 B 또는 동쪽의 제품 C에 대한 데이터 값이 없습니다. 따라서 Essbase는 이러한 멤버 조합에 대한 데이터 블록을 생성하지 않았습니다. Essbase에서 생성한 데이터 블록에는 빈 셀이 거의 없습니다. 이 예제에서는 모든 희소성을 인덱스에 효과적으로 집중시키고 모든 데이터를 완전히 활용된 블록에 집중합니다. 이 구성은 효율적인 데이터 저장 및 검색을 제공합니다.
그림 2-10 영역 및 제품의 희소 멤버에 대해 생성된 데이터 블록

그런 다음 밀집 및 희소 치수 선택의 반전을 고려합니다. 다음 예에서 Region 및 Product는 밀집 차원이고 Time 및 Accounts는 희소 차원입니다.
아래 이미지에서 2차원 데이터 블록은 조밀한 차원(Region 및 Product)의 데이터 값을 나타냅니다. West 지역에서는 제품 A 및 제품 B에 대한 데이터를 사용할 수 없습니다. 미국 내 총 제품에 대한 데이터도 사용할 수 없습니다.
그림 2-11 지역 및 제품에 대한 2차원 데이터 블록

Essbase는 희소 표준 차원의 멤버 조합에 대한 데이터 블록을 생성합니다(멤버 조합에 대해 하나 이상의 데이터 값이 존재함). 희소 표준 차원은 시간 및 계정입니다.
아래 이미지는 12개의 데이터 블록을 보여줍니다. 시간 및 계정 차원의 모든 멤버 조합에 대한 데이터 값이 있으므로 Essbase는 모든 멤버 조합에 대한 데이터 블록을 생성합니다. 모든 지역의 모든 제품에 대한 데이터 값이 존재하지 않기 때문에 데이터 블록에는 많은 빈 셀이 있습니다. 빈 셀이 많은 데이터 블록은 데이터를 비효율적으로 저장합니다.
그림 2-12 시간 및 계정에서 희소 멤버에 대해 생성된 데이터 블록
