Greenplum是一個大規模並行處理數據庫,由一個master和多個segment組成。在以前推送的文章《Greenplum數據分佈和分區策略》中,咱們介紹了在Greenplum上,數據是按照什麼樣的分佈策略分佈於各個segment上。數據庫
既然表的這些分佈和分區策略如此重要,您可能會問:咱們如何監控這些狀況,以及及早發現異常。Greenplum Command Cente(GPCC)能夠很好的解決這個問題,今天咱們將爲您詳細解答。app
在最新的GPCC中, 您能夠輕鬆查看錶的分佈和分區策略。dom
爲了有更深刻的理解,讓咱們來看一個例子。網站
首先,讓咱們建立一個表:spa
CREATE TABLE sales1 (trans_id int, date date, amount decimal(9,2), region text) DISTRIBUTED BY (trans_id) PARTITION BY RANGE (date) SUBPARTITION BY LIST (region) SUBPARTITION TEMPLATE ( SUBPARTITION usa VALUES ('usa'), SUBPARTITION asia VALUES ('asia'), SUBPARTITION europe VALUES ('europe'), DEFAULT SUBPARTITION other_regions) ( START (date '2011-01-01') INCLUSIVE END (date '2012-01-01') EXCLUSIVE EVERY (INTERVAL '1 month'), DEFAULT PARTITION outlying_dates );
在GPCC的table詳情頁上,「Distributed By」 字段表示其分佈策略,若是採用了哈希分佈策略,則分佈鍵將顯示在括號中。3d
固然, 您也可能遇到顯示「Randomly」或 「Replicated」的狀況。code
上圖中的Partitions字段顯示table有多少個分區(包括全部級別的分區)。blog
要查看其全部分區表,您能夠單擊 「Show」 連接,分區信息將從頁面右側飛出。 排序
介紹圖片
到目前爲止,最多隻顯示100個分區表。(之後會顯示更多分區)
默認狀況下,分區表按建立時間排列。由於咱們認爲您可能更關心最新建立的分區。
具體來講,下圖中的第一行的「sales_1_prt_13_2_prt_other_regions」表是最新建立的,其次是 「sales_1_prt_13_2_prt_europe」,「sales_1_prt_13_2_prt_asia」 和 「 sales_1_prt_13_2_prt_usa」 表,第四行是在更早以前建立 「sales_1_prt_13」表。
你是否注意到 ,有些行的背景顏色與其它行有所不一樣?
是的,爲了清楚起見,咱們將葉子分區表(再也不切分爲更小分區的表)的背景設置爲白色,而其餘非葉子表則設置爲灰色,以便輕鬆區分它們。
只有葉子分區保存實際數據,所以非葉子分區將沒有「Table Size」。
分區標準(Criteria)
上圖的「Partition criteria」列告訴咱們分區數據是如何存儲的。
若是在這個列中有好幾行,那靠上的行是此分區的祖先分區的criteria。
例如, sales_1_prt_13_2_prt_europe 表:
首先經過「date」列進行分區(分區類型爲RANGE),範圍從2011-12-01(包含)到2012 -01-01(不包含),這個是其父分區表(sales_1_prt_13) 的criteria;
而後按「region」列進行分區(分區類型爲LIST),若是某行數據的region字段爲2011-12-04,而region爲Europe,則它屬於此表 sales_1_prt_13_2_prt_europe。
有兩點要注意:
「 [」表示包含,「)」表示不包含,與數學開/閉區間概念很是類似。
若是您看到加粗的 DEFAULT 單詞, 則表示此分區表是默認分區。
存儲和壓縮
如今讓咱們看一下「Storage」(存儲)和「Compression」(壓縮):
存儲能夠是如下幾種中的一種:
當表的存儲類型爲AO或AO/CO,咱們稱這個表是「appendonly」的。
只有當一個表是appendonly的,纔可能有blocksize和compression。
compression列如上圖所示,格式爲:
type = <壓縮類型>
level = <壓縮級別>
按分區表的大小排序
您可能沒有注意到:您能夠按分區表的大小排序!
只需單擊「Table Size」列標題,您就會發現這個功能。
咱們認爲您可能須要按分區表的大小排序,排序後纔會更容易的找到太大的或根本沒有使用過的分區。才能進一步採起相應措施,例如拆分大的分區。;)
歡迎下載最新的GPCC,並進行更多探索!
若是您對如何在GPCC中展現數據有很好的想法,請發送電子郵件至gpcc@pivotal.io
得到更多關於Greenpum的技術乾貨,請訪問Greenplum中文社區網站。