建立最佳化混合立方體

基準、計算快取、解決順序以及資料分配最佳化立方體公用程式協助您微調立方體以提升效能。

可使用以下四種「最佳化立方體」公用程式建立最佳化混合立方體:
公用程式 傳回的資料
基準 立方體效能度量
解決順序 立方體中成員的解決順序
計算快取 可協助您為立方體選擇最佳計算器快取值的資料
資料分配 可協助您選擇分配稀疏維度與密集維度的資料

最佳化混合立方體上的基準度量

您可以從「基準」公用程式所追蹤的度量瞭解系統的執行情況。您可以使用這些度量判斷基準效能,然後量測所進行的後續最佳化效益。

使用此公用程式之前,您首先需要建立應用程式工作簿,包括立方體中所要包含的大綱、組態設定值、計算命令檔及查詢。

當您執行公用程式時,它會建置立方體、載入選取的資料檔、執行選取的計算命令檔,然後執行應用程式工作簿中包含的查詢。務必要有代表性的使用者查詢範例。

基準公用程式會建立應用程式與營運處理作業的儀表板,以便協助您設計並最佳化立方體。在您實行變更並重建立方體時,基準可協助您比較立方體修改的疊代。在應用程式工作簿的 Essbase.Stats.Baseline 頁籤中,基準公用程式會針對每個疊代在新表格附加最新資料。

準備執行混合立方體上的最佳化立方體基準公用程式

執行基準公用式程之前,需先完成以下作業:

  1. 設計及建立應用程式工作簿。

    若要建立應用程式工作簿,可以下載範例應用程式工作簿,然後依據需求進行修改。請參閱瞭解儲藏庫樣板

  2. 清除 Smart View 中繼資料應用程式工作簿中的查詢工作表:
    1. 前往 Smart View 功能區。
    2. 選擇工作表資訊並按一下刪除

    查詢工作表若含有其他伺服器的中繼資料,立方體設計工具會顯示警告並暫停處理,直到您做出回應為止。

  3. 使用下列應用程式組態設定值修改 Cube.Settings 工作表:
    設定
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

執行混合立方體上的最佳化立方體基準公用程式

「基準」公用程式可識別密集和稀疏維度、資料大小 (PAG 和 IND 檔案大小)、區塊大小,以及資料、索引和計算器快取大小。此外,也提供資料載入、計算及查詢的度量。

執行「基準」公用程式:

  1. 從立方體設計工具功能區中,依序選取管理作業 > 最佳化立方體
  2. (選擇性) 按一下自訂以選擇要執行的基準作業。
    • 建置立方體 - 建置應用程式工作簿中所定義的立方體並載入資料表中的資料。
    • 執行計算命令檔 - 執行應用程式工作簿之每個計算工作表中所定義的計算命令檔。

      計算工作表會依照它們在應用程式工作簿中的顯示順序執行。「最佳化立方體」會忽略計算工作表的執行計算特性。

      「最佳化立方體」只支援可從「工作」執行的計算命令檔。您無法執行相依於目前 Smart View 方格相關資訊環境的計算命令檔 (例如,使用 @GRIDTUPLES 函數定義的計算,或使用以 <svLaunch> 標記定義之程式實際執行替代變數的計算)。

    • 執行查詢 - 執行「查詢」工作表中的查詢。
    • 全部匯出 - 將立方體中的所有資料匯出至立方體目錄。系統記錄匯出時間和檔案大小之後,便會自動將匯出檔案刪除。
  3. 按一下建立基準

    如果您在應用程式工作簿中沒有資料表,系統會提示您從目錄選取資料檔和規則檔。將資料檔和規則檔儲存在目錄中的共用目錄是很好的做法,如此這些檔案在您重建立方體時都不會遺失。

    建置立方體需要一些時間。

    Essbase 會產生 Essbase.Stats.Baseline 工作表並將其新增至工作簿。

  4. 在應用程式工作簿中檢視 Essbase.Stats.Baseline 工作表。
    • 工作表的第一個表格顯示資料載入檔的大小、資料載入儲存格數目、區塊大小及快取大小。
      Essbase.Stats.Baseline 工作表中第一個表格的圖像,當中顯示資料庫度量。

    • 基準表格中的色彩主要識別每個維度的儲存類型:
      • 綠色 - 密集維度
      • 紅色 - 至少有一個動態公式的稀疏維度
      • 藍色 - 有聚總但無動態父項和公式的稀疏維度
      • 金色 - 其他稀疏維度

      Essbase.Stats.Baseline 工作表中第二個表格的圖像,當中顯示密集與稀疏維度、總計及已儲存的成員數目。

    • 載入並計算底下的個別 “Script:” 資料列主要識別哪些計算命令檔的完成時間最長,因此可能需要最佳化。
      Essbase.Stats.Baseline 工作表中第三個表格的圖像,當中顯示載入與計算時間、區塊數、資料及所建立的索引檔大小。

    • 查詢讀取的區塊底下會顯示查詢所需的資料大小。

      將動態維度變更為已儲存維度可減少該大小。

    • 查詢公式底下會顯示查詢中所執行的公式數目。

      複查計算成員的解決順序並進行變更以減少公式執行次數並提升效能,或考慮儲存包含公式的計算成員以減少公式執行次數並提升效能。


      Essbase.Stats.Baseline 工作表中第四個表格的圖像,當中顯示查詢時間、已讀取的區塊數及所執行的公式數。

    • 工作表的最後一個表格顯示匯出時間與檔案大小。
      Essbase.Stats.Baseline 工作表中第五個表格的圖像,當中顯示匯出時間與檔案大小。

