계산 성능 설계
Essbase 블록 저장영역 큐브에 대한 계산 성능을 최적화하려면 데이터 블록 크기 및 밀도의 영향, 공식 및 계산 스크립트의 효율성 및 아웃라인 특성(예: 희소 차원 순서, 레벨 사용 및 시간 차원)을 조정할 수 있는 방법을 고려합니다.
계산 성능을 최적화하도록 데이터베이스를 구성할 수 있습니다.
최적의 사이트 구성은 데이터베이스의 특성 및 크기에 따라 달라집니다. 다음 항목의 정보를 지침으로만 사용하십시오.
블록 크기 및 블록 밀도
Essbase 블록 저장영역 큐브가 최적의 계산 성능을 갖도록 하려면 데이터 블록 크기 및 블록 밀도가 성능 및 저장영역에 미치는 영향을 알아봅니다. Essbase 웹 인터페이스 또는 MaxL을 사용하여 블록 통계를 검토합니다.
8Kb ~ 100Kb의 데이터 블록 크기는 대부분의 경우 최적의 성능을 제공합니다.
데이터 블록이 8KB보다 훨씬 작은 경우 인덱스가 대개 매우 커서 Essbase가 디스크에서 인덱스에 쓰고 검색하도록 강제합니다. 이 프로세스는 계산을 느리게 합니다.
데이터 블록이 100KB보다 훨씬 큰 경우 지능형 계산이 효과적으로 작동하지 않습니다. 블록 스토리지 큐브에 대한 지능형 계산을 참조하십시오.
계산 성능과 데이터 저장영역을 최적화하려면 데이터베이스의 밀집 및 희소 차원 구성을 재정렬하여 데이터 블록 밀도와 데이터 블록 크기의 균형을 이루어야 할 수 있습니다. 다음 사항에 유의하십시오.
-
블록 밀도를 최대한 높게 사용하여 데이터 블록 크기를 8KB에서 100KB 사이로 유지합니다.
-
대표 데이터가 포함된 큐브의 가장 유망한 구성에 대한 테스트 계산을 실행합니다. 최상의 계산 성능을 생성하는 구성을 확인하려면 결과를 확인하십시오.
-
하이브리드 모드를 사용하는 것이 좋습니다. 하이브리드 모드 큐브에서는 차원 순서를 재배열하는 대신 해결 순서를 쉽게 사용자정의할 수 있습니다.
Essbase 웹 인터페이스 또는 MaxL을 사용하여 잠재적 및 실제 데이터 블록 수와 데이터 블록 크기를 포함한 큐브에 대한 정보를 봅니다.

MaxL을 사용하여 블록 통계를 보는 것과 동일한 명령문은 다음과 같습니다.
query database appname.dbname get dbstats data_block;희소 차원 순서
Essbase 블록 저장영역 큐브에서 작은 희소 차원을 아웃라인 순서에 먼저 배치하면 계산 성능이 향상될 수 있습니다.
또는 하이브리드 모드를 사용하는 것이 좋습니다. 하이브리드 모드 큐브에서는 차원 순서를 재배열하는 대신 해결 순서를 쉽게 사용자정의할 수 있습니다.
아웃라인에서 표준(비속성) 희소 차원의 순서를 변경하여 계산 성능을 향상시킬 수 있습니다. 포함된 멤버 수에 따라 표준 희소 차원을 정렬하고 가장 적은 멤버가 포함된 차원을 먼저 배치합니다. 이 배열은 다음을 향상시킬 수 있습니다.
-
계산기 캐시의 기능은 차원이 큰 아웃라인(예: 1000개 멤버를 포함하는 아웃라인)의 경우 성능이 최대 10% 향상될 수 있습니다.
-
병렬 계산이 사용으로 설정된 경우 멤버가 가장 많은 표준 희소 차원이 아웃라인의 마지막 표준 희소 차원인 경우 더 많이 사용됩니다.
증분 로드된 큐브
데이터가 포함된 증분(정기적으로) 로드된 Essbase 블록 저장영역 큐브의 경우 아웃라인에서 시간 차원을 희소화하여 계산 성능이 향상될 수 있습니다.
많은 기업에서 데이터를 점진적으로 로드합니다. 예를 들어, 회사는 해당 월의 데이터를 매월 로드할 수 있습니다.
데이터를 증분적으로 로드할 때 계산 성능을 최적화하려면 시간 태그가 지정된 차원을 희소 차원으로 만듭니다. 시간 차원이 희소인 경우 데이터베이스에는 각 기간에 대한 데이터 블록이 포함됩니다. 기간별로 데이터를 로드하면 Essbase는 관련 기간을 포함하는 블록 수가 줄어들기 때문에 데이터 블록 수가 줄어듭니다. 따라서 지능형 계산이 사용으로 설정된 경우 더티로 표시된 데이터 블록만 재계산됩니다. 예를 들어, 3월의 데이터를 로드하는 경우 3월의 데이터 블록과 3월의 종속 상위 데이터 블록만 업데이트됩니다.
그러나 시간 차원을 자연스럽게 조밀하게 설정하면 인덱스의 크기가 크게 증가하여 큰 인덱스를 수용할 수 있는 물리적 I/O 작업으로 인해 성능이 느려질 수 있습니다.
시간 태그가 밀집인 차원은 희소 차원에 대해 부분 데이터 로드를 수행할 때 지능형 계산의 이점을 계속 누릴 수 있습니다. 예를 들어, 제품이 희소하고 한 제품에 대한 데이터를 로드하는 경우 Essbase는 시간이 조밀하고 Intelligent Calculation이 사용으로 설정되어 있지만 부분 로드의 영향을 받는 블록만 재계산합니다.
플랫 치수가 여러 개인 아웃라인
플랫 차원에 수천 개의 멤버가 있는 Essbase 블록 저장영역 큐브의 경우 아웃라인에 레벨을 추가하여 계산 성능을 향상시킬 수 있습니다.
큐브 아웃라인에 플랫 차원이 여러 개 있는 경우 계산 성능이 영향을 받을 수 있습니다. 플랫 차원에는 상위가 거의 없으며 각 상위에는 수천 개의 하위가 있습니다. 즉, 플랫 차원에는 멤버가 많고 레벨이 거의 없습니다.
아웃라인에 중간 레벨을 추가하여 여러 플랫 치수가 있는 아웃라인의 성능을 향상시킬 수 있습니다.
공식 및 계산 스크립트
블록 저장영역 큐브에 대한 계산 스크립트 및 공식을 최적화하려면 Essbase가 데이터 블록을 통해 생성하는 주기 수를 줄이는 단계를 수행합니다.
계산 스크립트에서 공식 및 차원을 신중하게 그룹화하여 계산 성능을 크게 향상시킬 수 있습니다. 이렇게 하면 계산 중에 Essbase가 큐브의 데이터 블록을 가능한 한 몇 번 순환하도록 할 수 있습니다.
계산 스크립트에서 명령을 정렬하여 데이터베이스를 최대한 간단하게 계산합니다. 아웃라인에 모든 공식을 적용하고 기본 계산(CALC ALL)을 사용하는 것이 좋습니다.
블록 스토리지 큐브에 대한 계산 스크립트 개발 및 계산 패스를 참조하십시오.