ASO 立方體的資料聚總

若要準備要擷取的 Essbase 彙總儲存 (ASO) 立方體,請載入層級 0 值,然後透過彙總來計算立方體。擷取資料時會計算剩餘值。系統不會儲存針對擷取所計算的值。

雖然 ASO 立方體在資料值載入層級 0 儲存格之後不需要計算,但您可以預先計算資料值作為聚總檢視,以最佳化資料的聚總。

Essbase 會透過大綱整合和已儲存和動態階層上的 MDX 公式來計算 ASO 值。當資料載入完成時,立方體就可以開始計算。進行擷取要求時, Essbase 會合併為層級 0 成員載入的值,並計算公式。

為了改善擷取效能, Essbase 可以聚總值並提前儲存。不過,聚總及儲存所有值可能是需要磁碟空間以進行儲存的冗長程序。Essbase 提供可平衡時間與儲存資源的智慧型彙總程序。

隨著 Essbase 立方體成長,擷取必須處理更多資料值,以滿足查詢的計算需求。為了加快擷取速度, Essbase 可讓您預先計算資料值並將這些值儲存在聚總中。如果立方體大小接近 100 萬個聚總儲存格,您應該強烈考慮執行聚總。視使用環境而定,您也可以透過預先計算較小的立方體來獲得效能效益。使用 MaxLEssbase Web 介面中的建置聚總工作。

彙總相關 Essbase 條款

若要瞭解 Essbase 彙總儲存 (ASO) 多維資料庫的計算方式,請瞭解有關彙總的術語,包括:彙總儲存格、輸入儲存格、彙總檢視、整合、彙總及彙總命令檔。

聚總儲存格

跨維度 (不含公式) 層級 0 交集的儲存格稱為輸入儲存格,表示資料值可以載入至它們。涉及帳戶維度或動態階層成員的較高層級儲存格一律會在擷取時計算。

所有其他跨維度的較高層級交集都是聚總儲存格。彙總儲存格的值必須從較低層級的值彙總 (合併)。

例如,在 ASOSamp.Basic 大綱中,Price Pay > Curr Year > 1st Half > Portable Audio > CO 是聚總儲存格;Original Price > Curr Year > Jan > Camcorders > CO 是另一個聚總儲存格。

圖 37-4 聚總儲存大綱範例


此圖像顯示 ASOSamp.Sample 資料庫的大綱。

計算每個要求的聚總儲存格值,或者它們可以預先計算並儲存在磁碟上。

彙總檢視

Essbase 定義要預先計算和儲存的聚總儲存格時,會透過建立聚總檢視來進行。聚總檢視是聚總儲存格的集合。集合是以每個維度內成員的層級為基礎。

例如,針對大綱考慮一個聚總檢視。此聚總檢視包含下列維度層次的聚總儲存格:

  • 測量維度,層次 0

  • Years 維度,層次 0

  • 時間維度,階層 0 的層次 1

  • 產品維度,階層 0 的層次 2

  • 地理區域維度,層次 0

範例彙總檢視會顯示為 0、0、1/0、2/0、0。

每個維度會以其在大綱中的順序由左至右顯示。如果維度包含階層,則表示法會指定其階層中的成員層次。維度內的階層會由上而下編號,從階層 0 開始。

0、0、1/0、2/0、0 聚總檢視包含包含下列成員交集的聚總儲存格:

