MPP数据库简介及架构分析
目錄
- 什么是MPP?
- 特性
- 并行處理
- 超大規模
- 數據倉庫真正適合什么
- 典型的分析工作量
- 數據集中化
- 線性可伸縮性
- MPP架構技術特性
- 數據庫架構分析
- Shared Everything
- Shared Disk
- Share Memory
- Shared Nothing
- Shared Nothing數據庫架構優勢
什么是MPP?
? ? MPP (Massively Parallel Processing),即大規模并行處理。簡單來說,MPP是將任務并行的分散到多個服務器和節點上,在每個節點上計算完成后,將各自部分的結果匯總在一起得到最終的結果(與Hadoop相似)。
? ? MPP數據庫是一款 Shared Nothing架構的分布式并行結構化數據庫集群,具備高性能、高可用、高擴展特性,可以為超大規模數據管理提供高性價比的通用計算平臺,并廣泛地用于支撐各類數據倉庫系統、BI 系統和決策支持系統
特性
并行處理
? ? 在數據庫集群中,首先每個節點都有獨立的磁盤存儲系統和內存系統,其次業務數據根據數據庫模型和應用特點劃分到各個節點上,MPP是將任務并行的分散到多個服務器和節點上,在每個節點上計算完成后,將各自部分的結果匯總在一起得到最終的結果。
超大規模
? ? 每臺數據節點通過專用網絡或者商業通用網絡互相連接,彼此協同計算,作為整體提供數據庫服務。整個集群稱為非共享數據庫集群,非共享數據庫集群有完全的可伸縮性、高可用、高性能、優秀的性價比、資源共享等優勢。
數據倉庫真正適合什么
典型的分析工作量
? ? MPP數據庫非常擅長最常見的分析工作負載,這些工作負載通常以對子集的查詢為特征,并在廣泛的行范圍內進行匯總。這是由于它們的列式體系結構允許他們僅訪問完成查詢所需的字段(與事務性數據庫相反,事務性數據庫必須連續訪問所有字段)。
?
? ? 列式體系結構還為MPP數據庫提供了對分析工作負載有用的其他功能。這些功能因數據庫而異,但通常包括壓縮類似數據值,有效索引非常大的表以及處理寬的非規范化表的功能。
數據集中化
? ? 組織通常使用分析型MPP數據庫作為數據倉庫或集中式存儲庫,其中包含組織內部生成的所有數據,例如交易銷售數據,Web跟蹤數據,營銷數據,客戶服務數據,庫存/后勤數據,人力資源/招聘數據以及系統日志數據。由于分析MPP數據庫可以處理大量數據,因此組織可以輕松地依靠這些數據庫來存儲數據,還可以支持來自這些各種業務功能的分析工作負載。
線性可伸縮性
? ? 通過向系統添加更多服務器,分析MPP數據庫可以輕松地線性擴展其計算和存儲功能。這與垂直擴展計算和存儲功能相反,后者涉及升級到更大,功能更強大的單個服務器,并且通常會在規模上遇到障礙。分析型MPP數據庫能夠如此快速,輕松和高效地進行橫向擴展,以使按需數據庫供應商能夠根據查詢的大小自動執行該過程來按比例放大或縮小系統。
MPP架構技術特性
? ?
MPP 具備以下技術特征:
數據庫架構分析
數據庫構架設計中主要有Shared Everything、Shared Disk、Share Memory和Shared Nothing等,我們簡要分析一下這幾種架構的區別。
Shared Everything
? ? Shared Everything指單個主機獨立支配CPU、內存、磁盤等硬件資源,其優勢是架構簡單,搭建方便。但該種架構的缺陷是數據并行處理能力較差,擴展性較低。Shared Everything的典型代表的產品為SQLserver。
Shared Disk
? ? 在Shared Disk架構中,CPU和內存對于各個處理單元私有,但各節點共享磁盤系統。該種架構的典型代表為DB2 pureScale和Oracle Rac。這種共享架構具備一定的擴展能力,可通過節點的增加來提升數據并行處理能力。但當存儲器接口使用飽和時,磁盤IO成為了系統資源瓶頸,節點的擴充并不能提升系統性能。
Share Memory
? ? Shared Memory指多個節點共享內存,各CPU間通過內部通訊網絡(Interconnection network)進行通訊。但與Shared Disk類似,但當節點數量過高時,內存競爭(Memory contention)將成為該系統的瓶頸,單純地堆砌節點數量并不能提升整體數據處理性能。
Shared Nothing
? ? Shared Nothing的核心思想是各個數據庫單元中不存在共享資源,數據處理單元對于各節點完全私有化。早在1986年加州大學伯克利分校的論文中,Michael Stonebraker從當時的數倉原型中對比了Shared Disk,Shared Memory,Shared Nothing架構,并論證了Shared Nothing在數據并行處理中的優勢。各單元通過通信協議層交互,處理后的數據會逐步向上層匯總或通過通信層流轉于節點間。Teradata公司在1982年申請了YNET技術專利,為無共享的大規模數據并行處理(Massive Parallel Processing)提供了先決基礎。在TD數倉架構中,各節點單元通過MPL(Message Passing Layer)的BYNET物理層實現。BYNET是一個雙冗余、全雙工的網絡,以松耦合方式將多個數據處理節點與處理引擎(Parsing Engine)高速連接起來。G行的多元化大數據平臺中的TD集群正是采取該架構設計。
Shared Nothing數據庫架構優勢
1)大數據分析需求
? ? 傳統數據庫無法支持大規模集群與 PB 級別數據量,且性能受限、擴展性受限,MPP架構數據支持大規模集群以及PB級別數據,性能根據擴展節點性能呈線性關系
2)軟硬件一體機成本高昂、擴展受限
? ? 高性能單機服務器的成本十分高昂,生產擴容、測試、開發、容災都需新購同型號一體機(機柜),并且跨代兼容性問題目前也沒有得到很好的解決。MPP架構數據庫可根據需要無限擴展。
3)In-memory 技術太貴而且不成熟
? ? 內存成本過高,TB 級別以下,不適合大數據量;MPP架構成本可控,對于TB級數據支持優秀,很適合大數據量。
4)Hadoop 技術的先天不足
? ? Hive 等 sql-on-hadoop 性能太慢,SQL 兼容性與支持不足,數據安全性無法保證。MPP架構數據庫支持通用標準SQL,數據可冗余備份,具有高可用,高安全性。
總結
以上是生活随笔為你收集整理的MPP数据库简介及架构分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【RDM6300】 ID读卡模块
- 下一篇: sql字符串截取oracle,SQL S