最佳化混合立方體上的解決順序

「解決順序」公用程式以視覺化方式提供應用程式中使用的解決順序流程。這可協助診斷與公式有關的查詢效能問題。

執行「最佳化立方體解決順序」公用程式:

  1. 從立方體設計工具功能區中,依序選取管理作業 > 最佳化立方體
  2. 按一下解決順序
  3. 檢視應用程式工作簿的 Essbase.Stats.SolveOrder 工作表。

使用 Essbase.Stats.SolveOrder 工作表中的資訊調整解決順序,將查詢效能最佳化。請參閱混合模式立方體最佳化混合模式的解決順序

最佳化混合立方體上的計算器快取

「計算快取」公用程式會建議立方體的最佳化計算器快取設定。

對計算命令檔中的整個稀疏維度進行計算時,使用正確的計算器快取設定,對效能的提升可說至關重要。計算整個稀疏維度是一種減少查詢所需區塊數的技術。

計算器快取的預設值為 200,000 個位元組。最大值為 20,000,000 個位元組。

計算器快取的大小應設為剛好可包含計算命令檔中所計算的稀疏維度。若將計算器快取設為大於所需的大小,對效能會有負面的影響。

使用「計算快取」公用程式將計算器快取最佳化:
  1. 若要減少查詢所需的資料大小,請使用計算命令檔計算並儲存一或多個維度。

    最佳的選擇通常是最大的維度。

  2. 將該維度搬移為大綱中的第一個稀疏維度。

    計算器快取演算法會選取要放在快取中的稀疏維度 (從第一個稀疏維度開始)。

  3. 在不載入資料的情況下建置立方體。

    必須建置立方體,「計算快取」公用程式才能夠運作。

  4. 執行「計算快取」公用程式。

    公用程式會在每個維度旁邊顯示正確的快取設定 (最多 20 MB)。若超過 20 MB,就會顯示 N/A。一般來說,只需要設定幾個 MB 就足夠了。

    1. 從立方體設計工具功能區中,依序選取管理作業 > 最佳化立方體
    2. 按一下計算快取
    3. 檢視應用程式工作簿的 Essbase.Stats.CalcCache 工作表。您可以在 Essbase.Stats.CalcCache 工作表中的計算快取欄中檢視建議的計算器快取設定值。
      最佳化立方體類型應用程式工作簿中 Essbase.Stats.CalcCache 工作表的圖像。

  5. 計算快取設定在 Essbase.Stats.CalcCache 工作表中,您於步驟 1 中計算並儲存的稀疏維度旁邊。
  6. 如果您在步驟 1 中計算一個維度,請將計算器快取預設為該值。如果您在步驟 1 中計算一個以上的維度,請從計算的值中選擇最高的計算快取值。

    將此值新增至 Cube.Settings 工作表的「應用程式設定值」區段。或者,也可以在 Essbase Web 介面設定應用程式組態設定值中的值。建議四捨五入,以便有多一點的空間。

最佳化混合立方體上的資料分配

資料分配公用程式可協助您更瞭解應用程式中的資料,讓您做出將立方體最佳化的重要決策。

瞭解資料有助您判斷下列事項:
  • 哪些是密集維度,哪些是稀疏維度。

    密集維度定義區塊儲存應用程式中的區塊。區塊最好應包含大多數資料的維度,並代表該應用程式的主要查詢版面配置。若是財務報告應用程式,這通常表示「時間」與「帳戶」必須是密集維度。

  • 哪些維度應使用計算命令檔計算及儲存。

    影響查詢效能的其中一個因素為查詢所需的區塊數目。所需的區塊數目若過高,查詢效能將會受到影響。若要減少所需的區塊數目,請預先計算一或多個稀疏維度的上層成員。首先,請將上層成員的維度儲存屬性設為已儲存屬性 (儲存或不共用),然後使用 CALC DIMAGG 執行聚總該維度的計算命令檔。

  • 哪些維度應作為 FIXPARALLEL 命令中的作業維度。

    若要最佳化用來聚總已儲存稀疏維度的計算命令檔,請使用 FIXPARALLEL 命令。選取正確的作業維度非常重要。作業維度決定了如何將計算分割為繫線並以平行方式執行。一或多個稀疏維度應包含大多數的資料以減少空的作業,而且資料應平均分配。

執行「資料分配」公用程式:
  1. 從立方體設計工具功能區中,依序選取管理作業 > 最佳化立方體
  2. 選取資料分配

    此程序的執行時間可能會很長,特別是對於較大型的模型。

  3. 檢視 Essbase.Stats.DataDist 工作表。

最佳化立方體工作簿中 Essbase.Stats.DataDist 頁籤的圖像,當中顯示資料分配統計資料。


最佳化立方體工作簿中 Essbase.Stats.DataDist 頁籤的圖像,當中顯示區塊數和每一區塊的儲存格數。