迁移工具

如上文提到的,MatrixDB 使用 mxshift 工具来进行数据迁移操作。
mxshift 工具目前支持以下功能:

  • 全量迁移:以数据库为单位,实现从 Greenplum 5 / Greenplum 6/ MatrixDB 集群并行迁移数据到新的 MatrixDB 集群
  • 反向迁移:从 MatrixDB 到 Greenplum 5 / Greenplum 6 反向迁移
  • 增量迁移:通过 WHERE 条件实现增量数据迁移
  • 迁移复制表(Replicated Table)

mxshift 逻辑原理图:

mxshift 物理原理图:

如果将数据迁移过程比喻为水流从管道中流过,数据传输效率比喻为水流速率,那么水流速率时常会因为“管道中最窄的部分”而在整体上被局限在一个低值,出现所谓的“单点瓶颈”。考虑到这一点,mxshift 工具实现了由 Segment 直接到 Segment 的数据传输,消除通常迁移操作中可能出现的单点瓶颈。在出现源集群与目标集群拓扑结构不一致,即异构情况时,mxshift 也可以根据源集群 Segment 个数、目标集群 Segment 个数、Segment 是否在同一台物理机等信息计算出最优映射方案,实现自动化数据迁移。

注意!
mxshift 详细参数介绍请见 mxshift