투명 분할영역
Essbase의 투명 파티션을 사용하면 로컬 큐브의 일부인 것처럼 원격으로 저장된 데이터를 조작할 수 있습니다. 대상 큐브의 사용자가 요청할 때마다 소스 큐브에서 원격 데이터가 검색됩니다.
대상 큐브에서 작업하는 사용자는 데이터가 저장된 위치를 알 필요가 없습니다. 데이터가 로컬 큐브의 일부인 것처럼 액세스하기 때문입니다.
그림 9-5 투명 파티션

데이터는 데이터 소스에서 직접 검색되므로 사용자는 최신 버전에 액세스합니다. 데이터 업데이트 시 해당 업데이트가 데이터 소스에 다시 기록됩니다. 이 프로세스는 데이터 소스 및 데이터 대상의 다른 사용자가 해당 업데이트에 즉시 액세스할 수 있음을 의미합니다.
투명한 분할 영역을 사용하면 데이터 소스 및 데이터 대상의 사용자가 더 많은 사용자가 소스 데이터에 액세스함에 따라 성능이 느려질 수 있습니다.
예를 들어, TBC의 DBA는 투명한 분할 영역을 사용하여 별도의 컴퓨터에서 시나리오 차원의 각 멤버를 계산할 수 있습니다. 이 프로세스는 사용자에게 동일한 데이터 보기를 제공하면서 계산의 경과 시간을 줄입니다.
투명 분할 영역을 사용하여 다음 목표를 달성합니다.
-
사용자에게 최신 버전의 데이터 표시
-
데이터 대상의 사용자가 데이터를 업데이트할 수 있도록 허용
-
디스크 공간 점유 공간 최소화
투명한 분할 영역을 생성할 때 데이터가 소스 큐브에 저장될 것으로 예상되므로 대상 큐브의 데이터 슬라이스가 #MISSING으로 지워집니다. 분할 영역을 삭제하더라도 지워진 상태로 유지됩니다.
투명한 분할 영역에 대한 규칙
투명한 분할 영역은 다음 규칙을 따라야 합니다.
-
데이터는 소스 큐브에 저장됩니다. 대상 큐브는 데이터를 저장하거나 관리하지 않지만 액세스 포인트 역할을 합니다. 쓰기 액세스가 사용으로 설정된 경우 대상 큐브에 액세스하는 사용자가 소스 큐브의 데이터를 업데이트할 수 있습니다.
-
소스와 대상이 모두 ASO(집계 스토리지) 큐브인 경우 대상 큐브에서 소스 큐브로의 데이터 병합은 지원되지 않습니다.
-
데이터 소스와 데이터 대상 아웃라인의 공유된 투명 영역은 동일할 필요는 없지만 차원에 매핑할 수 있어야 합니다. 데이터 소스의 각 차원 및 멤버가 데이터 대상의 각 차원 및 멤버에 매핑되는 방법을 Essbase에 알려야 합니다.
-
비공유 영역에 대한 데이터 소스 및 데이터 대상 아웃라인은 매핑할 수 없지만 속성 연관은 동일해야 합니다. 그렇지 않으면 사용자가 일부 검색에 대해 잘못된 결과를 얻을 수 있습니다. 예를 들어, 제품(100-10-1010)이 소스의 포도 맛(Grape Flavor) 속성과 연관되어 있지만 제품(100-10-1010)이 대상의 포도(Grape)와 연관되어 있지 않은 경우, 뉴욕의 모든 포도 맛에 대한 총 판매가 정확하지 않다.
-
분할 영역 정의에는 저장된 멤버만 포함되어야 합니다. 속성 차원 또는 멤버를 사용하여 투명 분할 영역을 정의할 수 없습니다. 예를 들어 시장 차원과 연계된 시장 유형 속성 차원에는 도시, 교외 및 시골 멤버가 있습니다. 도시, 교외 또는 시골에서 파티션을 정의할 수 없습니다.
-
셀이 데이터 소스에서 대상으로 집계 저장 영역 데이터베이스로 매핑된 경우 모든 셀의 종속 항목도 동일한 분할 영역 정의에 매핑되어야 합니다.
-
복제된 분할 영역 위에 투명한 분할 영역을 만들 수 있습니다. 즉, 다음 그림과 같이 복제된 분할 영역 소스를 사용하여 투명한 분할 영역 대상을 만들 수 있습니다.
그림 9-6 유효한 투명한 분할

