資料儲存

一個 Essbase 維度中的一個成員與另一個維度中的一個成員的交集是資料值。以不同方式分割資料庫,可讓您根據成員關係來檢視資料。若要儲存和存取資料, Essbase 會使用區塊和索引。

附註:

此資訊僅適用於區塊儲存體 (BSO) 立方體,不適用於聚總儲存體 (ASO) 立方體。

Essbase 資料庫中的每個資料值都儲存在一個儲存格中。透過在每個標準維度上指定其座標來參照特定資料值。

附註:

Essbase 不會儲存屬性維度的資料。Essbase 會在使用者擷取資料時動態計算屬性維度資料。

例如圖 2-13 中顯示的簡化資料庫。此資料庫有三個維度:「帳戶」、「時間」和「案例」:

  • Accounts 維度有四個成員:Sales、COGS、Margin 和 Margin%。

  • 「時間」維度有四季成員,而 Qtr1 有三個月成員

  • Scenario 維度有兩個子成員:預算值的預算和實際值的實際值。

圖 2-13 多維資料庫大綱


此圖像顯示含有三個維度的大綱,如圖像前面的文字所述。

資料值

一個 Essbase 維度中成員的交集,另一個維度中的一個成員代表一個資料值。資料值是最小的資料片段。

以下範例有三個維度 (Accounts、Time 和 Scenario);因此,資料庫中的維度和資料值可以表示為立方體。

圖 2-14 三維資料庫


此圖像將立體資料庫說明為立方體,如影像前面的文字所述。

當您指定 Sales 時,您要指定包含 8 個 Sales 值的資料庫截塊,其中 Sales 與 Actual 和 Budget 交集。

圖 2-15 資料庫的銷售片段


這張圖說明立方體中的資料片段,如影像前面的文字中所述。

劃分資料庫數量,以固定一個常數值的一個或多個維度,同時允許其他維度改變。

當您指定「實際銷售」時,您要指定包含四個「銷售」值 (其中「實際」與「銷售」相交) 的資料庫截塊。

圖 2-16 資料庫的實際銷售片段


這張圖說明立方體中的資料片段,如影像前面的文字中所述。

資料值會儲存在資料庫中的一個儲存格中。若要參照多維資料庫中的特定資料值,請在每個維度上指定其成員。例如,時段 Sales、Jan、Actual 包含一個資料值。資料值也可以使用交叉維度運算子 (->) 來表示,例如「銷售」->「實際」->「一月」。

圖 2-17 銷售 -> 1 月 -> 實際資料值


此圖像說明立方體中的資料值,如影像前面的文字中所述。

資料區塊與索引系統

Essbase 使用兩種類型的內部結構來儲存和存取資料:資料區塊和索引系統。

Essbase 會為稀疏標準維度成員的每個唯一組合建立資料區塊 (假設稀疏維度成員組合至少有一個資料值存在)。資料區塊代表其稀疏維度成員組合的所有密集維度成員。

Essbase 會為每個資料區塊建立索引項目。索引代表稀疏標準維度成員的組合。它包含稀疏標準維度成員的每個唯一組合項目,其中至少有一個資料值存在。

例如,在圖 2-18 所示的 Sample.Basic 資料庫大綱中,「產品」和「市場」都是稀疏維度。

圖 2-18 Sample.Basic 資料庫的產品與市場維度


此圖像顯示 Product 和 Market 維度的大綱。

如果紐約的 Caffeine Free Cola 有資料, Essbase 會為 Caffeine Free Cola (100-30) -> New York 的稀疏成員組合建立資料區塊和索引項目。如果 Caffeine Free Cola 在佛羅里達州銷售, Essbase 不會為稀疏成員組合建立資料區塊或索引項目:Caffeine Free Cola (100-30) -> Florida。

資料區塊 Caffeine Free Cola (100-30) -> New York 代表 Caffeine Free Cola (100-30) -> New York 的所有 Year、Measures 及 Scenario 維度。

每個唯一資料值都可以被視為存在於資料區塊的儲存格中。當 Essbase 搜尋資料值時,會使用索引來尋找適當的資料區塊。然後,在資料區塊中找出包含資料值的儲存格。索引項目提供資料區塊的指標。索引會有效率地處理稀疏資料,因為它只包含現有資料區塊的指標。

圖 2-19 顯示 Sample.Basic 資料庫之資料區塊的一部分。區塊的每個維度都代表 Sample.Basic 資料庫中的密集維度:Time、Measures 和 Scenario。Product 與 Market 稀疏維度的每個成員唯一組合都有資料區塊 (假設組合中至少有一個資料值存在)。

圖 2-19 Sample.Basic 資料庫之資料區塊的一部分


這張圖說明含有三個密集維度的部分資料區塊,如圖像前面的文字所述。

每個資料區塊都是一個多維陣列,包含一個固定、排序的位置,用於密集維度成員的每個可能組合。存取區塊中的儲存格不涉及循序或索引搜尋。搜尋幾乎是即時的,可達到最佳的擷取與計算速度。

Essbase 會根據資料庫大綱密集維度中成員的順序,排序資料區塊中的儲存格。

A (Dense)
   a1
   a2
B (Dense)
   b1
       b11
       b12
   b2
       b21
       b22
C (Dense)
   c1
   c2
   c3
D (Sparse)
   d1
   d2
       d21
       d22
E (Sparse)
   e1
   e2
   e3

圖 2-20 中的區塊代表前一個資料庫大綱中稀疏成員 d22 和 e3 之組合內的三個密集維度。在 Essbase 中,跨維度運算子表示成員組合。跨維度運算子的符號為 ->,因此 d22 -> e3 代表 d22 與 e3 的區塊。A、b21 和 c3 的交集會寫入為 A -> b21 -> c3。

圖 2-20 代表 d22 密集維度的資料區塊 -> e3


此圖說明代表密集維度的資料區塊,如影像前面的文字所述。

Essbase 會為稀疏維度 D 與 E 之成員的每個唯一組合建立資料區塊 (假設組合中至少有一個資料值存在)。

資料區塊 (例如圖 2-20 中的區塊) 可能包含不包含資料值的儲存格。如果區塊中至少有一個資料值,便會建立資料區塊。Essbase 會壓縮磁碟上遺漏值的資料區塊,並在將區塊帶入記憶體時完全展開每個區塊。資料壓縮是選擇性的,但預設為啟用。

藉由仔細選取密集和稀疏標準維度,您可以確保資料區塊不包含多個空白儲存格,將磁碟儲存需求降到最低並提升效能。在 Essbase 中,空的儲存格稱為 #MISSING 資料。

片段:多個資料視觀表

Essbase 資料庫針對需要分析資料類別間關係的使用者,支援多重資料集檢視。以不同方式分割資料庫可提供您不同的資料觀點。

例如,在圖 2-21 中,Jan 的片段會檢查 Year 維度在 Jan 修正的所有資料值。

圖 2-21 一月的資料


這張圖說明一月份的資料片段。

圖 2-22 中的截塊顯示 2 月的資料:

圖 2-22 2 月的資料


本圖說明 2 月份的資料片段。

圖 2-23 中的截塊顯示利潤率的資料:

圖 2-23 利潤率資料


此圖說明利潤率的資料片段。