摘要:提出一種新的數據立方體結構,通過索引和集合的交并運算來獲得查詢結果,特別是在進行區域查詢時,避免了將區域分解為點后再依次進行點查詢的方式,從而在保持較少的磁盤空間和較好的點查詢響應速度的情況下,改善區域查詢的性能;同時給出其生成和查詢算法,并使用合成數據和實際數據進行了實驗驗證。
關鍵詞:數據倉庫; 數據立方體; 聯機分析處理; 區域查詢; 集合運算
中圖分類號:TP311文獻標志碼:A
文章編號:1001-3695(2007)11-0225-03
0引言
Date cube[1]是OLAP一個非常重要的操作符。雖然數據立方體預計算并保存查詢結果,能夠提高查詢響應速度,但也存在著很大的問題:占用巨大的磁盤空間、維護工作量大且不能很好地適用于高維的情況。到目前為止,研究者們提出了四類解決方法:a)部分視圖型數據立方體。在給定的存儲空間約束或維護時間約束下,有選擇地實例化數據立方體中的部分視圖,但查詢響應時間比數據立方體長。b)近似計算型數據立方體。利用柱狀圖和小波變換技術壓縮數據立方體,但得到的查詢結果是近似的。c)元組共享型數據立方體。例如condensed cube[2]、quotient cube[3]、封閉立方體[4]、FreeCube[5],利用元組共享原理只實例化數據立方體視圖中的某些元組,對稀疏型數據立方體有很高的壓縮比,但查詢響應時間仍較長。d)特殊存儲結構型數據立方體。采用R-tree或prefix tree結構來組織數據立方體中的元組,如cubetrees[6]和dwarf[7],然而維數越大,其查詢性能越不好。在上述四類方法中,元組共享型數據立方體具有較好的綜合性能:精確的查詢結果;很高的數據壓縮比;較短的查詢響應時間。然而它們在進行區域查詢時,將區域分解為點,然后進行點查詢,使得一個區域查詢相當于大量的點查詢,也就導致了查詢效率較低。為此,本文提出一種部分視圖的數據立方體的概念,在保持與它們類似的空間性能和點查詢響應速度的情況下,提高區域查詢的速度。
在該立方體結構中進行查詢,其主要時間開銷來自于各維值基本元組索引集的交并運算。其中并運算只出現在區域查詢中。在其他的立方體存儲結構中,對于區域查詢,都是對區域查詢條件中的區域部分進行分解,查詢每個點的聚集值,然后再匯總。隨著區間的維數增加和查詢區間的增大,區域查詢響應時間也就必然迅速增加。在本文提出的立方體結構中的區域維上,先對各區間維值的基本元組索引集進行并運算,然后一次性地進行所有維集合的交運算。如果在某區域維的前一維上非all,那么對于該區域維的并運算也不需要,可以直接在前一維上找到這些區域維值相對應的序號,無論是并運算還是直接獲取這些元組序號,以及通過求補集的方法來求交集,都能夠明顯提高整個區域查詢的效率。這也就是該存儲結構所特有的地方。
4結束語
本文提出的立方體結構是一個部分數據立方體,它大大壓縮了數據立方體的體積,盡管只給出了部分視圖,但因為采用索引方式,可以較快地讀取數據;同時因為運用集合交并補運算,使得區域查詢有較好的查詢響應時間。筆者今后的主要工作是進一步優化該結構和算法,考慮如何在空間壓縮率和查詢性能上取得更好的平衡。例如在實例化視圖時,適當增加經常用到的非相鄰維的方體,改進求交算法,在索引的情況下進行求交運算等,使得在能夠接受的空間壓縮條件下進一步提高查詢響應速度。
參考文獻:
[1]GRAY J, BOSWORTH A, LAYMAN A, et al. Data cube: a relational aggregation operator generalizing group-by, cross-tab, and sub-totals[C]//Proc of the 12th Int’l Conf on Data Engineering.New Orleans: [s.n.], 1996:152-159.
[2]WANG Wei, FENG Jian-lin, LU Hong-jun, et al. Condensed cube: an effective approach to reducing data cube size[C]//Proc of the 18th Int’l Conf on Data Engineering. San Jose: [s.n.], 2002:155-165.
[3]LAKSHMANAN L V S, PEI J, HAN J W. Quotient cube: how to summarize the semantics of a data cube[C]//Proc of the 23rd Int’l Conf on Very Large Data Bases.Hong Kong: [s.n.],2002:778-789.
[4]李盛恩,王珊.封閉數據立方體技術研究[J].軟件學報,2004,15(8):1165-1171.
[5]孫延凡,陳紅,王珊. FreeCube:有效減小Data Cube體積[J].計算機科學,2003,30 (增刊):241-245.
[6]ROUSSOPOULOS N, KOTIDIS Y, et al. Cubetree: organization of and bulk incremental updates on the data cube[C]//Proc of SIGMOD’97. Tucson: ACM Press,1997:89-99.
[7]SISMANIS Y, DELIGIANNAKIS A, ROUSSOPOULOS N, et al.Dwarf: shrinking the PetaCube[C]//Proc of SIGMOD 2002. Madison: ACM Press, 2002:464-475.
[8]LAKSHMANAN L V S, PEI J, ZHAO Y. QC-trees: an efficient summary structure for semantic OLAP[C]//Proc of SIGMOD. San Diego: ACM press, 2003:64-75.
[9]GRAY J, BARKHATOV A. DBGen synthetic data generator for SQL tables and text files on Windows platforms[C]//GRAY J, SUNDARESAN P, ENGLERT S. Proc of SIGMOD. Minneapolis: ACM Press, 1994:243-252.
[10]HAHN C, WARREN S, LONDON J. Edited synoptic cloud reports from ships and land stations over the globe[EB/OL].http://cdiac.esd.ornl.gov/cdiac/ndps/ndp026b.html.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”