-
아래 그림과 같이 다른 여러 분할 영역 위에 투명한 분할 영역을 만들 수 없습니다. 즉, 데이터베이스의 각 셀은 로컬 디스크 또는 원격 디스크 중 한 위치에서만 검색되어야 하므로 여러 소스에서 투명한 분할 영역 대상을 만들 수 없습니다.
그림 9-7 잘못된 투명 파티션

-
데이터 소스 및 데이터 대상의 멤버에 지정하는 공식을 신중하게 고려해야 합니다.
Transparent Partition의 이점
Transparent Partition은 많은 데이터베이스 문제를 해결할 수 있지만 투명한 Partition이 항상 이상적인 Partition 유형은 아닙니다.
데이터를 하나의 데이터베이스에 저장하기 때문에 필요한 디스크 공간이 줄어듭니다.
데이터 대상에서 액세스한 데이터는 항상 최신 버전입니다.
사용자가 데이터 소스에서 데이터를 업데이트하면 Essbase가 데이터 대상에서 해당 변경사항을 적용합니다.
개별 데이터베이스는 더 작으므로 더 빠르게 계산할 수 있습니다.
데이터의 배포는 최종사용자와 최종사용자의 도구에는 보이지 않습니다.
데이터 소스 또는 데이터 대상에서 데이터를 로드할 수 있습니다.
Transparent Partition의 단점
다음 단점이 너무 심각한 경우 대신 복제된 분할 영역 또는 통합 분할 영역 사용을 고려하십시오.
투명한 분할 영역은 네트워크 작업을 증가시켜 사용자의 검색 시간이 느려집니다.
더 많은 유저가 소스 데이터에 액세스하기 때문에 검색 시간이 느려질 수 있습니다.
소스 큐브가 실패하면 소스 및 대상의 사용자가 영향을 받습니다. 따라서 소스 또는 대상에 연결된 사용자가 필요할 때마다 네트워크 및 소스 큐브를 사용할 수 있어야 합니다.
일부 관리 작업은 로컬 데이터에서만 수행할 수 있습니다. 예를 들어, 대상 큐브를 아카이브하는 경우 Essbase는 소스 큐브가 아닌 대상만 아카이브합니다. 다음 관리 작업은 블록 저장 영역 데이터베이스의 로컬 데이터에서만 작동합니다.
-
CLEARDATA 계산 명령
-
DATACOPY 계산 명령
-
EXPORT 명령
-
VALIDATE 명령의 결과
-
BEGINARCHIVE 및 ENDARCHIVE 명령
투명 분할 영역에 대해 계산을 수행하는 경우 Essbase는 로컬 데이터 및 투명 종속 항목의 현재 값을 사용하여 계산을 수행합니다. Essbase는 투명 종속 항목을 재계산하지 않습니다. 소스와 대상에 대한 아웃라인이 너무 달라서 이러한 계산이 부정확할 수 있기 때문입니다. 모든 분할 영역을 계산하려면 각 개별 분할 영역에 대해 CALC ALL 명령을 실행한 다음, 각 분할 영역에 대해 새 값을 사용하여 최상위 레벨에서 CALC ALL 명령을 수행하십시오.
예를 들면 다음과 같습니다.
-
대상 큐브의 아웃라인에는 East, West, South 및 Central 멤버가 있는 시장 차원이 포함됩니다.
-
The source cube's outline contains an East dimension with New York and New Jersey members
대상 큐브를 계산하려고 하면 East가 레벨 0 멤버라고 가정합니다. 그러나 소스 큐브에서는 East가 New York 및 New Jersey를 추가하여 파생됩니다. 그러나 대상의 모든 계산은 이 정보를 알지 못하며 소스에서 New York 및 New Jersey의 변경 사항을 반영할 수 없었습니다. 따라서 정확한 계산을 수행하려면 소스에서 East를 계산한 다음 대상을 계산합니다.
소스 큐브의 멤버에 지정된 공식은 대상 큐브에 정의된 공식 또는 통합과 일치하지 않는 계산된 결과를 생성할 수 있으며 그 반대의 경우도 마찬가지입니다.
Transparent Partition의 성능 고려 사항
투명 분할 영역의 성능을 향상시키려면 분할 영역을 만들 때 다음 지침을 고려하십시오.
-
밀집 치수는 데이터 블록의 구조와 내용을 결정하는 데 사용되므로 밀집 치수를 따라 분할하면 성능이 크게 저하될 수 있습니다.
성능을 향상시키려면 필요한 블록 수가 희소 멤버와의 조합으로 제한되도록 영역 정의에 희소 차원을 하나 이상 포함하는 것이 좋습니다.
-
속성이 희소 차원과 연관되어 있으므로 차원의 속성 값에 투명한 Partition을 적용하면 검색 시간이 길어질 수 있습니다. 이러한 경우 속성과 연관된 레벨보다 높은 레벨로 분할하면 검색 시간이 향상됩니다. 예를 들어, Sample.Basic 데이터베이스의 Product 차원에서 하위 100-10, 200-10 및 300-10(레벨 0)이 속성과 연관된 경우 검색 성능 향상을 위해 상위 100, 200 및 300(레벨 1)을 분할합니다.
-
대상 큐브에서 소스 큐브로 데이터를 로드하면 성능이 크게 저하될 수 있습니다. 가능하면 로컬에서 데이터 소스로 데이터를 로드합니다.
-
사용자가 네트워크를 통해 데이터에 액세스하기 때문에 검색 시간이 느려집니다.
-
투명한 분할 영역이 대상인 경우 다음 구성 설정을 사용하는 것이 좋습니다.
-
소스 큐브에서 투명한 분할 영역 대상 큐브로 전송된 요청의 경우 ENABLE_DIAG_TRANSPARENT_PARTITION 구성 설정을 사용하여 트랜잭션 응답 시간을 기록할 수 있습니다. 이러한 메시지를 기록하면 너무 느린 응답 시간을 해결할 때 유용합니다.
-
투명 분할 영역 대상이 ASO(집계 저장 영역) 큐브인 경우 MAX_REQUEST_GRID_SIZE 및 MAX_RESPONSE_GRID_SIZE 구성 설정을 사용하여 요청 그리드와 응답 그리드의 최대 크기를 지정할 수 있습니다.
-
-
기본 치수를 분할하면 성능이 크게 저하될 수 있습니다.
투명한 분할 영역 계산
원격 데이터에 종속된 로컬 데이터를 계산할 때 Essbase는 상향식 계산을 사용해야 합니다. 대상 큐브에서 최적화된 계산기 캐시를 사용하고 있는지 확인합니다. 계산기 캐시 크기 조정을 참조하십시오.
투명 분할 영역에 대해 계산을 수행하는 경우 Essbase는 로컬 데이터 및 투명 종속 항목의 현재 값을 사용하여 계산을 수행합니다. 원격 데이터에 종속된 로컬 데이터를 계산할 때 Essbase는 상향식 계산을 수행합니다. 상향식 계산은 대상 데이터베이스의 계산기 캐시가 제대로 사용된 경우에만 수행할 수 있습니다. 상향식 및 하향식 계산을 참조하십시오.
계산기 캐시에 할당된 메모리를 늘리면 투명 분할 영역으로 계산 성능이 크게 향상됩니다. 계산이 시작되면 애플리케이션 로그 파일의 메시지는 대상 데이터베이스에서 계산기 캐시가 사용으로 설정되었는지 아니면 사용 안함으로 설정되었는지 나타냅니다. 대상 데이터베이스에서 계산기 캐시를 사용하면 계산 중에 데이터 소스에서 요청되는 블록 수가 줄어듭니다. 요청된 블록을 줄이면 네트워크에서 블록을 전송하여 생성되는 네트워크 트래픽이 줄어듭니다.
투명한 분할 영역 계산 성능
투명 파티션의 대상에 대한 데이터를 계산하면 Essbase가 계산하기 전에 소스에서 네트워크의 종속 블록을 검색해야 하는 경우 성능이 저하될 수 있습니다. 투명한 계산을 최적화하려면 동적 계산을 사용하고, 계산기 캐시를 관리하고, 하향식 공식을 피하고, 영역 정의 멤버에 대한 복잡한 공식을 피합니다.
Essbase가 하향식 멤버 공식을 포함하는 데이터 대상의 모든 부분에 대해 하향식 계산을 수행해야 하는 경우에도 투명한 계산이 포함된 성능이 느려질 수 있습니다. 데이터 대상에 하향식 멤버 공식이 없는 경우 Essbase는 데이터 대상에서 상향식 계산을 수행할 수 있으며, 이는 훨씬 더 빠릅니다.
Essbase가 소스 큐브에서 계산을 수행하는 경우 항상 상향식 계산을 수행할 수 있습니다.
다음 계산 대안을 사용하는 것이 좋습니다.
-
대상 분할 영역 계산 스크립트에 원격 데이터에 대한 액세스가 필요하지 않은 경우 계산 스크립트에서 SET REMOTECALC OFF 계산 명령을 사용하여 소스 분할 영역의 검색 작업을 중지할 수 있습니다.
-
데이터가 검색될 때 즉시 계산되도록 동적 계산 멤버를 투명 데이터의 상위로 구현합니다. 이 프로세스는 뱃치 처리 시간을 줄입니다. Essbase는 사용자가 요청할 때만 계산을 수행합니다.
-
낮은 레벨의 투명 데이터와 높은 레벨의 로컬 데이터 간에 복제된 계층을 구현합니다.
다음 성능 전략을 고려하십시오.
-
분할 영역을 계산기 캐시 영역 내에 완전히 유지합니다. 즉, 분할 영역 정의의 희소 멤버는 계산기 캐시에 포함되어야 합니다. 예를 들어, Sample Basic 큐브에서 분할 영역 정의에 @IDESC(East)가 포함된 경우 East의 모든 하위 항목은 계산기 캐시 내에 있어야 합니다.
-
계산기 캐시를 활성화하고 충분한 양의 메모리를 할당합니다.
-
분할 영역을 정의하는 멤버에는 복합 공식을 사용하지 마십시오. 예를 들어, Sample Basic에서 복잡한 공식을 New York 또는 New Jersey(East의 두 하위)에 지정하면 Essbase가 하향식 계산 방법을 사용해야 합니다.
투명한 분할 영역 및 멤버 공식
다른 멤버 공식을 제외하고 데이터 대상과 데이터 소스 아웃라인이 동일한 경우 분할 영역 정의에서 원하는 계산 결과를 생성하는지 확인하십시오.
예를 들어, 데이터 소스 및 데이터 대상 아웃라인에 모두 North 및 South 멤버가 있는 Market 차원과 North 및 South의 하위 멤버가 포함되어 있다고 가정합니다. 데이터 대상에서 Market은 데이터 소스의 North 및 South 멤버(및 해당 하위 멤버)에 대한 데이터에서 계산됩니다. 데이터 소스의 이러한 멤버에 멤버 공식이 포함된 경우 이러한 공식이 계산되어 데이터 대상의 계산된 Market 값에 영향을 줍니다. 이러한 결과는 이러한 공식이 없을 수 있는 데이터 대상의 North 및 South 멤버에서 시장 멤버가 계산되는 방식과 다를 수 있습니다.
데이터 소스 및 데이터 대상의 멤버에 지정하는 공식이 원하는 결과를 생성하는지 확인하십시오.
투명한 분할 영역 및 포트 사용
하나의 포트가 모든 고유한 사용자 및 시스템 조합에 사용됩니다. 사용자가 동일한 사용자 이름을 사용하여 한 서버에 여러 개의 투명한 분할 영역을 정의하는 경우 하나의 포트만 사용됩니다.
투명 분할 영역에서 사용자(user1)가 소스 데이터에 액세스하는 대상의 영역으로 드릴할 때 user1은 분할 영역 정의(분할 영역 사용자)에 선언된 사용자 이름을 사용하여 소스 데이터베이스의 데이터에 액세스합니다. 이 액세스로 인해 다른 사용자(user1 및 분할 영역 사용자)가 응용 프로그램에 연결되므로 추가 포트가 사용됩니다.
두번째 유저(user2)가 Target Database에 연결하고 드릴 다운하여 소스 데이터에 액세스하면 user2는 Partition 정의(Partition 유저)에 선언된 유저 이름도 사용합니다. 분할 영역 사용자가 소스 데이터베이스에 이미 연결되어 있으므로 user2가 동일한 소스 데이터베이스에 액세스하는 한 분할 영역 사용자에 대한 추가 포트가 필요하지 않습니다.