Original Price, Curr Year, Qtr1, Personal Electronics, CO 
Original Price, Curr Year, Qtr1, Personal Electronics, KS 
Original Price, Curr Year, Qtr1, Home Entertainment,   CO 
Original Price, Curr Year, Qtr1, Home Entertainment,   KS 
Original Price, Curr Year, Qtr2, Personal Electronics, CO 
Original Price, Curr Year, Qtr2, Personal Electronics, KS 
Original Price, Curr Year, Qtr2, Home Entertainment,   CO 
Original Price, Curr Year, Qtr2, Home Entertainment,   KS 
Original Price, Curr Year, Qtr3, Personal Electronics, CO 
Original Price, Curr Year, Qtr3, Personal Electronics, KS 
Original Price, Curr Year, Qtr3, Home Entertainment,   CO 
Original Price, Curr Year, Qtr3, Home Entertainment,   KS 
Original Price, Curr Year, Qtr4, Personal Electronics, CO 
Original Price, Curr Year, Qtr4, Personal Electronics, KS 
Original Price, Curr Year, Qtr4, Home Entertainment,   CO 
Original Price, Curr Year, Qtr4, Home Entertainment,   KS 
Original Price, Prev Year, Qtr1, Personal Electronics, CO 
Original Price, Prev Year, Qtr1, Personal Electronics, KS 
Original Price, Prev Year, Qtr1, Home Entertainment,   CO 
Original Price, Prev Year, Qtr1, Home Entertainment,   KS 
and so on...

彙總

聚總是根據層級 0 資料值的大綱階層進行的整合。彙總包含一或多個彙總檢視 (已合併)。Essbase 提供智慧型彙總程序,可選取要彙總的彙總檢視、彙總這些檢視,然後將儲存格的值儲存在選取的檢視中。如果聚總包括的聚總儲存格相依於透過資料載入變更的層級 0 值,則較高層級的值會在資料載入處理作業結束時自動更新。

聚總一詞用於聚總處理,以及作為處理結果所儲存的一組值。

累計 ASO 資料值的方式

聚總儲存大綱的階層結構會決定如何累計值。層級 0 成員值向上彙整至層級 1 成員值,層級 1 成員值向上彙整至層級 2 成員值等等。

指派給動態階層成員的整合運算子會定義累計中使用的作業:加號 (+)、減號 (-)、乘號 (*)、除號 (/)、百分比 (%)、無作業 (~) 及 (^) 絕對不會合併。

儲存階層的成員只能有新增 (+) 或不合併 (~) 運算子。

若要進行更複雜的作業,您可以在動態階層的成員上提供 MDX 公式。MDX 公式的寫入格式與 MDX 數值表示式的格式相同。

彙總指令碼

每個聚總命令檔都是一個檔案,定義要具體化之聚總視觀表的特定選擇。請參閱 Essbase ASO 立方體的聚總命令檔

執行 ASO 聚總

聚總涉及檢視選擇和具體化。對於證明有用的聚總檢視選項,您可以將它們儲存為聚總命令檔,在下次需要時略過檢視選項。執行聚總時,會計算選取的檢視。

您可以選擇將預先計算的值儲存為 Essbase 彙總儲存立方體上的彙總。使用 MaxL 或「工作」來執行聚總。

聚總處理有兩個階段:

  • 聚總檢視選項。

  • 計算和儲存所選聚總檢視的值。此階段也稱為聚總的具體化。

在聚總檢視選取階段期間, Essbase 會分析計算和儲存各種聚總檢視組合可能如何影響平均查詢回應時間。作為分析的輸入,您可以定義實體儲存和效能需求。您也可以追蹤資料使用狀況,並將資訊提供給分析處理作業,如根據使用狀況選取檢視中所述。

根據其實用性和資源需求, Essbase 會建立聚總檢視清單。清單中每個檢視都包含儲存體和效能資訊,當該聚總檢視加上上面列出的所有其他聚總檢視儲存時,便適用此資訊。您可以選擇聚總列示的檢視、選取及聚總列示之檢視的子集,或以不同的輸入條件重新執行選取處理作業。您也可以根據新的選取準則,將新檢視的具體化新增至聚總。請參閱彙總檢視選項最佳化

無論您是否具體化選取項目,您都可以將聚總檢視的選擇項目儲存為聚總命令檔。聚總指令檔提供彈性且可節省時間,因為它們可讓您在需要再次選取相同的選項時略過選取處理。請參閱 Essbase ASO 立方體的聚總命令檔

