1.背景
- 在使用Greenplum的过程中,如果业务会经常对数据进行更新,删除,插入,可能导致数据出现膨胀。
- 用户在建表的时候,存储模式选择不当,但是业务已经运行了一段时间,表里面已经写入了大量的数据。
- 用户在建表的时候,分布键选得不对,但是业务已经运行了一段时间,表里面已经写入了大量的数据。
- 用户在建表的时候表分区做得不对,但是业务已经运行了一段时间,表里面已经写入了大量的数据。
- 数据分区在初期选择了行存储,为了提到明细查询的效率。但是到数据冷却后,明细查询的需求下降,更多的是统计查询的需求,那么需要将这样的冷分区的行存储转换成列存储,提高统计的效率。
- 数据在使用过程中,由于分布键的数据在业务层发生了一些变化,导致了数据存储的倾斜。
以上情况发生时,我们就有必要进行相应的行动:
清理垃圾、调整分布键、分区键、修改存储模式等。
那么,有什么方法可以让这些操作尽量的减少对业务的影响呢?
答案是 交换数据
、交换分区
。
2.知识点
2.1 查看存储格式、分布键
Greenplum 6版本变化很大,以前很多查询语句都不能用。
2.2 查看分区
3.单表存储模式转换(行存转列存、列存转行存)
示例:对tbl_order_h
表进行行存储转换为列存储。
4.交换分区
未完待续