• 沒有找到結果。

啟發式資料方體挑選方法之分析比較

N/A
N/A
Protected

Academic year: 2021

Share "啟發式資料方體挑選方法之分析比較"

Copied!
12
0
0

加載中.... (立即查看全文)

全文

(1)啟發式資料方體挑選方法之分析比較 A Comparative Analysis of Heuristic Data Cube Selection Methods 林文揚. 張耀升. Wen-Yang Lin 義守大學資訊管理學系. Yao-Sheng Chang 義守大學資訊工程研究所. Dept. of Information Management I-Shou University, Kaohsiung wylin@isu.edu.tw. Institute of Information Engineering I-Shou University, Kaohsiung m893335m@isu.edu.tw. 摘要 資料倉儲是針對決策支援系統的需求所 發展出的新一代資料庫的觀念,其資料通常 經由線上分析處理,提供管理者決策時的參 考。為縮短查詢的時間,並提供使用者各個 不同的觀察角度,這些資料通常在某一主題 的關聯下,以多維度的資料型式儲存,稱為 資料方體。資料方體選取的問題即是,給定 一主題及相關的維度所組成的資料方體,考 慮使用者欲進行的查詢問題,探討在有限的 儲存空間限制下,如何選取適當的子方體(視 域)加以實體化,以縮短查詢的時間,這個問 題已 知是屬 於非多 項式時 間完成 問題。 因 此,目前已知的資料方體實體化的選取方法 大多屬於啟發式的方法。本論文旨在比較這 些啟發式的挑選方法,分析其效率及求解的 品質,以了解這些方法的優劣及適用性。 關鍵詞: 資料方體、資料倉儲、啟發式方 法、線上分析處理。. Abstract Data warehousing is a new database concept dedicated to supporting executive managers in decision-making through online analytical processing (OLAP). To decrease the query time and provide various viewpoints, these data usually are organized as a multiple dimensional data model, called data cubes. The data cube selection problem is, given the set of user queries and a storage space constraint, to. select a set of materialized sub cubes from the data cubes to minimize the query cost, such as response time and/or the maintenance cost. This problem is known to be a NP-complete problem. Most of the existing algorithms are based on the greedy paradigm. In this paper, we compare and analyze the performance and quality of these greedy selection methods to rank their superiority and suitability.. Keywords: data cubes, data warehousing, heuristic method, OLAP.. 一. 概論 資料倉儲是針對決策支援系統的需求所 發展的新一代資料庫的觀念。其背景主要是 許多企業長久累積了大量的交易資料,並企 望藉由分析這些大量的交易資料支援決策的 工作。在分析的過程中,使用者往往需要從 各個不同的角度觀察資料,並且快速的變換 觀察的角度。為了滿足此分析的需求,資料 倉儲將各個來源資料庫的資料,經過處理後 加以儲存;這些資料通常以多維度 (multidimensional)的資料型式儲存,稱為資料 方體(data cube)。資料方體中的每一資料格 (cell) 代 表 使 用 者 所 關 心 的 , 某 一 經 聚 合 (aggregation)後的視域。由於資料倉儲的儲存 空間有限,因此在建立這些資料方體時,就 必須有所取捨,選擇較合適的資料方格加以 儲存。資料方體建立的問題即是,給定一主 題及相關的維度所組成的資料方體,考慮使 用者欲進行的查詢問題(queries),探討在有限 的儲存空間限制下,如何選取適當的資料格 (視域)加以實體化(materialize),以縮短查詢.

(2) 的時間。這個問題已知是屬於非多項式時間 完成問題(NP problem) [11]。目前解決此一問 題主要有三種方法:一種是窮舉法(exhaustive method)[4, 23],第二種為利用一些最佳化方 法,如遺傳演算法[1],第三種則以啟發式 (heuristic)為主[2, 3, 7, 8, 10, 11, 21, 24]。 本篇論文的目的旨在比較現存的啟發式 資料方體選取方法,分析這些方法的時間複 雜度、執行效率與解的品質,以了解這些方 法的優劣與適用時機,作為資料倉儲系統設 計者的指引。 本論 文 其餘 的 章節 安 排 如 下 : 第 二 節 中,首先介紹資料倉儲的基本觀念與架構, 然後定義資料方體實體化的選取問題,並說 明過去的相關研究。在第三節中,我們針對 過去的研究所提出的各種貪婪挑選方法作一 完整的說明。在第四節中,我們從理論上分 析各方法的時間複雜度及各方法求得的解的 效能 。第五 節描述 實驗的 方式並 分析其 結 果。第五節為此篇論文的結論。. 二. 問題背景描述 (一) 資料倉儲 資料倉儲是W.H. Inmon[13]提出的新一 代決策支援系統的觀念。其背景主要是許多 企業長久累積了大量的資料,這些資料對企 業的經營者而言是極重要的資產,除了作為 某些作業的記錄,以進行追蹤稽核之外,更 是決策者進行決策分析時最主要且客觀的資 料來源。然而這些資料常存在於不同的資訊 系統中,其意謂著決策者進行決策分析時無 一共通的資料來源,這導致至少下列幾個重 要的缺失:1)決策分析者不知從何處獲得相 關的資料;2)當不同的分析者引用不同的資 料來源時,極可能產生不同的結論;3)由於 資料分散且來源的資訊系統不同,分析者進 行分析時需先進行資料的重整,包括格式轉 換與篩選的工作,導致處理的時間過長,所 得結果往往不具時效性。 為解決上述問題,資料倉儲的技術在 於根據分析者的需求,將各個來源資料庫的 資料經過萃取(extract)及轉換(transform)等處 理後儲存。當使用者執行任一查詢時,只要 從資料倉儲處找尋相關資訊即可,無須從外 部的資料庫來源尋找資料,如此便能大幅縮 短查 詢的時 間。然 而,因 為資料 為事先 儲 存,所以預設的查詢多為一般常見或可預期 的查詢。所以一旦使用者所下的查詢並不在. 當初預設的查詢中,很有可能面臨無法回答 或資料不完整的可能。此外使用者也無法從 資料倉儲中,獲得最新的資料。 一完整的資料倉儲主要由三個部分所組 成,包括後端的資料來源(source databases), 核心部分的資料倉儲及資料超市(data marts) 伺服,以及前端的分析工具,通常是線上分 析處理(OLAP)、查詢/製表工具及資料挖掘 (data mining)軟體[5]。其典型的架構如圖一所 示。 工具 OLAP 監督及管理 Servers. 分析. 資料索引 資料 資料倉儲. 外部資料. 操作端. 萃取 轉換. 查詢/報告. 伺服 資料挖掘. 資料超市. 圖一、資料倉儲的架構[5]。 (二) 資料方體選取問題 由於資料倉儲的資料是來自各個來源 資料庫,在相關主題(subject)關連下,經過萃 取及轉換後儲存,因此資料倉儲可以視為一 堆 實 體 化 視 域 (materialized views) 的 儲 藏 所 (repository)。如圖一所示,資料倉儲所支援 的前端分析工具之一為線上分析處理,此種 分析的特點在於能提供使用者對所欲分析的 資料 ,如產 品的銷 售額, 從許多 不同的 角 度,如產品、顧客、供應商等,進行所謂的 聚合查詢。例如以銷售資料為例,分析者關 心的話題多半環繞在消費者(customer)、供應 商(supplier)、零件(part)、及銷售額(sales)。 所以資料倉儲中有關銷售額的資料可以視為 一個包含消費者、供應商及零件三個維度的 立方體,即資料方體。每一個立方體中的資 料格,代表銷售額在這三個維度上的表現, 即某一家供應商所供應、賣給某一客戶的某 一零件的銷售額,如圖二所示。 從圖二的資料方體中,我們可以看出 有 4 位供應商、4 個客戶以及 6 項產品。如 果使用者欲查詢每個供應商供應各個零件的 銷售情形,那麼我們必須對所有的顧客做加 總的動作,也就是(c1, p1, s1) + (c2, p1, s1) +.