在選取程序完成後,當您將選取的聚總檢視具體化至聚總時,就會計算選取的聚總檢視。

建議使用下列程序來定義和具體化聚總:

  1. 建立或變更大綱之後,載入資料值。

  2. 執行預設彙總。

    選擇性:指定儲存停止點。

  3. 將建議的聚總檢視具體化,並將預設選取項目儲存在聚總命令檔中。

  4. 執行聚總設計的查詢類型。

  5. 如果查詢時間或彙總時間太長,請考慮最佳化彙總。

  6. (選用) 將聚總選擇儲存為聚總命令檔。

若要執行 ASO 立方體聚總選取或具體化,您可以使用 Essbase Web 介面或這些 MaxL 陳述式:

您也可以視需要將 Essbase 設定為自動產生聚總檢視

聚總檢視選項最佳化

聚總儲存 (ASO) 立方體的 Essbase 預設檢視選擇提供優異的效能。不過,接受選取清單中的所有聚總檢視並不保證最佳效能。您可以最佳化立方體環境和擷取模式的檢視選擇。

對於預設的聚總檢視選取項目, Essbase 會分析儲存的階層,並假設將擷取任何聚總儲存格的機會相等。Essbase 無法說明外部因素,例如查詢時的可用記憶體數量。可用記憶體可能會受到擷取時快取記憶體定義等因素的影響,或是其他並行處理作業所需的記憶體。

如果您要追蹤最常查詢的資料,並在聚總檢視選取處理中包含結果與替代檢視,請參考根據用途選取檢視

若要改善 Essbase 21c 中彙總儲存 (ASO) 多維資料庫的效能,您可以設定 Essbase 以根據中繼資料分析自動建立和維護預設彙總檢視,並控制彙總檢視大小。如需詳細資訊,請參閱自動產生聚總檢視

當您調整和測試聚總時,請考慮下列幾點:

  • 改善擷取效能可以增加磁碟儲存成本,以及將聚總具體化所需的時間。

  • 追蹤查詢可能會導致一組建議的聚總檢視,提供比其他查詢更佳的效能。只要查詢類型和頻率接近追蹤期間執行的查詢類型和頻率,選取提議的聚總檢視就可以大幅縮短一些查詢的效能時間,而其他查詢則幾乎沒有改善,但永遠不會更糟。

  • 最佳化聚總可能需要反覆的微調程序。

為了協助 Essbase 預估彙總檢視的大小,您可以調整 ASOSAMPLESIZEPERCENT 組態設定,此設定會變更 Essbase 範例的輸入儲存格數目。範例大小指定為輸入層級資料的百分比。預設且最小樣本大小為 1 百萬 (1,000,000) 個儲存格。

