天天看點

大資料環境下的多元分析技術

之前我們有一篇文章《 一文讀懂多元分析技術(olap)的進化過程 》為大家介紹了多元分析技術(即聯機分析處理(on-line analytical processing),簡稱olap)的前世今生及發展方向。正是由于多元分析技術在業務分析系統的核心功能中的不可替代性,随着商業智能系統的深入應用,分析系統的資料量呈指數級增長,原有依賴硬碟io處理性能(包括傳統資料庫、多元立方體檔案)的多元分析技術遭遇到性能瓶頸。與此同時,随着伺服器記憶體價格的下降,一種新的基于記憶體的olap技術架構出現了。這種新架構既能夠保證類似于molap方式的高性能,也能基于更大的資料量進行分析,還不用定期将資料庫裡的資料重新整理到olap伺服器來防止資料過期。這種新的體系架構當之無愧地成為大資料環境下搭建多元分析功能的流行選擇,而 ibm cognos 的dynamic cubes就是它的代表作。

動态立方體(dynamic cubes)作為一種新的技術架構最先應用在 cognos 的10.2.0版本。下面我們以 cognos 的11.0版本來看看怎樣對動态立方體進行性能調優。

影響因素

動态立方體是以原有rolap技術為基礎,使用伺服器記憶體作緩存的一種新型技術架構。它的響應性能的影響因素包括。

資料倉庫(資料集市):由于dynamiccubes的事實表資料都存儲在資料倉庫中,是以,有時資料倉庫的性能好壞會影響前端多元分析查詢的響應速度。在資料倉庫的多元資料模型中,需要注意:

維表中的連接配接事實表的代理鍵的資料類型應該采用integer類型

維表中的各個層級的層級鍵的資料類型應該采用integer類型

2.資料庫:提高資料庫的查詢性能,有助于提高最終多元分析展現的響應速度。

有時候多元分析的性能嚴重依賴于資料庫運作大資料量多任務查詢任務的性能

資料庫基于的硬體資源(記憶體、cpu及io)應該考慮到大資料量并行查詢的性能,是以基于實體機的資料庫性能當然比基于虛拟機的更優

盡量少用或者不用視圖,因為視圖的資料不是實體存在的

最好采用分析型的mpp資料庫,因為多元分析都是針對大資料量的彙總查詢

采用列存儲技術的資料庫對于大量并發并聯查詢性能更優

要確定查詢性能最優化,可以通過資料庫的性能分析監控、執行計劃分析等工具

索引的設計,對于非mpp資料庫,索引的設計對于查詢性能影響很大

動态立方體性能調優

1.由于動态立方體使用機器記憶體和cpu進行性能增強,是以在對應用伺服器的硬體進行評估時應該為将來的性能擴充留一定的預留白間。硬體評估可以通過cognos提供的模組化工具cube designer裡的“評估硬體需求”功能初步估算。如下圖所示。

大資料環境下的多元分析技術

2.在多元立方體模型設計時,使用模型驗證功能,可以知道影響性能的問題所在。可能的問題有:連接配接字段類型、星形模型與雪花模型、過濾器的使用、視圖的使用等等。如下圖所示。

大資料環境下的多元分析技術

3.評估模型的複雜度。如果多元模型的次元和度量很多,資料量也很大,可以通過設計聚合表或者聚合記憶體來提升查詢性能。動态立方體會通過聚合感覺技術找到最合适的聚合資料集進行查詢以提高查詢性能。如下圖所示。

大資料環境下的多元分析技術

4.jvm設定。動态立方體使用java虛拟機作為記憶體管理的容器載體,是以cognos也提供了一些jvm堆設定來優化資料查詢性能。你可以在cognos administration界面上找到query service服務進行參數調整。如下圖所示。

大資料環境下的多元分析技術

5.您還可以通過 cognos 的dynamic query analyzer (dqa)工具來對動态立方體的查詢性能進行評估并得到優化建議。在進行評估之前,記得将dynamic cubes的工作日志打開,如下圖所示。

大資料環境下的多元分析技術

====================================分割線================================

本文轉自d1net(轉載)