tencent cloud

文档反馈

使用 DTS 将 InnoDB 数据迁移至 RocksDB

最后更新时间:2022-06-13 15:37:16

    RocksDB 是⼀个⾮常流⾏的⾼性能持久化 KV(key-value)存储,TXRocks 是腾讯 TXSQL 团队基于此开发的事务型存储引擎。

    相比 InnoDB 使用的 B+Tree 索引结构,TXRocks 使用的 LSM Tree 索引结构,可以节省相对比例的存储空间。InnoDB 的 B+Tree 分裂通常会导致页面半满,页面内空闲空间浪费,页面有效利用率相对比较低。TXRocks 的 SST 文件一般设置为 MB 量级或者更大,文件要4K对齐产生的浪费比例很低,SST 内部虽然也划分为 Block,但 Block 是不需要对齐的。另外,TXRocks 的 SST 文件采用前缀压缩,相同的前缀只会记录一份,同时 TXRocks 不同层的 SST 可以采用不同的压缩算法,进一步降低存储空间开销。通常情况下可降低50%存储空间。

    您可以通过数据传输服务 DTS 将 InnoDB 数据同步到 RocksDB,以提高写入性能和节省存储空间。

    说明:

    数据传输服务(Data Transmission Service,DTS)是提供数据迁移、数据同步、数据订阅于一体的数据库数据传输服务。帮助您在业务不停服的前提下轻松完成数据库迁移,利用实时同步通道轻松构建异地容灾的高可用数据库架构,利用数据订阅提供的云数据库实时增量更新数据,您可根据自身业务需求自由消费增量数据。

    注意事项

    • 使用数据传输服务 DTS 进行数据同步,确保增量数据同步至 RocksDB 中,并屏蔽掉 Delete 操作。
    • 当数据传输至 RocksDB 后,检查数据有效性,确认有效性后再将源库中的数据进行清理,降低存储使用空间。
    • 源表可以使用分区表,提升数据清理效率(必须注意分区表的使用限制且目标表不支持分区)。
    • RocksDB 定期执行 compaction 操作,可以有效降低数据空间占用。
    • 有关 RocksDB 引擎的注意事项,可参见 TXRocks 引擎使用须知

    操作步骤

    1. 登录 DTS 控制台,在左侧导航选择数据迁移页,单击新建迁移任务,进入新建迁移任务页面。
    2. 在新建迁移任务页面,选择迁移的源实例类型和所属地域,目标实例类型和所属地域,规格等,然后单击立即购买
      配置项说明
      源实例类型 请根据您的源数据库类型选择,购买后不可修改。此处选择“MySQL”。
      源实例地域 选择源数据库所属地域。如果源库为自建数据库,选择离自建数据库最近的一个地域即可。
      目标实例类型 请根据您的目标数据库类型选择,购买后不可修改。此处选择“MySQL”。
      目标实例地域 选择目标数据库所属地域。
      规格 根据业务情况选择迁移链路的规格,不同规格的性能和计费详情请参考 计费概述
    3. 在迁移任务的操作列选择更多 > 配置,在设置源和目标数据库页面,完成任务设置、源库设置和目标库设置,测试源库和目标库连通性通过后,单击保存
      说明:

      如果连通性测试失败,请根据提示和 修复指导 进行排查和解决,然后再次重试。

    4. 在设置迁移选项及选择迁移对象页面,设置迁移类型、对象,单击保存
      说明:

      • 如果用户在迁移过程中确定会使用 gh-ost、pt-osc 等工具对某张表做 Online DDL,则迁移对象需要选择这个表所在的整个库(或者整个实例),不能仅选择这个表,否则无法迁移 Online DDL 变更产生的临时表数据到目标数据库。
      • 如果用户在迁移过程中确定会对某张表使用 rename 操作(例如将 table A rename 为 table B),则迁移对象需要选择 table A 所在的整个库(或者整个实例),不能仅选择 table A,否则系统会报错。
      配置项说明
      迁移类型 请根据您的场景选择。
      • 结构迁移:迁移数据库中的库、表等结构化的数据。
      • 全量迁移:迁移整个数据库,迁移数据仅针对任务发起时,源数据库已有的内容,不包括任务发起后源库实时新增的数据写入。
      • 全量 + 增量迁移:迁移数据包括任务发起时源库的已有内容,也包括任务发起后源库实时新增的数据写入。如果迁移过程中源库有数据写入,需要不停机平滑迁移,请选择此场景。
      迁移对象
      • 整个实例:迁移整个实例,但不包括系统库,如 information_schema、mysql、performance_schema、sys。
      • 指定对象:迁移指定对象。
      指定对象 在源库对象中选择待迁移的对象,然后将其移到已选对象框中。
      是否迁移账号 如果需要迁移源库的账号信息,则勾选此功能。
    5. 在校验任务页面,进行校验,校验任务通过后,单击启动任务
    6. 返回数据迁移任务列表,任务进入准备运行状态,运行1分钟 - 2分钟后,数据迁移任务开始正式启动。
      • 选择结构迁移或者全量迁移:任务完成后会自动结束,不需要手动结束。
      • 选择全量 + 增量迁移:全量迁移完成后会自动进入增量数据同步阶段,增量数据同步不会自动结束,需要您手动单击完成结束增量数据同步。
        • 请选择合适时间手动完成增量数据同步,并完成业务切换。
        • 观察迁移阶段为增量同步,并显示无延迟状态,将源库停写几分钟。
        • 目标与源库数据差距为0MB及目标与源库时间延迟为0秒时,手动完成增量同步。
    7. 当迁移任务状态变为任务成功时,即可实现将 InnoDB 数据同步到 RocksDB。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持