Essbase 提供的資訊可協助您選取並儲存 ASO 多維資料庫聚總檢視的正確餘額。將此資訊與檢索需求和環境的瞭解做比較。使用下列資訊來協助您選取聚總的聚總檢視:

  • 最大儲存需求

    您可以指定以兩種方式選取聚總檢視的儲存限制:

    • 起始聚總選擇時,您可以指定儲存停止值上限。選取聚總檢視,直到達到指定的儲存限制或沒有其他可選取的檢視為止。

      使用執行聚總程序 MaxL 敘述句搭配 stopping when total_size exceeds 文法時停止時,您可以指定產生資料檔的最大磁碟空間,作為目前立方體大小的比例。例如,如果立方結構的大小為 1 GB,則將大小總計指定為 1.2 表示產生的資料大小不能超過 1 GB 的 20%,總計為 1.2 GB。

    • 每次分析立方體之後, Essbase 會顯示層級 0 輸入儲存格檢視的相關資訊,後面接著建議的聚總檢視清單。每個聚總檢視都會顯示一個儲存體編號,其中包含聚總檢視及其相依的所有其他聚總檢視。當您選取要包含在聚總中的聚總檢視時,可以考慮此儲存體編號。

  • 相對的「查詢成本」效能提升

    清單中的每個聚總檢視所顯示的「查詢成本」編號,會預估從相關聚總檢視擷取值的平均擷取時間。預設檢視選項會將成本預估為所有可能查詢的平均值。使用查詢追蹤時,預估成本是所有追蹤查詢的平均值。特定聚總檢視的成本編號在不同的選取清單中可能會有所不同;例如,聚總檢視 0、0、1/0、2/0、0 可在預設選取清單中顯示不同的查詢成本,而非在包含分析中追蹤查詢的選擇項目中顯示。

    若要計算改善百分比,請將聚總檢視的查詢成本值分割成僅儲存層次 0 輸入儲存格時所顯示的查詢成本值。

  • 追蹤使用情況

    執行聚總檢視選取之前,您可以開啟查詢追蹤來判斷最常擷取的資料。在立方體活動期間之後,您可以讓 Essbase 在聚總分析程序中包含使用狀況統計資料。

  • 彙總時間

    在選取處理作業完成每個具體化聚總視觀表的增加後,執行聚總所需的時間。若要決定實際聚總時間,您必須執行聚總。

以下程序建議用於微調聚總:

  1. 執行執行 ASO 聚總中所述的預設聚總。

  2. 將預設選擇儲存在聚總命令檔中。請參閱 Essbase ASO 立方體的聚總命令檔

  3. 開啟查詢追蹤。請參閱根據使用狀況選取檢視

  4. 讓使用者針對立方體執行常用的查詢,或執行正在設計聚總的批次查詢作業。會追蹤所有查詢工具的查詢。

  5. 在足夠的時間擷取資料擷取需求之後,請執行另一個聚總,包括追蹤的資料。

  6. 分析要儲存的聚總檢視建議清單,然後選取您決定的聚總檢視,以提供最佳平衡的系統資源與擷取效能。

  7. 將選取的聚總檢視具體化,並視需要將選取項目儲存在聚總命令檔中。

  8. 使用聚總指令檔和各種選取準則時,請重複處理,直到您認為有最適合您情況的聚總檢視。

附註:

若要最佳化不同擷取情況 (例如產生報表或使用者查詢) 的聚總,您可能需要重複調整程序,為每個情況建立聚總命令檔。

自動產生聚總檢視

若要改善 Essbase 21c 中聚總儲存 (ASO) 多維資料庫的效能,您可以設定 METADATABASEDAGGVIEWSBUILD,讓 Essbase 根據中繼資料分析自動建立和維護預設聚總檢視。您可以使用 DEFAULTVIEWBUILDSIZE 控制聚總檢視大小。

Essbase 19c 之前的版本中, Essbase 會使用以資料取樣為基礎的內部分析來建立預設彙總檢視。從 Essbase 19c 開始, Essbase 可以使用中繼資料分析來選取預設檢視。

如果您使用以中繼資料分析為基礎的檢視選擇演算法,它可讓 Essbase 執行自動預設彙總檢視選擇、建置和維護。當您選取使用自動產生的聚總檢視時,可提升查詢效能。因為資料載入後,系統將建置聚總檢視 (若為現有檢視則會更新),所以它也會影響資料載入時間,並增加資料使用的磁碟空間容量。

若要自動產生與管理預設彙總檢視,請將 METADATABASEDAGGVIEWSBUILD 組態設為 AUTO (在 Essbase 21c 或更新的版本中),或將 DEFAULTVIEWBUILD 組態設為 TRUE (在 Essbase 19c 中)。如果啟用,系統會根據限定條件或隨選 (當您執行執行聚總選擇 MaxL 敘述句時) 自動產生聚總檢視。

如需有關限定條件的詳細資訊,請參閱 METADATABASEDAGGVIEWSBUILD (針對 Essbase 21c) 或 DEFAULTVIEWBUILD (針對舊版)。

