人大金仓分析型数据库系统扩容(六)

目录

重分布表

重分布排名

重分布表

监控重分布

移除扩容Schema


重分布表

        重新分布表让现有数据在新扩容后的集群上得以平衡。在创建了扩容schema后,可以使用gpexpand在整个系统重分布表。 应该在低峰期运行,这样该工具的CPU使用率和表锁对其他操作的影响会最小。 还要对表进行排名,先对最大或者最重要的表进行重新分布。当表重新分布正在进行中时,任何新创建的表会按照普通操作那样被分布在所有的节点上。 查询也能访问所有的节点,即使相关的数据还没有被完全分布在新节点上的表中也行。 正在被重新分布的表或者分区会被锁定并且不可读写。 当其重新分布完成后,常规操作才会继续。

重分布排名

        对于大型的系统,用户可以控制表重新分布的顺序。 调整扩容schema里的rank值可以优先做重度使用的表并最小化对性能的影响。 可用的空闲磁盘空间可能会影响表的排名。

        要通过在gpexpand.status_detail中更新rank值来为重新分布对表排名,用psql或者另一个被支持的客户端连接到MPP数据库。 用这样的命令更新gpexpand.status_detail:

=> UPDATE gpexpand.status_detail SET rank=10;
=> UPDATE gpexpand.status_detail SET rank=1 WHERE fq_name = 'public.lineitem';
=> UPDATE gpexpand.status_detail SET rank=2 WHERE fq_name = 'public.orders';

        这些命令把所有表的优先级降低到10,然后把排名1分配给lineitem并且把排名2分配给orders。 当表的重新分布开始时,lineitem会首先被重新分布,接着是orders和gpexpand.status_detail中所有的其他表。 要从重新分布中排除一个表,将它从gpexpand.status_detail中移除。

重分布表

        运行gpexpand工具。 用户可以使用-d或者-e选项来定义扩展会话时限。 例如,要运行该工具最多60个连续的小时:

$ gpexpand -d 60:00:00

        该工具会重分布表,直到schema中的最后一个表完成或者它达到了指定的持续时间或者结束时间。 当一个会话开始并且结束时,gpexpand会在gpexpand.status中更新状态和时间。

监控重分布

        可以在表重新分布处理的过程中查询扩展进度。 视图gpexpand.expansion_progress提供了一个当前进度摘要,包括估计的表重新分布率以及估计的完成时间。 用户可以查询表gpexpand.status_detail来得到每个表的状态信息。每次用户用gpexpand开始一次表重新分布会话时计算都会重新开始。 要监控进度,可以用psql或者另一种受支持的客户端连接到数据库,然后用下面这样的命令查询gpexpand.expansion_progress:

=# SELECT * FROM gpexpand.expansion_progress;

        表gpexpand.status_detail存储着方案中每一个表有关的状态、最近更新时间和更多情况。 要查看一个表的状态,可以用psql或者另一种受支持的客户端连接到数据库,然后查询gpexpand.status_detail:

=> SELECT status, expansion_started, source_bytes FROM gpexpand.status_detail WHERE fq_name = 'public.sales';

移除扩容Schema

        在扩容操作完成并且验证后,用户可以安全地移除扩容Schema。 为了在一个数据库系统上运行另一次扩容操作,首先要移除现有的扩容Schema。

        用-c选项运行gpexpand工具。例如:

$ gpexpand -c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值