Table Resharding

HoloWeb支持使用可视化方式迁移表的Table Group(Resharding),方便您快速完成Resharding操作及快速处理期间可能出现的异常情况。本文为您介绍如何使用HoloWeb进行Table Resharding操作。Table Group、Shard数、Resharding原理请参见基本概念

使用限制

新建Table Resharding任务

  1. 进入HoloWeb开发页面,详情请参见连接HoloWeb

  2. 在HoloWeb开发页面的顶部菜单栏,单击数据方案

  3. 数据方案页面,单击左侧导航栏的Table Resharding

  4. 在Table Resharding页面单击新建Table Resharding,并根据以下参数说明配置Resharding任务(未提及的参数保持默认即可)。

    模块

    参数名

    说明

    选择实例

    实例名

    目标Hologres实例名称。

    数据库

    目标实例的数据库。

    设置

    Schema

    需要进行Resharding的Schema。

    Table

    需要进行Resharding的表。

    目标Table Group

    目标表的Table Group。

    导入GUC参数设置

    GUC参数

    可选参数。由于Resharding涉及数据导入,当内存开销过大时可能涉及部分GUC调整,详情请参见如何解决导入导出时OOM

  5. 单击提交,即可在Table Resharding页面查看Resharding任务列表信息。image.png

    说明

    执行进度:对于分区表,会根据已完成的分区子表数展示进度。对于非分区表,执行进度当前仅展示0%或100%。

  6. 当任务状态执行成功时,表示Resharding任务已执行完成。

异常任务处理

Table Resharding过程中,会先将表设为只读状态,而后通过临时表的方式进行Table Group迁移。由于Resharding任务涉及数据导入,可能需要执行较长时间,因此可能出现多种异常情况,如OOM、手动终止任务等,此时的任务状态被中断运行失败。因此当表的Resharding任务异常时,原表会仍处于只读状态,且数据库中会出现名为<initial_table_name>_xxxxxxxx的临时表。此时需要选择如下情况之一进行操作:

  • 继续运行

    如果由于误操作导致Resharding任务中断,或由于OOM等原因导致Resharding任务失败并已完成GUC调整,您仍希望进行该表的Resharding操作,请单击操作列的继续运行,后台会基于此前的进度继续执行Resharding任务。

  • 取消任务

    如果您不需要继续进行该表的Resharding操作,希望恢复初始状态,请单击操作列的取消任务,后台会进行取消原表的只读状态、清理临时表等操作,以帮助您恢复表的初始状态。