若要控制所產生聚總檢視的大小,請新增額外的應用程式組態設定 DEFAULTVIEWBUILDSIZE ,並將其值設定為所需的總大小比率。例如,DEFAULTVIEWBUILDSIZE AsoSamp 1.2 會將聚總立方結構的結果成長限制在聚總之前不超過其大小的 20%。

根據使用狀況選取檢視

擷取 Essbase 彙總儲存 (ASO) 多維資料庫的擷取統計資料,並使用這些統計資料建立專為公司擷取模式量身打造的彙總。當您啟用查詢追蹤以通知聚總檢視選取程序時, Essbase 會在立方體分析中包含替代階層。

定期產生報表所需的組織 Essbase 立方體用途,可能與進行中的使用者擷取不同。若要針對不同的擷取情況進行最佳化,請考慮追蹤情況使用模式,並為每個情況建立聚總指令碼。

在您開始聚總選取處理之前,請確定查詢追蹤已開啟,且已足夠長時間擷取代表用途。若要啟用此功能,請使用 MaxL 敘述句 alter databaseenable query_tracking 文法。

查詢追蹤會保留記憶體中的查詢使用狀況資訊。執行下列任一作業會清除查詢使用狀況資訊。

  • 載入或清除資料

  • 具體化或清除聚總

  • 關閉查詢追蹤

查詢追蹤會持續開啟,直到您關閉、停止應用程式或變更大綱為止。

附註:

查詢追蹤和查詢追溯不同。

查詢追蹤可讓您擷取使用者對聚總儲存立方體的擷取統計資料,讓 Essbase 得以進行檢視最佳化以改善聚總效能。預設為開啟。相關的 MaxL 敘述句包含:

import query_tracking
export query_tracking
alter database enable query_tracking
query database appname.dbname get cube_size_info

查詢追蹤可協助您監督聚總儲存立方體的 Essbase 查詢效能測量結果 (包括使用混合模式的區塊儲存)。預設為關閉。如果啟用,Essbase 會將度量記錄在追蹤報表中。相關組態參數:TRACE_REPORT、QUERYTRACE、QUERYTRACETHRESHOLD、LONGQUERYTIMETHRESHOLD。

根據聚總層次用途檢視選項

如果您管理聚總儲存 (ASO) 立方體,您可以將檢視選擇特性套用至儲存的階層,以限制 Essbase 選擇特定層次進行聚總。在 Essbase Web 介面中,您可以使用大綱編輯器,在標示為彙總層級用法的選項群組中套用這些特性。

依預設, Essbase 會使用內部機制來決定如何建立彙總。使用者定義的檢視選擇可讓您影響預設檢視選擇,以及根據查詢資料檢視選擇。

資料庫管理員可以將檢視選擇特性套用至儲存的階層,以限制 Essbase 選擇特定層級進行聚總。

  • 在 REST API 中,您可以使用 aggLevelUsage 特性,透過執行批次大綱編輯端點套用檢視選擇特性。

附註:

次要 (替代) 階層為共用或屬性階層。

表格 37-3 檢視選擇項目特性

特性 效果

Default

在主要階層上, Essbase 會考量所有層級。除非啟用替代累計,否則它不會聚總在次要階層上。

考慮所有層級

將階層的所有層次視為聚總的潛在候選項目。這是主要階層的預設值,但不是次要階層的預設值。

不聚總

不聚總此階層。Essbase 選取的所有檢視都位於輸入層級。

僅考慮底層

僅適用於次要階層。Essbase 只會考量此階層的底層進行聚總。

僅考慮最上層

僅適用於主要階層。僅考慮此階層的最上層以進行聚總。

絕不聚總至中間層

套用至主要階層。僅選取最上層與最下層。

附註:

