天天看點

什麼是MPP資料庫?

大規模并行分析(MPP)資料庫(Analytical Massively Parallel Processing (MPP) Databases)是針對分析工作負載進行了優化的資料庫:聚合和處理大型資料集。MPP資料庫往往是列式的,是以MPP資料庫通常将每一列存儲為一個對象,而不是将表中的每一行存儲為一個對象(事務資料庫的功能)。這種體系結構使複雜的分析查詢可以更快,更有效地處理。

這些分析資料庫将其資料集分布在許多機器或節點上,以處理大量資料(是以得名)。這些節點都包含自己的存儲和計算功能,進而使每個節點都可以執行查詢的一部分。

在過去的十年中,分析MPP資料庫的激增和成本下降為資料驅動型組織提供了巨大的機會來營運和分析比以往更大的資料集。這些資料庫是不斷壯大的分析師工具包的絕妙補充,但同時也為體系結構帶來了額外的複雜性。

資料倉庫真正适合什麼?

典型的分析工作量

MPP資料庫非常擅長最常見的分析工作負載,這些工作負載通常以對子集的查詢為特征,并在廣泛的行範圍内進行彙總。這是由于它們的列式體系結構允許他們僅通路完成查詢所需的字段(與事務性資料庫相反,事務性資料庫必須連續通路所有字段)。

列式體系結構還為MPP資料庫提供了對分析工作負載有用的其他功能。這些功能因資料庫而異,但通常包括壓縮類似資料值,有效索引非常大的表以及處理寬的非規範化表的功能。

資料集中化

組織通常使用分析型MPP資料庫作為資料倉庫或集中式存儲庫,其中包含組織内部生成的所有資料,例如交易銷售資料,Web跟蹤資料,營銷資料,客戶服務資料,庫存/後勤資料,人力資源/招聘資料以及系統日志資料。由于分析MPP資料庫可以處理大量資料,是以組織可以輕松地依靠這些資料庫來存儲資料,還可以支援來自這些各種業務功能的分析工作負載。

線性可伸縮性

通過向系統添加更多伺服器,分析MPP資料庫可以輕松地線性擴充其計算和存儲功能。這與垂直擴充計算和存儲功能相反,後者涉及更新到更大,功能更強大的單個伺服器,并且通常會在規模上遇到障礙。分析型MPP資料庫能夠如此快速,輕松和高效地進行橫向擴充,以使按需資料庫供應商能夠根據查詢的大小自動執行該過程來按比例放大或縮小系統。

資料倉庫解決方案

自我管理的MPP資料庫

什麼是MPP資料庫?

HPE Vertica

什麼是MPP資料庫?

MemSQL

什麼是MPP資料庫?

Teradata

按需MPP資料庫

什麼是MPP資料庫?

Amazon Redshift

什麼是MPP資料庫?

Azure SQL資料倉庫

什麼是MPP資料庫?

Google BigQuery

什麼是MPP資料庫?

雪花

MPP分析架構

大規模并行處理一詞指的是裝入這些資料庫的表分布在群集中的每個節點上的事實,以及發出查詢時每個節點同時工作以處理駐留在其上的資料的事實。

分布式架構

分析性MPP資料庫旨在在許多單獨的伺服器或節點上并行運作查詢。這意味着,通過将更多節點添加到群集,可以将相同的工作負載配置設定給更多伺服器并更快地完成。

盡管分析型MPP資料庫有時可以在某些方面進行擴充,但它們的最大優點是通過向系統中添加更多節點,可以相對輕松地水準擴充資料庫系統。

大規模并行處理(MPP)

盡管不同的系統采用不同的方法來耦合資料存儲和計算查詢,采用不同的政策将資料從一個節點移動到另一個節點,但是所有MPP系統都非常快,因為“上司者”可以制定查詢計劃,然後配置設定資料的實際工作量。對許多從業人員執行查詢。

托管與本地實施

分析型MPP資料庫已經存在了幾十年,但是在過去十年中,它們的成本和管理它們的複雜性已大大降低。直到最近,唯一的選擇是自我托管這些資料庫。但是最近,它們已經遷移到雲中。

某些分析資料倉庫僅可通過托管體系結構使用。例如,Amazon Redshift,Snowflake和Google BigQuery僅通過雲提供。像Teradata這樣的其他産品則可以在内部部署,打包為裝置(捆綁軟體和硬體)或通過雲中的托管模型進行部署。

HPE Vertica是分析MPP資料庫類别中唯一提供軟體的資料庫,您可以使用該軟體在商品硬體之上建構自己的分析資料庫。對于大規模實施,這種類型的解決方案為特殊用例提供了更大的靈活性和定制性。

MPP分析資料庫的限制

複雜

與分布式MPP資料庫相關的主要限制是,與事務性資料庫相比,它們需要的規劃和設定類型不同。設定初始的Extract-Transform-Load(ETL)管道來将資料從其源移動到資料倉庫可能是一個相當大的項目(盡管許多供應商現在都提供服務來簡化此過程)。

可擴充性

在處理多個資料源時,尤其是在無法完全控制這些資料源中的資料量時,規劃群集内所需的資源也具有挑戰性。許多雲托管的mpp資料庫技術都提供了自動擴充功能,但并非全部都可以。

批量加載/延遲

通常,由于分析MPP資料庫的建構方式,您想要資料越接近“實時”,資料工程任務就越具有挑戰性。這是因為這些技術通常針對批量加載進行了優化。針對整個叢集中的分布式讀取優化資料存儲是一項勞動密集型任務。一些分布式MPP資料庫專門提供混合存儲或其他服務來解決此問題。許多組織維護其事務資料庫的副本隻是為了能夠實時通路資料集的這一部分。

優化分析MPP資料庫

根據您使用的是按需MPP資料庫解決方案還是托管MPP資料庫解決方案以及使用的是哪種,針對分析MPP資料庫進行性能調整的注意事項會大不相同。

重要的是要注意,與類似成本的事務資料庫相比,MPP資料庫解決方案通常可以處理更大的資料量,是以在開始考慮優化和調整之前,将能夠處理更多的資料。

就是說,當您到達需要調整性能的階段時,與自托管解決方案相比,托管MPP解決方案将為您處理更多的細節,這将需要您做更多的工作。

繼續閱讀