扩容系统目录

执行重分布之后系统会自动生成以下系统目录(包含系统表、系统视图等),存放在 matrixmgr 数据库的 matrixmgr_internal 模式下。

  • expand_status_summary
  • expand_status_detail
  • expand_expansion_progress

1.1 expand_status_summary

该表记录数据重分布的各阶段状态的时间信息,包含如下字段:

字段名 类型 描述
status text 跟踪一个扩容操作的状态,有效值为:
SCHEDULED START,指预约开始执行重分布的时间
SETUP,表示收集数据库数据表信息的开始时间
SETUP DONE,指数据表信息收集完毕的时间
EXPANSION STARTED,指正式开始数据重分布的时间
COMPLETED,指完成所有重分布任务时的时间
LAST SCHEDULED START,指完成所有重分布任务之后,将SCHEDULED START的值保存到LAST SCHEDULED START,而后清空 SCHEDULED START
updated_at timestamp with time zone 最后状态变化的时间戳

1.2 expand_status_detail

该表包含了扩容所涉及的表的状态信息。可以通过查询此表来确定正在重分布的表的状态,或查看已完成表的开始和结束时间。若该表没有任何记录,则表示不需进行重分布。 此表还存储表的相关信息,如 OID。

字段名 类型 描述
dbname text 表所属数据库的名称
db_oid oid 表所属数据库的 Oid
fq_name text 表的完全限定名称
table_oid oid 表的 OID
root_partition_name text 对于分区表来说,是根分区的名称。否则为 None
rank int 等级决定表被扩容的顺序。扩容工具将在 rank 上排序,数字较小的表将被较早处理
external_writable boolean 标识表是否是外部可写表。(外部可写表需要不同的语法来扩容)
status text 此表当前的扩容状态。有效值为:
NOT STARTED
IN PROGRESS
PENDING
RETRYING
COMPLETED
FAILED
expansion_started_at timestamp with time zone 此表扩容开始的时间戳
expansion_finished_at timestamp with time zone 此表扩容完成的时间戳。扩容失败也会更新此时间戳
source_bytes numeric 还未重分布的数据量。由于 HEAP 表中的表膨胀及扩容后 Segment 数量的变化,扩容后的尺寸也会不同于源表。 此表提供进度信息并估计扩容全程持续时间
failed_times integer 重试次数,默认值为 5

1.3 expand_expansion_progress

此系统目录为一个视图,包含扩容整体状态的信息,提供了表重新分布速度和完成所有数据重分布的时间的估算。

字段名 类型 描述
name text 描述扩容过程的指标名称,包含:
Bytes Pending
Bytes in Progress
Bytes Done
Bytes Failed
Estimated Expansion Rate
Estimated Remaining Time
Done Tables Number
Pending Tables Number
In Progress Tables Number
Failed Tables Number
value text 上述指标的值。如 Bytes Pending: 100023434