轉帖|行業資訊|編輯:陳俊吉|2016-05-30 09:58:16.000|閱讀 679 次
概述:聯機分析系統產生于OLTP之后,也有悠久的歷史,它對交易系統產生的當前及歷史數據進行分析,生成各種報表、支持多角度數據分析,挖掘隱藏在數據中的規律,可對未來做一定預測,這些可輔助管理層進行各種決策。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
由于OLAP系統所處理的數據量通常巨大,單臺計算機的處理能力通常不能滿足要求,因此需要并行處理,目前MPP(Massively Parallel Processing)是公認的結構化數據并行處理最高效的架構。
MPP數據庫由多個數據庫分區組成,分區可分布在一臺或多臺服務器上,單個分區不可跨多臺服務器。數據庫在容量增長、處理能力不足時可垂直或水平擴展,垂直擴展指增加現有服務器的能力,比如增加CPU、內存、存儲空間等;水平擴展指增加新的服務器進來,同時增加新的數據庫分區,這時可能有數據的重新分布。
每個數據庫分區只管理部分數據,處理數據時各分區可并行處理,分區間通過網絡交換數據。應用面對的是一個數據庫,SQL語句不需要調整,運行時數據庫引擎會根據數據所在位置自動調度。
數據在各分區之間分布時要有一定的依據,這個依據我們稱之為表的分布鍵,它可以由一個或多個字段組成。數據進入MPP數據庫時,會根據每條記錄中分布鍵的具體值計算它應該去的數據庫分區。
1、分布鍵的選擇是MPP數據庫表設計的關鍵點。選擇原則:先考慮表之間關聯關系,比如客戶信息表CUSTOMER與客戶交易流水表TRANSLOG之間經常使用客戶號做關聯運算,如果這兩張表都用客戶號做分布鍵,則對同一客戶的數據都會保存在同一數據庫分區,關聯時不需要與其它數據庫分區進行數據交換;其次考慮數據分布的均勻,只有在分布鍵的組合取值范圍比較廣的時候才能保證數據分布的均勻性,比如性別字段就不合適作為分布鍵。最慢的分區決定語句的最終性能,這是要求數據分布均勻的原因。
2、數據搜索效率。應用在處理數據時,并非每次都需要處理全量數據,這樣就涉及到從全量數據中定位部分數據的問題,如果不能快速定位,則不可避免地每次掃描全量數據,這帶來無謂的IO浪費及性能問題。一般情況下這個問題可通過表的范圍分區設計避免。比如某表保存三年歷史數據,而應用經常訪問某個月的數據,如果我們按月組織數據,當應用只訪問某月數據時,相對于沒做范圍分區的表,其表掃描性能可提升大約36倍。
3、避免過度復雜SQL語句,盡管通常MPP數據庫都支持復雜語句,但復雜性使得SQL優化引擎出錯幾率增加,一旦出錯,排錯困難,另外應用的可讀性可能會增加維護成本。避免復雜SQL可通過臨時表技術將復雜任務拆成多步完成。
via:華南IBM大數據支持團隊
詳情請咨詢“”!
客服熱線:023-66090381
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn