有奖捉虫:云通信与企业服务文档专题,速来> HOT
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。