屬性維度的底層是由零層次屬性成員所組成。使用共用成員形成次要階層時,底層包含共用成員的直接父項。

Essbase 只會考量符合所選檢視選取特性的檢視。

在變更預設特性之前,您應熟悉立方結構的主導查詢模式;防止選取特定檢視會使查詢速度變慢,同時提升其他查詢的速度。同樣地,在次要階層上啟用「考量所有層級」可能會加速查詢至該階層,同時讓其他查詢變慢。

若要定義檢視選擇特性,您可以使用下列 MaxL 敘述句:

Essbase ASO 立方體的聚總指令碼

彙總命令檔代表 Essbase 彙總儲存 (ASO) 立方體上的特定彙總檢視選擇。它們可讓您彈性地略過資料載入後可能需要的聚總檢視選取處理。

關於聚總命令檔

每個聚總命令檔都代表針對立方結構選取的特定聚總檢視。

聚總命令檔可以節省您的時間。例如,載入新資料值之後,您不需要執行其他聚總檢視選擇。您可以使用儲存在聚總命令檔中的選擇來具體化聚總,以加速聚總處理作業。

聚總指令碼也可提供您彈性。您可以使用它們來儲存針對不同擷取情況最佳化的聚總檢視選擇;例如,您可以使用一個命令檔來最佳化月底報告中的擷取,以及針對每日擷取需求使用另一個命令檔。

當 ASO 立方體的聚總指令碼所包含的選取對立方體無效時,ASO 立方體的聚總指令碼會變成無效。建立聚總時,建立聚總命令檔。請勿手動修改聚總命令檔檔案,這可能會造成無法預期的結果。

建立彙總命令檔

儲存的聚總指令碼可讓您分割總計聚總處理。您可以將聚總具體化,與選取聚總之聚總檢視的時間不同。聚總命令檔包含聚總檢視選取階段期間所衍生的資訊。

若要建立聚總命令檔,您可以使用下列 MaxL 敘述句:

聚總命令檔會以副檔名為 .csc 的文字檔形式儲存在立方體目錄中,而且只要大綱中的維度層次結構未變更,就會有效。

若要避免可能雜亂的無效聚總命令檔檔案,請在聚總命令檔不再有用時手動刪除它們。

執行彙總指令碼

執行聚總命令檔會具體化其中指定的聚總檢視。雖然您可以建立多個聚總命令檔,但一次只能具體化一個聚總。

若要執行彙總指令碼,您可以使用執行彙總建置 MaxL 陳述式。

清除立方體中的聚總資料

將聚總從 Essbase 聚總儲存 (ASO) 立方體清除,會移除非 0 層次的資料。清除聚總之後,使用者查詢會從層級 0 值動態計算擷取的值。

有時您可能想要手動清除磁碟的彙總;例如,讓磁碟空間可供大量磁碟作業使用。清除聚總會清除立方體中層級 0 值以外的所有資料,釋出磁碟區域供其他使用。

若要清除聚總,您可以使用更改資料庫 MaxL 敘述句。

取代立方體中的聚總資料

您可以透過清除現有聚總並具體化不同聚總檢視的選取項目,來取代 Essbase ASO 立方體資料的聚總。您可以執行新的聚總檢視選擇與具體化處理,也可以執行聚總命令檔。

請考慮在下列情況下取代聚總:

  • 最佳化聚總檢視的選擇以改善效能。

  • 建立針對不同擷取情況最佳化的聚總,例如產生報表或使用者查詢。

  • 將立方體大小大幅成長後的聚總最佳化。隨著立方體的大小增加,聚總會變得較不有效率。當效能降低明顯或立方體大小增加到其原始大小大約 150% 時,請考慮取代聚總。

  • 最佳化新作業環境或不同作業環境的聚總,例如記憶體與磁碟資源可用性變更。

您必須在維度中的層級數變更,或一或多個維度已從大綱新增或移除之後,取代彙總與相關聯的彙總指令碼。