(3) (c3, p1, s1) + (c4, p1, s1)。此表示供應商 s1 所 供應的產品 p1 的銷售額,其餘供應商與產品 的銷售情形可依此方式求出。上述的查詢可 以以下列的 SQL(Standard Query Language)語 言表示: SELECT Part, Supplier, SUM(Sales) AS Total Sales FROM R GROUP BY Part, Supplier; 其中 R 是我們資料的來源。此查詢的結果實 際上是對應原來的資料方體中的某一子方體 (subcube),如圖三所示。. 體 D1、D2 間的連線表示此兩子方體間的依賴 關係,記成 D1 ≤ D2。其意義為,凡是可以由 D1 回答的查詢也可以由 D2 所回答,反之則不 然。例如,考慮(-, p, -) ≤ (-, p, s)。若使用者 想了解所有的產品的銷售狀況,很顯然的我 們可以由 (-, p, -) 或 (-, p, s) 子方體來回 答。但是若使用者想進一步了解各供應商所 供應的產品的銷售狀況就只能由 (-, p, s) 子 方體來回答。 (c, p, s) 6M, 0.05. (c, p, -) 6M, 0.1 (c, -, s) 5M, 0.1 (-, p, s) 0.8M, 0.15. S4. 供應商 S3 S2 S1 P6 P5 P4 P3 P2 P1 C1 C2 C3 C4. 產品. (c, -, -)0.1M,0.15 (-, p, -)0.2M,0.25 (-, -, s)0.01M,0.2. (-, -, -) 1, 0. 圖四、一由八個子方體組成的格構。. 顧客 圖二、資料方體的例子。 供應商. 產品. S1. P6 P5 P4 P3 P2 P1. S2. S3. S4. ALL. 顧客 圖三、圖二的資料方體,經查詢後的結果對 應的子方體。 依這樣的結果,我們可以將上述的查詢 所對應的子方體以(-, p, s)的形式表示,符號”“表 示其 所對應 的屬性 ( 維度 ) 不 在 SQL 的 GROUP BY 子 句 中 。 因 此 , 由 消 費 者 (customer)、供應商(supplier)及零件(part)這三 個維度所組成的資料方體,當我們對任意維 度作加總後,實際上可以衍生出八種可能的 子方體(即視域)。圖四顯示此八個子方體間的 關係可以形成一格構(lattice),其中兩個子方. 由上面的討論可以得知,若要加快處理 查詢的速度,資料倉儲就必須針對使用者會 詢問的問題,從資料方體中挑選合適的子方 體加以儲存,稱之為實體化。最好的方式當 然是將所有的子方體都實體化。然而,資料 倉儲的實際空間,通常無法儲存所有的子方 體,因此,必須就使用者所查詢的問題,在 有限空間的考量下,挑選最佳的子方體集合 加以 實體化 ,使回 答所有 的查詢 時間為 最 短。此一最佳化的問題就稱之為實體化子方 體或實體化視域的選取問題。這類的問題, 已知是無法用多項式時間內所可以解決的問 題,也就是 NP-hard 的問題。為了便於描述 之後 的演算 法,我 們將此 問題正 式定義 如 下。 假設所考慮的資料方體的所有可能的子 方體為 D1, D2, …, Dn,使用者所查詢的聚合 問題為 Q1, Q2, …, Qm,每個問題查詢的頻率 為 fQ1, fQ2, …, fQm,回答查詢 Qi 所需的查詢成 本為 C(Qi),而資料倉儲可以儲存的空間為 S,則子方體實體化問題可以表示成求取一組 向量 V = <v1, v2, …, vn>, 其中 vi ∈ {0, 1},使 得 ∑ in=1 v i ⋅ | D i |≤ S ,. 且∑im=1 fQi ⋅ C (Qi )為最小. (1) (2).

