本文介绍当迁移或同步的目标库类型为 Redis(如火山引擎缓存数据库 Redis 版或自建 Redis)时,支持的数据库以及使用限制详情。
支持的数据库
源库 | 目标库 | 支持的版本 | 迁移类型 | 同步类型 |
---|
| 火山引擎版 Redis | Redis 4.0 Redis 5.0 Redis 6.0 Redis 7.0
| | |
说明
- 当您在创建同步任务时,当前仅支持选择火山引擎版 Redis。
- 如需迁移阿里云的云原生内存数据库 Tair 的数据至火山引擎版 Redis,请提交工单联系技术支持。
使用限制
类型 | 说明 |
---|
源库限制 | 带宽要求,源库所属的服务器需具备足够出口带宽,否则将影响数据迁移的速率。 数据库传输服务 DTS 在执行全量迁移或全量初始化时,将占用源库和目标库的部分资源,可能会导致数据库服务器负载上升。当数据库业务量较大或服务器规格较低时,可能会加重数据库的压力,甚至导致数据库服务不可用。建议在业务低峰期执行数据迁移或同步,您也可以调大源库的client-output-buffer-limit 的参数值。 当源库中的某些 Key 使用了过期(expire )策略时,可能存在 Key 已过期但未被及时删除的情况,导致目标库中查看到的 Key 数量(例如通过 info 命令查看)会比源库的 Key 数量少。 当源库发生了水平扩缩容(如增减分片数),或垂直扩缩容(如升降级节点规格)时,您需重新配置任务。为保障数据一致性,在重新配置任务前,建议先清空已迁移或同步至目标 Redis 的数据。 由于缓存数据库 Redis 版的单节点实例未开启 AOF 持久化,因此无法使用数据库传输服务 DTS 迁移或同步此类型实例。 迁移或同步任务期间,如果源库的连接地址发生变化,会导致任务失败,您需要重新配置任务。如果仍未成功,可提交工单联系技术人员,如果长时间未处理,源库会重置 AOF 文件。 用于数据迁移或同步的账号需具备以下权限:
|
其他限制 | 在双向同步过程中仅支持两个 Redis 实例间的同步,不支持多个 Redis 成环的同步,同时也不支持级联。 双向同步无法解决 CRDT 问题,您需要保证源库和目标库中没有对同一 Key 的操作。 建议源库和目标库的 Redis 的数据库版本保持一致,或者从低版本迁移到高版本以保障兼容性。如果是高版本迁移到低版本,可能存在数据库兼容性或数据丢失问题。 在增量数据迁移时,由于目标库在执行脚本时不会明确返回执行结果,对于通过 EVAL 或 EVALSHA 调用的 Lua 脚本,数据库传输服务 DTS 无法确认该类型脚本是否执行成功。 目标 Redis 数据库的存储空间需大于源 Redis 数据库占用的存储空间。 数据库传输服务 DTS 在调用 psync 和 sync 命令传输数据时,会对目标库数据进行覆盖写入,即如果目标库存在相同的 Key,会先进行 del 操作。 在同步任务中,超过 16MB 的大 Key 会被丢弃,在同步任务前需谨慎评估。
|
特殊情况 | |