寫在前面的話:不要被技術嚇到哦 ,本文儘量寫的白話,致力為從事大數據的運營、諮詢規劃、需求以及想學習大數據的入門者提供知識分享@……@
隨著網際網路的發展,面對日益增長的數據量,傳統資料庫RDB顯得有心無力(不了解RDB的,請參考我的文章大數據處理架構系列一:關係型資料庫RDB),且傳統RDB較高的維護遷移成本,迫使業界專家潛心鑽研出了MPP處理架構。
一、MPP架構定義
為了提高計算性能,MPP架構將RDB的單伺服器升級成為了多伺服器,在遇到性能瓶頸時,擴展伺服器也很容易實現,不需要花費太多的維護成本,首先看一下MPP架構的標準定義:
MPP(MassivelyParallelProcessing),即大規模並行處理,在資料庫非共享集群中,每個節點都有獨立的磁碟存儲系統和內存系統,業務數據根據資料庫模型和應用特點劃分到各個節點上,每臺數據節點通過專用網絡或者商業通用網絡互相連接,彼此協同計算,作為整體提供資料庫服務。
二、MPP架構定義特點
1、 Shared Nothing:Shared 一般指資源共享,動態在線擴容,每增加一個節點,查詢、加載性能都成線性增長並行處理由系統自動完成,沒有複雜的調優需求代表分布式資料庫:Vertica等,特點是:
(1)所有節點功能相同,無專用節點;
(2) 所有節點都是對等的;
(3) 可向任意節點發送請求,每個節點會通過相應的規則與其它節點進行交互。
2、多任務、多伺服器、多節點並行執行,性能好,比傳統資料庫倉庫解決方案快很多倍;
3、 數據分布式存儲(本地化)和計算;
4、Scale-out:橫向擴展,向外擴展,如:向原有的web、郵件系統添加一個新機器
5、數據採取列式數據存儲模式,更加適用於OLAP,也支持OLTP
三、適用場景
相比RBD架構TB級別數據處理能力,MPP支持處理的、高質量的結構化數據,適合多維度數據自助分析、數據集市等,同時為應用提供豐富的SQL和事物支持能力。
三、不足之處
不足之處是對半結構化數據(數據結構和內容參雜在一起,比如網頁)和非結構化數據(圖像、視頻等信息)數據無能為力,且多為商業軟體,擁有成本較高。
MPP資料庫較傳統資料庫的優點是顯而易見的,雖然有不足支出,但是在目前的大數據環境中的地位還是舉足輕重的,數據處理架構沒有好與不好之分,只有合適和不合適之分,最終的選擇還是要結合具體的應用場景而定,在後續文章將介紹Hadoop生態系統,屆時會比較三種架構的優缺點以及選擇要點。