(4) 上述的式子的求解最主要的關鍵,在於 如何計算回答查詢的成本。根據 Harinarayan 等人的實驗[11],回答聚合查詢如加總、平均 等類問題,所需的時間與視域的資料筆數成 正比。因此,我們所需要知道的是每個查詢 需用何種子方體來回答。此對應的關係可以 根據查詢中所牽涉的屬性與組成子方體的維 度作 一比對 即可。 舉例來 說,考 慮前述 產 品、顧客、供應商的例子,若使用者欲了解 各產品的銷售額,則直接對應的子方體為(-, p, -),所需的成本為 0.2M。然而,若是(-, p, -) 未實體化,則根據子方體間的相依關係(如圖 四),可以使用其所依賴的子方體中,資料筆 數最少,且有實體化者來回答此查詢,如(-, p, s),則所需的成本變為 0.8M。 由上述的討論可以進一步發現,回答所 有問題的查詢時間,實際上等於子方體被使 用的時間總合。因此,上述的問題可以簡化 為. ∑in=1 vi ⋅ Di ≤ S , 且∑im=1 f Di ⋅ CV ( Di )為最小 。. (3) (4). 此處 fD1, fD2, …, fDn 表每個子方體被使用 的頻率,而 CV(Di)表當子方體實體化的向量 為 V 時,使用子方體 Di 的成本為。. (rewritting)後,仍然可用選取的實體化視域來 回答,但去掉了儲存空間的限制。在同一時 間。Yang 等人[24]也針對同一問題提出不同 的處理模式,其考慮多個查詢間通常存在共 同的部分表達式(common subexpressions)的現 象[14],但未考慮索引的選取問題。於國內的 研究部分,則有陳耀輝等[3]針對此問題提出 一兩階段的演算法,先減少資料倉儲的儲存 空間,再改進 Harinarayan 等所提的貪婪法來 挑選合適的視域。我們亦針對此問題,提出 一植基於遺傳演算法的挑選方法,能找出比 一般貪婪法更佳的解[1]。 由於視域實體化的選取問題是屬於 NPhard 問題,目前解決此一問題主要以啟發式 為主。在這節中,我們描述目前已知的幾種 啟發式的挑選方法,包括 Harinarayan 等人 [11] 所 提 出 的 正 向 貪 婪 法 (FGS, Forward Greedy Selection)、我們提出的反向貪婪挑選 法 (BFS, Backward Greedy Selection)[2] 、 Shukla 等人[21]提出的體積挑選法(PBS, Pick By Size)及我們提出的近似利益挑選法(PAB, Pick by Approximate Benefit)並比較這四個演 算法的效能(effectiveness,即求解的品質)與 時間複雜度(time complexity)。為簡化分析並 專注這些方法的特性,在此我們皆未加入任 何縮減資料方體空間的方法,如[3]。另外我 們假設儲存空間小於所有子方體的總合,否 則所有的子方體皆可儲存,也就無挑選的必 要。. 三、啟發式資料方體挑選方法 (一) 正向貪婪挑選法 在資料庫研究的領域中,許多學者早已 發覺實體化視域能縮短查詢的時間[6, 16, 17, 18]。這幾年隨著資料倉儲的發展,逐漸有學 者探討資料倉儲中視域實體化的選取問題。 綜合這些學者的研究,我們略敘如下: Harinarayan 等人首先定義在處理 OLAP 的多 維度分析時,如何選取實體化的子方體的問 題[11],並提出一貪婪演算法來解決此問題; [7, 8, 9]則進一步將索引(index)的選取納入考 量,但二者都未考量維護這些實體視域的成 本;近來則有 Smith 等人提出一動態的選取 方法[22]。Ross 等人[20]則討論如何實體化一 些額 外的視 域,以 減少視 域維護 的成本 。 Gupta [10]針對視域實體化的選取問題作了有 系統的討論;其考慮的查詢種類擴大為可表 示成 AND-OR 圖的查詢,在有限的儲存空間 下,如何選取實體視域或其索引,以減少查 詢 處 理 及 視 域 維 護 的 成 本 。 在 [23] , Theodorates 亦探討了此一問題,其研究進一 步假設所選取的實體化視域必須要能回答所 有的查詢問題,或使用者的查詢能經由改寫. 正向 貪 婪挑 選 法的 基 本 作 法 是 由 零 開 始,一次挑選一個子方體,直到無法再增加 新的子方體為止,其關鍵在於如何在每次的 挑選過程中,選擇最合適的子方體。為此, 我們定義一計算每個子方體的利益函數 (Benefit function),BV(Di)如下:. BV(Di) = RV(Di) / | Di | RV(Di) = ∑im=1 f Di ⋅ (CV ( Di ) − CV <i ( Di ) ). (5) (6). 其中 RV(Di)代表的意義為,當目前的子 方體實體化向量為 V 時,將子方體 Di 加入 後,回答所有的查詢所減少的時間;RV(Di)與 Di 大小的比值,即單位空間所減少的查詢時 間,而符號 V<i 即表示將子方體 Di 加入後所 對應的實體化向量。然後根據此定義,計算 出在實體化向量 V 中的所有的子方體的價值 BV(Di)後,利益指數最高的子方體即為應挑選 的對象。此正向貪婪挑選方法詳述如下:.

(5) 演算法一、正向貪婪演算法。 步驟 0: 令 V ← 00…0。 步驟 1: 當 ∑ in=1 v i ⋅ Di < S 時,重覆執行步驟 2 ~ 5。 步驟 2: 根據式子(5)及(6)計算所有 vi = 1 的子 方體 Di 的利益值 BV(Di),1 ≤ i ≤ n。 步驟 3: 從步驟 1 的結果中,挑選利益值最大 的子方體,設為 Di。 步驟 4: V ← V<j。 步驟 5: 跳回步驟 1。 舉例來說,讓我們考慮圖四的例子:假 設空間限制為 7M,且當(c, p, s)未實體化時, 假設所有需使用(c, p, s)來回答的查詢必須回 到 資 料 倉 儲 中 的 基 底 關 聯 資 料 (base relation);在此我們設此基底關聯資料筆數為 200M。根據式子(3.1)及(3.2),可求得(c, p, s)、(c, -, s)、(-, p, s)、(c, -, -)、(-, p, -)及(-, -, s) 等六個子方體的利益指數,如表一所示。其 中”受依賴的子方體”一欄中的子方體,表示 其對應的使用者查詢,必須使用其所依賴的 最小的實體化子方體來回答。例如,以(c, -, s) 為例,在執行第一次挑選時,須使用此子方 體來回答使用者查詢的子方體除其本身外, 還有(c, -, -)及(-, -, s)。因此,當(c, p, s)被選取 後,原本需由基底關聯資料回答的查詢就可 用(c, -, s)來回答,依此可求出其利益指數為 (200−5)∗0.4/5 = 16。 表一、執行正向貪婪法前兩次挑選過程中, 所挑選的子方體的利益值。. cps c-s -ps c--p--s. 第一次挑選 第二次挑選 受 依 賴 的 利益值 受 依 賴 的 利益值 子方體 子方體 cps, cp-, 32 cps, cp-, 26 c-s, -ps, c-s, -ps, c--, -p-, --s c--, -pc-s, c--, --s 16 c-s, c-10 -ps, -p-, --s 149 -ps, -p100 c-300 c-300 -p250 250 -p--s 99995 --s. (二) 反向貪婪挑選法 正向貪婪挑選法的優點是,當儲存的空 間遠小於子方體總合時,能較快地找出一子 方體的組合;但是顯而易見地,當儲存空間 與子方體總合接近時,就需要進行較多次的 挑選運算。因此,在[2]我們提出一反向的作 法:假設所有的子方體皆已挑選,然後再從. 中一次剔除一個子方體,直到子方體總合小 於或等於儲存空間為止,我們將這個方法稱 為反 向貪婪 挑選法 。和正 向貪婪 挑選法 相 似,此方法的關鍵在於如何決定該剔除那一 個子方體。為此,我們定義一計算每個子方 體 的 損 害 函 數 (Paining function) , PV(Di) 如 下:. PV(Di) = GV(Di) / | Di | GV(Di) = ∑im=1 f Di ⋅ (CV>i (Di ) − CV (Di )). (7) (8). 其中 GV(Di) 代表的意義為,當目前的子 方體實體化向量為 V 時,將子方體 Di 移除 後,回答所有的查詢所增加的時間;GV(Di)與 Di 大小的比值,即單位空間所增加的查詢時 間,而符號 V>i 即表示將子方體 Di 移除後所 對應的實體化向量。然後根據此定義,計算 出在實體化向量 V 中的所有的子方體的價值 PV(Di)後,損害值最低的子方體即為應剔除的 對象。此反向貪婪挑選方法詳述如下: 演算法二、反向貪婪挑選法。 步驟 0: 令 V ← 11…1。 步驟 1: 當 ∑in=1 vi ⋅ Di > S 時,重覆執行步驟 2 ~ 5。 步驟 2: 根據式子(7)及(8)計算所有 vi = 1,1 ≤ i ≤ n , 的 子 方 體 Di 的 痛 苦 指 數 PV(Di)。 步驟 3: 從步驟 2 的結果中,挑選痛苦指數最 小的子方體,設為 Dj。 步驟 4: V ← V>j。 步驟 5: 跳回步驟 1。 舉例 來 說, 讓 我們 再 次 考 慮 圖 四 的 例 子:假設已挑選的子方體向量 V 為 10111110,空間限制為 7M。另外我們假設, 當(c, p, s)未實體化時,所有需使用(c, p, s)來 回答的查詢必須回到資料倉儲中的基底關聯 資料,此基底關聯資料筆數同樣設為 200M。 根據式子(7)及(8),可求得(c, p, s)、(c, -, s)、 (-, p, s)、(c, -, -)、(-, p, -)及(-, -, s)等六個子方 體的損害值,如表二所示。其中”受依賴的子 方體”一欄的意義如前所述。例如,以(c, p, s) 為例,在執行第一次挑選時,須使用此子方 體來回答使用者查詢的子方體除其本身外, 還有(c, p, -),因 (c, p, -)並未實體化。因此, 當(c, p, s)被移除後,原本可由其回答的查詢 就必須回到基底關聯,而增加的時間即是(c, p, s)及(c, p, -)所對應的查詢,依此可求出其損 害值為(200 − 6) ∗ (0.05 + 0.1) / 6 = 4.85。由表 二的結果得知,所挑選的子方體為(c, -, s)及(-,.

(6) p, -) , 而 剩 餘 的 實 體 化 子 方 體 的 空 間 為 6.91M。 表二、執行反向貪婪法前兩次挑選過程中, 所挑選的子方體的損失值。 第一次挑選. cps c-s -ps c--p--s. 第二次挑選. 受依賴的 受依賴的 損害值 損害值 子方體 子方體 4.85 cps, cp-, 8.08 cps, cpc-s c-s 0.02 c-s -ps 0.98 -ps 0.98 c-12.25 c-12.25 0.75 -p-p0.75 15.80 --s --s 15.80. (三) 體積挑選法 此挑選法為預先計算各子方體的體積大 小,然後依遞增的關係,在不超過儲存空間 下,由小至大一一挑選予以實體化。令 S 代 表儲存空間的限制, D 代表所有子方體的集 合, V 代表被挑選中將以實體化子方體的集 合。此體積挑選方法[21]詳述如下: 演算法三、體積挑選法。 步驟 0: 將集合 D 中子方體根據大小作遞增 排序。 步驟 1: 令 V ← 00…0,j ← 1。 步驟 2: 當(S − |Dj|) > 0 時,重覆執行步驟 3 ~ 4。 步驟 3: S ← S − |Dj|,V ← V<j,j ← j + 1。 步驟 4: 跳回步驟 2。 以圖四的子方體方格為例,子方體的排 列次序為(-, -, s),(c, -, -),(-, p, -),(-, p, s), (c, -, s),(c, p, -),(c, p, s)。因此,若空間限 制設為7M,則所選取的子方體為前五組。 (四) 近似利益挑選法. 其中 Anc(Di)及 Des(Di)分別表示在資料方格 關係中,屬子方體 Di 的祖先及子孫的子方體 集合。 式(9)的意義表示每個子方體 Di 被選取後 所帶來的益處的預估值;因為我們無法正確 知道 Di 在何時被選取以及當 Di 被選取時,已 選取的子方體集合中何者為 Di 的祖先及子 孫,因此我們假設當 Di 被選取時,所有在 Des(Di)中的子方體的查詢時間將由|Anc(Di)|-1 ∑Dj∈Anc(Di)|Dj| (即子方體 Di 的祖先子方體大小 的平均值)成為|Di|, 故 查詢時間減少量為 |Anc(Di)|-1 ∑Dj∈Anc(Di)|Dj| −|Di|,再乘上所有在 Des(Di)中的子方體及 Di 本身的使用頻率總合 即為所求。 根據利益估算值將所有子方體作遞減排 序,最後將排序後的子方體由第一個開始累 計其大小,直到累計合超過儲存空間為止。 演算法四、近似利益挑選法。 步驟 0: 根據式(9)計算個子方體的利益估計 值。 步驟 1: 將集合 D 中子方體根據利益估計值 作遞增排序。 步驟 2: 令 V ← 00…0,j ← 1。 步驟 3: 當(S − |Dj|) > 0 時,重覆執行步驟 4 ~ 5。 步驟 4: S ← S − |Dj|,V ← V<j,j ← j + 1。 步驟 5: 跳回步驟 3。 表三、近似利益挑選法中,各子方體的利益 估計值。. Di. cps Base c-s -ps cpc--p--s. 這個方法的基本構想在簡化正向或反向 挑選法決定下一個實體化方體的計算時間, 概念是結合正向貪婪挑選法與體積挑選法, 先估算每個子方體的利益值,如下所示    ∑| D j | (| Di | ⋅ | Anc(Di ) |) −1 ⋅ f Dk  D ∈Anc( D )  D ∈Des∑ i  j  k ( Di )∪{Di } (9). Anc(Di). Des(Di). cp-, c-s, -ps, c--, -p-, --s Base, cps c--, --s Base, cps -p-, --s Base, cps c--, -pBase, cps, --cp-, c-s Base, cps, --cp-, -ps Base, cps, ---ps, c-s-. 利益估計值 32 9 76 8 80 40 794. 例如以圖四的子方體方格為例,子方體 (c, -, s)被選取的利益預估值為((200+6)/2– 5) * (0.15 + 0.2 + 0.1) = 44;各子方體的利益預估 值計算結果如表三所示。根據此結果可得到 子方體的排列次序為(-, -, s),(c, -, -),(-, p, s),(-, p, -),(c, p, s),(c, -, s),(c, p, -)。因 此,若空間限制設為 7M,則所選取的子方體 為前四組。.

