540
技術社區[雲棲]
Deepgreen數據庫數據分布狀態查詢腳本 - DK值調整參考
數據分布是Deepgreen數據庫中經常需要優化的一個點,為了將數據均勻分布,經常需要在建表初期指定一個合理的分布鍵。但是隨著數據的增多,分區表不免會產生數據傾斜,今天分享一個腳本,用於查詢分區事實表的數據分布狀態,給後期分布鍵的調整提供參考。
腳本簡單封裝了運維常用的查詢語句:
#!/bin/bash
# filename: distributed_status.sh
IFS=$'\n'
db=$1
echo "You will examinate database $1's distribution status!"
# 讀取並生成分布狀態檢查語句存入變量
distributed_status_array=$(psql -p 15432 -d $db -t -c "select 'SELECT gp_segment_id,count(*) from '||schemaname||'.'||tablename||' group by gp_segment_Id;' from pg_partitions group by schemaname,tablename;")
#定義循環查詢函數
function distributed_status(){
for i in $distributed_status_array
do
echo $i
echo "$(psql -h 127.0.0.1 -p 5432 -d $db -t -c "$i")"
done
}
#執行函數
distributed_status
腳本執行前,需要在deepgreen用戶下賦予可執行權限;執行時,在腳本後麵傳入數據庫名:
dgadmin@flash:~$ ./distributed_status.sh tpch
如果IP和端口號與腳本不一致,可以在創建時相應修改~
最後更新:2017-06-12 00:31:49