하이브리드 모드에 맞게 큐브 최적화

하이브리드 모드를 가장 효과적으로 사용하는 방법:

  • 하이브리드 모드에서 2단계 계산을 사용하지 마십시오. 대신 해결 순서를 사용하십시오.

  • 실행 가능한 경우 항상 레벨 0이 아닌 저장된 멤버를 동적 계산으로 변환합니다.

  • 동적 계산 멤버로 변환 시 종속 공식의 해결 순서에 영향을 미치는 경우, 이전 뱃치 계산 순서와 2단계 계산 설정에 해결 순서를 맞춰서 아웃라인의 차원 순서를 조정해야 할 수 있습니다.

    하이브리드 모드 큐브의 기본 해결 순서는 일부 개선사항과 함께 블록 스토리지 큐브의 계산 순서와 비슷합니다. 기본이 아닌 해결 순서를 사용하려면 차원 및 멤버에 대한 사용자정의 해결 순서를 설정할 수 있습니다.

  • 동적으로 계산된 공식이 잘못된 해결 순서로 처리될 경우 너무 많은 공식이 질의로 실행되어 성능이 저하될 수 있습니다. 가능한 경우 동적으로 계산된 희소 공식은 계층적으로 집계된 희소 차원보다 해결 순서가 높아야 합니다.

    올바른 공식 결과를 얻기 위해 다른 해결 순서를 필요로 하는 일부 애플리케이션에서는 불가능합니다. 예를 들어, 단위와 가격이 있는 애플리케이션이 상위 레벨에서 올바른 판매 금액을 얻으려면 희소 집계에 앞서 판매 금액이 실행되어야 합니다.

  • 차원의 밀집 또는 희소 구성을 조정해야 할 수도 있습니다(하이브리드 엔진을 사용할 수 없는 경우 블록 스토리지 엔진 활용률에만 적용됨).

  • 가능한 경우 블록 크기를 최소화합니다.

Essbase 관리자는 다음 툴을 사용하여 하이브리드 모드로 질의 성능을 모니터링 및 최적화할 수 있습니다.

  • 단일 질의가 소비할 수 있는 메모리 양을 제한하려면 MAXFORMULACACHESIZE 구성 설정을 사용합니다.

  • 교차 차원 연산자와 여러 IF/ELSE 문이 포함된 복합 멤버 공식이 큐브에 있을 경우 공식 실행과 관련된 성능 문제가 발생할 수 있습니다. 이 문제가 의심될 경우 공식 계산을 위한 상향식 질의 처리를 활성화할 수 있습니다. 그러면 계산에 필요한 교차를 식별하여 질의 시간이 최적화되고 질의 시간이 입력 데이터 크기에 비례합니다.

    릴리스 21C에 대해 이렇게 질의를 최적화하려면 @QUERYBOTTOMUP 계산 함수는 물론 QUERYBOTTOMUP 구성 설정을 사용합니다. 릴리스 19C의 경우에는 @NONEMPTYTUPLE 계산 함수는 물론 BOTTOMUP 구문과 함께 IGNORECONSTANTS 구성 설정을 사용합니다.

  • 질의 추적을 사용하여 질의 성능을 모니터링 및 디버깅합니다. 사용 사례에 따라 여러 가지 애플리케이션 레벨 구성 설정을 사용할 수 있습니다. 문제가 발생할 수 있는 것으로 간주되는 단일 질의의 단기 디버깅에는 QUERYTRACE를 사용합니다. 동시에 실행되는 질의에 대한 통계 수집에는 TRACE_REPORT를 사용합니다(개발 환경에서의 디버깅에 적합함). 운용 환경에서 정해진 시간보다 오래 실행되는 질의에 대해 애플리케이션 로그 파일에 통계를 출력하려면 LONGQUERYTIMETHRESHOLD를 사용합니다.