(7) 四、效能與複雜度分析. PBS 所求得的解與 FGS 相同,換言之,FGS 所求得的解所減少的查詢成本亦不會少於最 佳解所減少的查詢成本的 63%。此處我們證 明 BGS 及 PAB 亦有相同的效能。. 在這節中,我們首先分析這四個演算法 的時間複雜度,再分析比較各個演算法的效 能。. 定理 1、對任何的子方體格構,BGS 選 定刪除的子方體所增加的查詢成本不會多於 最佳解所增加的查詢成本的 1.58 倍。. 假設執行 FGS 挑選法須執行 k 次的挑選 動作(步驟 3),每一次的挑選動作須計算所 有未挑選的子方體的利益值,而每個子方體 利益值的計算須對所有的查詢做計算,故所 需要的時間為 O(k⋅n2)。BGS 的損害值的計算 方式和 FGS 類似,所需時間相同,但因 BGS 是以刪除的方式反向進行,是以若同一問題 FGS 需進行 k 次挑選,則 BGS 大約需進行 n − k 次刪除,所以時間複雜度為 O((n−k) n2)。. 證明:令 v1, v2, …, vk 表 BGS 所選定 需刪除的 k 個子方體,而 w1, w2, …, wk 為 最佳方法所選定需刪除的子方體, ai 表 v1, v2, …, vi−1 子方體已刪除的情況下,刪除子 方體 vi 所增加的查詢成本,bi 為 w1, w2, …, wi−1 子方體已刪除的情況下,刪除子方體 wi 所增加的查詢成本,1 ≤ i ≤ k。此外,令刪除 v1, v2, …, vk 所增加的查詢成本為 A, A = ∑i ai,而刪除 w1, w2, …, wk 所增加的查詢 成本為 B,B = ∑ i bi。. PBS 主要的運算為排序,故所需的時間 為 O(n log n)。至於 PAB,我們假設資料方體 格構為超立方體(Hypercube),且資料方體具 有 d 個維度,故 n = 2d。由此假設可以推出, 對某一具有 i 個維度的子方體 v,其祖先及子 孫的數目為 |Anc(v)| = 2. d −i. d. i =1 . . i =1  d. d. d. . = 2⋅3 − 2. i =1 . k. 數),所以 A / B ≤ e / (e – 1) = 1.58。 ■. ∑  i  (2 d − i − 1 + 2i − 1) = 2 ∑  i 2i − 2 ∑  i  d. B  k −1 ≥ 1−   A  k . 當 k → ∞ , ( k k−1 ) k 趨近於 1/e (e 表示自然. i. − 1,|Des(v)| = 2 − 1。. 故計算所有子方體的預估利益需時 d. 仿照[11]中的證明方式,我們可以導出. d. . d +1. ≅ O (3log n ).. 此處 id  表示組合函數,即由 d 個相異物件中  . 選取 i 個不同物件的組合總數。 由 上 述 的分 析 結 果 可 以了 解 就 速 度 而 言,PBS 最佳、其次為 PAB,最後為 FGS 及 BGS,而 FGS 及 BGS 孰優孰劣端視 k 的大小 而定當 k 小於 n/2 時,FGS 有較佳的速度, 反之則為 BGS。 接下來我們分析這四個演算法的效能。 在[11]中,Harinarayan 等人證明 FGS 所求得 的解所減少的查詢成本(即利益值)不會少於最 佳解所減少的查詢成本的 63%。在[21]中, Shukla 等人也證明,若子方體格構為限定體 積 超 立 方 體 1(Size-restricted hypercube) , 則. 引理 2、對任何的子方體格構,BGS 求 得實體化的資方體所減少的查詢成本不會少 於最佳解所減少的查詢成本的 63%。 至於 PAB 的效能,假設資料方體格構為 限定體積超立方體,且|u| ≥ (k + 3) |v|,k = |children(u)|,我們可以得到下列結果。 定理 3、對任一滿足限定體積超立方體 性質的資料方體格構,且|u| ≥ (k + 3) |v| (k = |children(u)|),PAB 所求得的解所減少的查詢 成本 不會少 於最佳 解所減 少的查 詢成本 的 63%。 證明:若我們能證明 PAB 所求出的解與 PBS 相同,則可證明 PAB 與 PBS 有同等的效 能。欲證明此點,只要證明體積愈小的子方 體其近似利益值愈大即可,因為 PAB 所得到 的子方體排列次序與 PBS 相同。 令一具有 i 個屬性的子方體 v 位於資料 格構中的第 i 層(0 ≤ i ≤ d),而 li 表示 v 與其最 大的兒子方體大小的比值,則 v 的兒子方體 數目為 i,li ≥ i + 3。此外,若位於資料格構 中第 0 層的方體大小為 s,則位於第 i 層的資. 1. 所謂的限定體積超立方體為構成超立方體中的 任二節點 u 及 v (u 為 v 的父節點且 u 不為根節點),節點 u 的 大 小 至 少 為 節 點 v 的 大 小 的 k + 1 倍 (k =. |children(u)|),即 |u| ≥ (k + 1) |v|。例如圖四的格構即為限 定體積超立方體。.

(8) 料方體的大小皆至少為 s ∑ij =1 l j 。. 五、實驗比較. 根據超立方體的定義, v 的子孫數目為 2 − 1,而位於第 j 層的祖先數目為 dj  ,i + 1≤ i.  . 為了解這四個演算法實際的效能與執行 效率,我們以 TPC-D 決策支援測試庫[19]進 行一連串的實驗。這個資料庫是根據交易處 理 效 能 會 議 (Transaction Processing Performance Council,簡稱 TPC),在 1995 年 針對決策支援所制定的測試資料庫,最多可 以產生高達 10000GB 的資料;我們所用的是 其中的最小的測試庫,1GB。. j ≤ d。因此,v 的近似利益值 AB(v)為. [].  d d j   ∑ j ⋅ s ∏ lr  j = i +1  × 2i r =1 − AB( v ) ≥  1 i  d −i  2 s ∏ lr  r =1   d. [dj ]⋅ ∏ lr − 2i j. = 2 2i − d ∑. j = i +1. r = i +1. 現考慮另一子方體 w。若 w 與 v 位於同 一層,且 w 的大小小於 v,由上式可得知 w 的近似利益值大於 v。. 表四、TPCD 中,由 customer,part,supplier 三個 屬 性所組 成的 資料方 體 中所 有 的子 方 體。 cps. 6000. nps. 5000. rps. 4000. -ps. 800. cpn. 6000 npn. 5000. rpn. 4000. -pn. 800. cpr. 6000. npr. 5000. rpr. 4000. -pr. 800. cp-. 6000. np-. 5000. rp-. 1000. -p-. 200. css. 5000. nss. 500. rss. 2500. -ss. 500. csn. 5000. nsn. 30. rsn. 6.25. -sn. 1.25. csr. 5000. nsr. 6.25. rsr. 1.25. -sr. 0.25. 因為 li ≥ i + 3 ≥ 4,所以 AB(u) ≥ AB(v)。. cs-. 5000. ns-. 1.25. rs-. 0.025. -s-. 0.05. 綜合以上所述,PAB 求得的子方體排列 次序為依資料方體大小作遞增排序。 ■. cts. 5990. nts. 800. rts. 3000. -ts. 1500. ctn. 5990. ntn. 90. rtn. 18.75. -tn. 3.75. ctr. 5990. ntr. 18.75. rtr. 3.75. -tr. 0.75. ct-. 5990. nt-. 3.75. rt-. 0.75. -t-. 0.15. c-s. 6000. n-s. 250. r-s. 50. --s. 10. c-n. 2500. n-n 0.625. r-n. 0.125. --n. 0.025. c-r. 500. n-r. 0.125. r-r. 0.025. --r. 0.025. c--. 100. n--. 0.025. r--. 0.005. ---. 0.001. 若 w 位於第 i−1 層的子方體,則 w 的近 似利益值 AB(u)為 d. AB(u ) ≥ 2 2i − d − 2 ∑. j =i. [dj ] ∏ lr − 2i −1. d l = i 2 2i − d ∑ 4 j = i +1. j. r =i. [] d j. j. l ∏ lr + i 4 r = i +1. [ ]2 d i. 2i − d. −2. i −1. 上述的結果似乎證明這四種啟發式的挑 選 方 法 是 近 似 演 算 法 (approximate algorithms)[12]-保證求得解的品質與最佳解的差 距在一定的範圍內,然而事實卻非如此。這 個結果的衡量標準(criterion)-利益值,實際 上並非真正的查詢成本。因此,即使利益值 高於最佳利益值的 63%,實際的查詢成本卻 可能遠高於最佳查詢成本。例如,令 T 代表 未進行任何子方體實體化的總查詢成本,假 設最佳的挑選方法求得的實體化子方體可將 查詢成本降為 0.01T,而某一貪婪挑選法求得 的實體化子方體只能將查詢成本降為 0.2T, 為最佳解的 20 倍,然而若比較利益值可發現. Part. (T − 0.2T) / (T − 0.01T) = 81%。 事實上針對資料方體的選取問題, Karloff 及 Mihail [15]已證明除非可在多項式 時間內解出之問題的集合等於不可在多項式 時間內解出之問題的集合(即 P = NP),否則 不存在有可在多項式時間內完成的近似演算 法。他們並進一步證明當格構中的子方體數 目 n 大於 20 且為 4 的倍數時,FGS 所求得的 查詢成本至少為最佳解的 n/12 倍。. Type. Customer. Supplier. Nation. Nation. Size Region None. None. Region. None. 圖五、TPCD 中,Part、Customer 及 Supplier 這三個維度的屬性的階層關係圖。.

(9) 兩種方法的表現差不多。這是因為空間限制 較大時,兩種方法所得出的解差異不大。. 我們從這資料庫中挑選三個維度來組成 測試用的資料方格(data cube),分別為顧客 (Customer, c) 、 零 件 (Part, p) 、 及 供 應 商 (Supplier, s)等,而為了增加子方體的組合, 我們又在每個維度中,挑選部份的屬性形成 階級(hierarchy),如圖五。由於零件的部分組 合有四種,顧客有四種,同樣供應商也是四 種,所以所有的子方體組合將有 64 種,其相 關的大小列述於表四,其中所有的屬性都以 第一個英文字母來表示,”-”的符號為 none 的 意思,空間單位為 K(1000)資料筆數。. 另外,就體積挑選法與近似利益挑選法 兩者相比,可以發現近似利益挑選法的表現 都優於體積挑選法。 在第四節中,我們曾提及此處所分析的 四種演算法雖然就利益值而言都是近似演算 法,但實際上就問題真正的查詢成本而言, 這四個演算法未必能得到近似最佳解。在[1] 中,我們提出一以遺傳演算法為基礎的挑選 方法,在與正向貪婪法的比較實驗中,我們 就發現兩者的查詢成本差距最大達到 3~4 倍 之多。. 至於各個子方體的使用頻率的組合,我 們考慮了三種模式:第一種是所有的子方體 的使用頻率皆相同,且都大於零;第二種是 由隨機產生介於 0~1 間的亂數所組成的組 合;第三種則是設成子方體的使用頻率和其 大小成線性反比。另外我們將儲存空間的限 制 , 分 別設 為 子方 體 總合 的 10%、 20%、 30% 、 40% 、 50% 、 60% 、 70% 、 80% 及 90%。此外,若發生當某一查詢所使用的子 方體皆未實體化的情況,我們則將其視為需 回到資料倉儲的基底關聯進行查詢,在此我 們將其時間設為資料方體中最大的子方體的 3 倍,即 18M。. 接下來我們比較這四個演算法的執行時 間,此處僅顯示子方體使用頻率皆相同時的 時間,結果如圖九所示,其他兩種頻率的結 果與此相似。基本上實驗的結果與第四節的 理論分析相符合,正向與反向貪婪挑選法的 速度最慢,其次為近似利益挑選法,最快為 體積挑選法,正向與反向挑選法兩者的優劣 與空間限制有關,而體積挑選法與近似利益 挑選法的速度極為相近。. 五、結論. 我們首先比較這四種挑選法的效能,結 果如圖六、圖七及圖八。由圖中我們可以很 清楚的發現,不管頻率為何,正向與反向貪 婪法在查詢成本上都優於其他兩種,而正向 與反向貪婪法則互有領先。當空間限制較小 時(< 40%),正向貪婪法在子方體的使用頻率 為線性時表現較佳,而反向貪婪法則再其他 兩種頻率時表現較佳;當空間限制較大時,. 在本論文中,我們針對資料倉儲中資料 方體 的挑選 問題, 在儲存 空間的 限制條 件 下,分析比較幾種啟發式挑選法的效能與速 度,並進行實驗驗證。綜合這些分析比較的 結果 ,我們 認為 在實際 設計資料 倉儲系 統 時,如何選取欲實體化的資料方體應可考慮. 100000000. 查詢成本. 80000000 PBS. 60000000. PAB FGS. 40000000. BGS. 20000000 0 1. 2. 3. 4. 5. 6. 7. 8. 9. 空間限制(10%). 圖六、當各子方體的使用頻率成線性時,各挑選法在查詢成本上的比較。.

(10) 250000000. 查詢成本. 200000000 PBS PAB FGS BGS. 150000000 100000000 50000000 0 1. 2. 3. 4. 5. 6. 7. 8. 9. 空間限制(10%) 圖七、當各子方體的使用頻率為亂數時,各挑選法在查詢成本上的比較。. 500000000 查詢成本. 400000000 PBS PAB FGS BGS. 300000000 200000000 100000000 0 1. 2. 3. 4. 5. 6. 7. 8. 9. 空間限制(10%). 圖八、當各子方體的使用頻率皆相同時,各挑選法在查詢成本上的比較。. 時間 (1/10000 秒 ). 300 250. PBS. 200. PAB. 150. FGS. 100. BGS. 50 0 1. 2. 3 4 5 6 7 空間 限制(x10%). 8. 9. 圖九、當各子方體的使用頻率皆相同時,各挑選法執行時間的比較。. 下列的綜合性做法:初次建立資料方體時,. 可根據預估的全體子方體的大小與硬碟的空.

(11) 間的比率決定使用正向或反向貪婪挑選法, 此階段著重的是所挑選的實體化子方體的效 能,盡量降低查詢成本;往後在來源資料增 加或更新下,需更新實體化的資料方體時, 則可以使用較快速的體積挑選法或近似利益 值挑選法,以期能一方面在短時間內完成資 料方體的更新工作,另一方面又能兼顧查詢 成本的降低。 由於啟發式的挑選法在質的方面離最佳 解能有相當的差距,況且以正向或反向挑選 方法的時間複雜度 O(k⋅n2),在子方體數目較 大時,所需的執行時間還是相當長,未必符 合實際的需求,未來我們將專注於尋找更快 速且效能更好的挑選方法。. 六、參考文獻. and J.D. Ullman, “Index Selection for OLAP,” in Proceedings of ICDE, pp. 208219, 1997. [10] H. Gupta and I.S. Mumick, “Selection of views to materialize under a maintenance cost constraint,” in Proceedings of International Conference on Database Theory, Jerusalam, Israel, 1999. [11] V. Harinarayan, A. Rajaraman, and J.D. Ullman, “Implementing data cubes efficiently,” in Proceedings of ACM SIGMOD ‘96, pp. 205-216, 1996. [12] E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer Science Press, Inc., 1978. [13] W.H. Inmon and C. Kelley, Rdb/VMS: Developing the Data Warehouse, QED Publishing Group, Boston, Massachussetts, 1993.. [1]. 林文揚與郭義中,“遺傳演算法於資料 倉儲中構建資料方體之應用”,八十八 年全國計算機會議論文集,第一輯,第 241-248 頁,1999。. [14] M. Jarke, “Common subexpression isolation in multiple query optimization,” Query Processing in Database Systems, pp. 191-205, 1984.. [2]. 林文揚與郭義中,“應用於線上分析之 資料方體的雙向貪婪挑選法”,第五屆 資訊管理研討會,高雄,臺灣,2000。. [15] H. Karloff and M. Mihail, “On the complexity of the view-selection problem,” in Proceedings of ACM PODS, Philadelphia, USA, pp. 167-173, 1999.. [3]. 陳耀輝、劉宇昌與劉佳灝,”在資料倉 儲中選擇實體化視域之研究”,八十六 年全國計算機會議論文集,第一輯,第 72-77 頁,1997。. [16] A. Levy, A.O. Mendelson, Y. Sagiv, and D. Srivastava, “Answering queries using views,” in Proceedings of ACM PODS, pp. 95-104, 1995.. [4]. E. Baralis, S. Paraboschi, E. Teniente, “Materialized view selection in a multidimensional database,” in Proceedings of the 23rd VLDB Conference, Athens, Greece, 1997.. [17] P.-A. Larson and H.Yang, “Computing queries from derived relations,” in Proceedings of the 1st VLDB Conference, pp. 259-269, 1985.. [5]. [6]. [7]. S. Chaudhuri and U. Dayal, “An overview of data warehouse and OLAP technology,” in ACM SIGMOD Record, Vol. 26, pp. 6574, 1997. S. Chaudhuri, R. Krishnamurthy, S. Potamianos, and K. Shim, “Optimizing queries with materialized views,” in Proceedings of ICDE, pp. 190-200, 1995. C.I. Ezeife, “A uniform approach for selecting views and indexes in a data warehouse,” in Proceedings of International Database Engineering and Applications Symposium, pp. 151-160, 1997.. [8]. H. Gupta, “Selection of views to materialize in a data warehouse,” in Proceedings of ICDT, pp. 98-112, 1997.. [9]. H. Gupta,V. Harinarayan, A. Rajaraman,. [18] D. Quass, A. Gupta, I.S. Mumick, and J. Widom, “Making views self maintainable for data warehousing,” in Proceedings of PDIS, 1996. [19] F. Raab, ed., TPC Benchmark™ D (Decision Support), Proposed revision 1.0, Transaction Processing Performance Council, San Jose, CA, 1995. [20] K.A. Ross, D. Srivastava, and S. Sudarshan, “Materialized view maintenance and integrity constraint checking: trading space for time,” in Proceedings of ACM SIGMOD, pp. 447-458, 1996. [21] A. Shukla , P. M. Deshande and J. F. Naughtion, “Materialized View Selection for Multidimensional Datasets,” in Proceedings of the 24th VLDB Conference, New York, USA, 1998. [22] J. R. Smith, et al, “Dynamic assembly of views in data cubes,” in Proceedings of.

(12) ACM PODS, pp. 274-283, 1998. [23] D. Theodoratos and T. Sellis, “Data warehouse configuration,” in Proceedings of the 23rd VLDB Conference, Athens, Greece, 1997. [24] J. Yang, K. Karlapalem, and Q. Li, “Algorithm for materialized view design in data warehousing environment,” in Proceedings of the 23rd VLDB, Athens, Greece, 1997..

(13)

參考文獻

相關文件

Primal-dual approach for the mixed domination problem in trees Although we have presented Algorithm 3 for finding a minimum mixed dominating set in a tree, it is still desire to

use past tense to describe the features and life of ancient Greek civilization (e.g., Socrates was a philosopher. He was the teacher of Plato. He emphasized ethics and

An algorithm is called stable if it satisfies the property that small changes in the initial data produce correspondingly small changes in the final results. (初始資料的微小變動

Process:  Design  of  the  method  and  sequence  of  actions  in  service  creation and  delivery. Physical  environment: The  appearance  of  buildings, 

&#34;Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values,&#34; Data Mining and Knowledge Discovery, Vol. “Density-Based Clustering in

Ramesh: An algorithm for generating all spann ing trees of directed graphs, Proceedings of the Workshop on Algorithms an d Data Structures, LNCS, Vol.. Ramesh: Algorithms for

- Attempted to distribute infringing copies of copyright works to such extent as to affect prejudicially the rights of the copyright

in Proceedings of the 20th International Conference on Very Large Data