在構思和實現童式魔方的過程中,我們都沒有去了解過主流olap廠商的實現原理,這幾天去集中搜查了一下這方面的資料,卻驚訝的發現我們立方體模型的思路和原理竟和MicroStrategy的智能立方體是如此的相似,幾乎同出一轍。這種立方體模型也有很好聽的名字叫操作型立方體(operational cube),與之對應的叫分析型立方方體(analytical cube),區別在于操作型立方體的實時性更好。
OLAP一般分為MOLAP(Multi-Dimensional OLAP)和ROLAP(Relational OLAP)兩種;
MOLAP產品比較出名的有Cognos的Powerplay、Hyperion 的Essbase和微軟的Analysis Service,這些產品都是需要專業的數據倉庫的;
ROLAP產品有MicroStrategy,它幾乎是目前唯一一家還占據一定市場份額的ROLAP產品,ROLAP產品只需要普通的關系型數據庫就可以了;
為什么需要智能立方體呢?看看MicroStrategy是怎么描述的:
為了實現立方體分析的功能,大多數的OLAP供應商使用定制的專用的立方體數據庫。這種技術就是人們熟知的多維OLAP(或稱MOLAP)。不幸的是,立方體數據庫的數據容量非常小——連真正關系型數據庫的容量的萬分之一都不到,因為這種技術并不能支撐真正的關系型數據庫的數據容量。盡管如此,由于大多數早期的部門級別BI應用只需要10MB到100MB的詳細數據和匯總數據,因此人們在最初并沒有意識到這種數據容量上的限制是一個問題。當公司發現需要部署上百個重疊的立方體來涵蓋所有的數據子集的組合、匯總級別和跨應用的多用戶組安全權限的需要時,立方體數據容量限制的問題就出現了。這些不斷增長的立方體的堆積已經成為人們所熟知的“立方體農場(Cube farms)”。這種立方體農場給IT部門帶來了極大的負擔,他們不得不生成新的立方體,預先計算匯總數據,分發這些立方體給用戶,并清除數據已經過時的立方體。
與此相比,MicroStrategy通過采用人們熟知的關系型OLAP(或稱ROLAP)技術把關系型數據庫建模成為“虛擬多維立方體(virtual multidimensional cube)”來實現OLAP功能。 MicroStrategy的用戶擁有同樣的分頁、旋轉、排序、過濾和鉆取這些OLAP功能,不同的是它們可以在整個關系型數據庫的范圍內這樣做。用ROLAP技術,用戶所要分析的數據總能涵蓋最新的數據——這就消除了“什么樣的數據能夠被分析到”這樣的局限,并且用戶和安全權限都是一致地依賴于關系型數據庫的。早期的MicroStrategy用戶就已經可以在整個數據庫范圍內而不僅僅在一個簡單的數據子集上進行分析,唯一的代價是稍慢的響應時間,這就是為什么MicroStrategy要提出智能立方體(Intelligent Cube ?)解決這一問題的原因。
智能立方體的特性:MicroStrategy智能立方體提供和小型的MOLAP立方體所有同樣的OLAP功能,同時擁有只在ROLAP的體系結構下才可以得到增強的可用性。
1.快速的報表分析和操作——立方體分析具有快速執行和增強的切片和切塊能力
2.個性化和安全地共享立方體——通過個性化的視圖,整個企業范圍內的立方體都可以透明和安全地共享
3.自動地創建和同步立方體——在運行中創建立方體,并自動地刷新數據來滿足實時分析的需要
4.從匯總數據向詳細交易數據任意鉆取——從立方體隨意無縫鉆取到整個數據倉庫范圍的能力
模型只是基本,還有更多的細節需要處理,以后還要多了解MicroStrategy,學習其更細微的功能和處理細節。
童式魔方雖然不是這種模型的第一個產品,但也算是原創吧。
posted on 2008-11-06 09:02
kufee 閱讀(1934)
評論(0) 編輯 收藏