華為云計算 云知識 云數(shù)據(jù)倉庫分布式存儲
云數(shù)據(jù)倉庫分布式存儲

GaussDB(DWS)采用水平分表的方式,將數(shù)據(jù)表格的元組按照一定的分布策略分散存儲到多個節(jié)點。查詢的時候可以通過查詢條件過濾不必要的數(shù)據(jù),快速定位到數(shù)據(jù)存儲位置,從而極大提升 數(shù)據(jù)庫 性能。

在水平分表的基礎(chǔ)上,GaussDB(DWS)支持?jǐn)?shù)據(jù)分區(qū)(Partition),即根據(jù)表的一列或者多列,將要插入表的記錄分為不重疊的若干個范圍,為每個范圍創(chuàng)建一個分區(qū),用來存儲相應(yīng)的數(shù)據(jù)。

在不同場景下,基于時間分片的方式分區(qū)后帶來的收益。

當(dāng)表中訪問率較高的行位于一個單獨分區(qū)或少數(shù)幾個分區(qū)時:大幅減少搜索空間,從而提升訪問性能。

當(dāng)需要查詢或更新一個分區(qū)的大部分記錄時:僅需要連續(xù)掃描對應(yīng)分區(qū),而非掃描整個表,因此可大幅提升性能。

當(dāng)需要大量加載或者刪除的記錄位于一個單獨分區(qū)或少數(shù)幾個分區(qū)時:可直接讀取或刪除對應(yīng)分區(qū),從而提升處理性能;同時由于避免大量零散的刪除操作,可減少清理碎片工作量。

數(shù)據(jù)分區(qū)帶來的好處如下:

改善可管理性

利用分區(qū),可以將表和索引劃分為一些更小、更易管理的單元。這樣,數(shù)據(jù)庫管理員在進行 數(shù)據(jù)管理 時就能采取“分而治之”的方法。 有了分區(qū),維護操作可以專門針對表的特定部分執(zhí)行。

可提升刪除操作的性能

刪除數(shù)據(jù)時可以刪除整個分區(qū),與分別刪除每行相比,這種操作非常高效和快速。

改善查詢性能

通過限制要檢查或操作的數(shù)據(jù)數(shù)量,分區(qū)可帶來許多性能優(yōu)勢,包括:

-分區(qū)剪枝:

分區(qū)剪枝(也稱為分區(qū)消除)是CN在執(zhí)行時過濾掉不需要掃描的分區(qū),只對相關(guān)的分區(qū)進行掃描的技術(shù)。分區(qū)剪枝通常可以將查詢性能提高若干數(shù)量級

-智能化分區(qū)聯(lián)接:

通過使用一種稱為智能化分區(qū)聯(lián)接的技術(shù),分區(qū)還可以改善多表聯(lián)接的性能。當(dāng)將兩個表聯(lián)接在一起,并且至少其中一個表使用聯(lián)接鍵進行分區(qū)時,可以應(yīng)用智能化分區(qū)聯(lián)接。智能化分區(qū)聯(lián)接將一個大型聯(lián)接分為多個較小的聯(lián)接,這些較小的聯(lián)接包含與聯(lián)接的表“相同”的 數(shù)據(jù)集 。這里,“相同”定義為恰好包含聯(lián)接的兩端中相同的分區(qū)鍵值集,因此可以確保只有這些“相同”數(shù)據(jù)集的聯(lián)接才會有效,而不必考慮其他數(shù)據(jù)集。

云數(shù)據(jù)倉庫分布式存儲