gp的分布鍵主要功能就是為了避免數據傾斜:
1.分布鍵必須自己主動指定,不能使用默認分布鍵(建表語句中沒寫分布鍵)
2.分布鍵必須能夠使數據均勻的分布到各個節點上
我曾做過數據傾斜的操作
環境:測試環境,建表的分布鍵為日期,對表沒有進行壓縮
狀態:進行數據抽數(向我自己建的表),測試數據倉庫只給了一天的,數據量過億
結果:一期數據全部懟到一個節點,占了1.6T的存儲空間
影響:崩掉了兩個節點,對此表進行查詢時跑死,truncate操作時也跑死
1.表是為了存儲而生:gp表的分布鍵應該做到能使數據分布均勻的功能,用主鍵字段,或聯合主鍵字段作為分布鍵。
2.表是為了計算而生:gp表的分布鍵應該做到關聯鍵為分布鍵的功能,切不宜超過三個,這是為效率考慮。
