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