大規模並行分析(mpp)資料庫(analytical massively parallel processing (mpp) databases)是針對分析工作負載進行了優化的資料庫:聚合和處理大型資料集。mpp資料庫往往是列式的,因此mpp資料庫通常將每一列儲存為乙個物件,而不是將表中的每一行儲存為乙個物件(事務資料庫的功能)。這種體系結構使複雜的分析查詢可以更快,更有效地處理。
這些分析資料庫將其資料集分布在許多機器或節點上,以處理大量資料(因此得名)。這些節點都包含自己的儲存和計算功能,從而使每個節點都可以執行查詢的一部分。
在過去的十年中,分析mpp資料庫的激增和成本下降為資料驅動型組織提供了巨大的機會來運營和分析比以往更大的資料集。這些資料庫是不斷壯大的分析師工具包的絕妙補充,但同時也為體系結構帶來了額外的複雜性。
mpp資料庫非常擅長最常見的分析工作負載,這些工作負載通常以對子集的查詢為特徵,並在廣泛的行範圍內進行彙總。這是由於它們的列式體系結構允許他們僅訪問完成查詢所需的字段(與事務性資料庫相反,事務性資料庫必須連續訪問所有字段)。
列式體系結構還為mpp資料庫提供了對分析工作負載有用的其他功能。這些功能因資料庫而異,但通常包括壓縮類似資料值,有效索引非常大的表以及處理寬的非規範化表的功能。
組織通常使用分析型mpp資料庫作為資料倉儲或集中式儲存庫,其中包含組織內部生成的所有資料,例如交易銷售資料,web跟蹤資料,營銷資料,客戶服務資料,庫存/後勤資料,人力資源/招聘資料以及系統日誌資料。由於分析mpp資料庫可以處理大量資料,因此組織可以輕鬆地依靠這些資料庫來儲存資料,還可以支援來自這些各種業務功能的分析工作負載。
通過向系統新增更多伺服器,分析mpp資料庫可以輕鬆地線性擴充套件其計算和儲存功能。這與垂直擴充套件計算和儲存功能相反,後者涉及公升級到更大,功能更強大的單個伺服器,並且通常會在規模上遇到障礙。分析型mpp資料庫能夠如此快速,輕鬆和高效地進行橫向擴充套件,以使按需資料庫**商能夠根據查詢的大小自動執行該過程來按比例放大或縮小系統。
azure sql資料倉儲
雪花
大規模並行處理一詞指的是裝入這些資料庫的表分布在群集中的每個節點上的事實,以及發出查詢時每個節點同時工作以處理駐留在其上的資料的事實。
分析性mpp資料庫旨在在許多單獨的伺服器或節點上並行執行查詢。這意味著,通過將更多節點新增到群集,可以將相同的工作負載分配給更多伺服器並更快地完成。
儘管分析型mpp資料庫有時可以在某些方面進行擴充套件,但它們的最大優點是通過向系統中新增更多節點,可以相對輕鬆地水平擴充套件資料庫系統。
儘管不同的系統採用不同的方法來耦合資料儲存和計算查詢,採用不同的策略將資料從乙個節點移動到另乙個節點,但是所有mpp系統都非常快,因為「領導者」可以制定查詢計畫,然後分配資料的實際工作量。對許多任務作人員執行查詢。
分析型mpp資料庫已經存在了幾十年,但是在過去十年中,它們的成本和管理它們的複雜性已大大降低。直到最近,唯一的選擇是自我託管這些資料庫。但是最近,它們已經遷移到雲中。
某些分析資料倉儲僅可通過託管體系結構使用。例如,amazon redshift,snowflake和google bigquery僅通過雲提供。像teradata這樣的其他產品則可以在內部部署,打包為裝置(**軟體和硬體)或通過雲中的託管模型進行部署。
hpe vertica是分析mpp資料庫類別中唯一提供軟體的資料庫,您可以使用該軟體在商品硬體之上構建自己的分析資料庫。對於大規模實施,這種型別的解決方案為特殊用例提供了更大的靈活性和定製性。
與分布式mpp資料庫相關的主要約束是,與事務性資料庫相比,它們需要的規劃和設定型別不同。設定初始的extract-transform-load(etl)管道來將資料從其源移動到資料倉儲可能是乙個相當大的專案(儘管許多**商現在都提供服務來簡化此過程)。
在處理多個資料來源時,尤其是在無法完全控制這些資料來源中的資料量時,規劃群集內所需的資源也具有挑戰性。許多雲託管的mpp資料庫技術都提供了自動擴充套件功能,但並非全部都可以。
通常,由於分析mpp資料庫的構建方式,您想要資料越接近「實時」,資料工程任務就越具有挑戰性。這是因為這些技術通常針對批量載入進行了優化。針對整個集群中的分布式讀取優化資料儲存是一項勞動密集型任務。一些分布式mpp資料庫專門提供混合儲存或其他服務來解決此問題。許多組織維護其事務資料庫的副本只是為了能夠實時訪問資料集的這一部分。
根據您使用的是按需mpp資料庫解決方案還是託管mpp資料庫解決方案以及使用的是哪種,針對分析mpp資料庫進行效能調整的注意事項會大不相同。
重要的是要注意,與類似成本的事務資料庫相比,mpp資料庫解決方案通常可以處理更大的資料量,因此在開始考慮優化和調整之前,將能夠處理更多的資料。
就是說,當您到達需要調整效能的階段時,與自託管解決方案相比,託管mpp解決方案將為您處理更多的細節,這將需要您做更多的工作。
MPP 架構資料庫
mpp massively parallel processing 大規模並行處理系統,這樣的系統是由許多松耦合的處理單元組成的,要注意的是這裡指的是處理單元而不是處理器。每個單元內的 cpu都有自己私有的資源,如匯流排,記憶體,硬碟等。在每個單元內都有作業系統和管理資料庫的例項複本。這種結構最大的...
什麼是資料庫
資料庫 database 是按照資料結構來組織 儲存和管理資料的倉庫。每個資料庫都有乙個或多個不同的 api 用於建立,訪問,管理,搜尋和複製所儲存的資料。我們也可以將資料儲存在檔案中,但是在檔案中讀寫資料速度相對較慢。所以,現在我們使用關係型資料庫管理系統 rdbms 來儲存和管理的大資料量。所謂...
什麼是資料庫
一般乙個資料庫系統 database system 可分為兩個部分 資料庫 database 資料管理系統 database management system,dbms 狹義上來講,我們說的 資料庫 通常都是指 資料庫管理系統 dbms 1.如果資料儲存到記憶體裡 2.如果資料儲存到檔案系統裡 3...