天天看點

gp的分布、分區政策(概述)

對于大規模并行處理資料庫來說,一般由單master與多segment組成。

那麼資料表的單行會被配置設定到一個或多個segment上,此時需要想一想分布政策

分布

在gp6中,共有三個政策:

哈希分布

随機分布

複制分布

哈希分布

就是對分布鍵進行hash,這樣相同值的key始終散列到同一個segment上。如果選擇唯一的分布鍵,将確定較均勻的資料分布。

要使用這一政策,需要在建立表使用 “DISTRIBUTED BY(column,[…])” 子句。

随機分布

将資料行按順序依次發送到各個segment,此時具有相同值的資料行不一定位于同一個segment上。随機分布保證了資料的平均分布,但是性能顯然不如hash

複制分布

gp會将每行資料配置設定到每個segment上,此政策下,表資料将均勻分布,每個segment存儲同樣的資料行。

當在segment上執行使用者自定義函數且需要通路表中所有行時,此時需要用到此政策。

接下講解分區概念

分布時對存儲的資料進行實體劃分,分區是邏輯劃分。

分區将大表從邏輯上劃分為多個子表,分區不會更改表資料在segment之間的實體分布。

分區

gp支援以下分區類型:

1、範圍分區:根據數字範圍,如日期或價格

2、清單分區:基于值清單的資料劃分,如銷售地區或者産品線

3、兩種類型的組合

對大表分區可以簡化資料庫維護以及提高查詢性能,例如通過對時間分區,可以将舊資料滾動移除出資料庫。

但是建立過多的分區可能會拖慢管理和維護的速度,如清理,恢複segment,擴充叢集等情況。

參考