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中文社区网站。