借助DTS和redis-shake同步工具,云数据库Redis为您提供了丰富数据同步方案,可适用于同步上云、数据异地多活、数据容灾、数据分析等多种业务场景。
数据同步工具
- DTS(推荐)
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,集数据迁移、订阅、同步于一体,为您提供稳定安全的传输链路。通过DTS可实现单向或双向同步,适用于异地多活、数据异地容灾等多种应用场景。
- redis-shake
redis-shake是阿里云自研的开源Redis数据传输工具,基于Linux环境,支持对Redis数据进行解析(decode)、恢复(restore)、备份(dump)和同步(sync或rump),灵活高效。在不方便使用DTS的同步场景,您可以尝试使用redis-shake进行同步。
DTS与redis-shake工具对Redis同步的支持度有所区别,详细信息,请参见下表。
说明 下表中的数据库和架构支持任意组合,例如从自建Redis(集群架构)同步至云数据库Redis社区版(标准架构)。
工具 | 支持的源库 | 支持的目标库 | 支持的架构 | 支持的同步拓扑 |
---|---|---|---|---|
DTS(推荐) |
|
|
说明 跨阿里云账号同步Redis实例时,不支持读写分离架构。
|
说明 仅云数据库Redis企业版(5.0版本)间支持双向同步。
|
redis-shake |
|
|
单向同步 |
权限要求
对于不同的同步场景,DTS与redis-shake工具所需的权限有所区别,在配置数据同步前,您需要根据下表的同步场景为源和目标库准备相关权限。
说明 关于如何为Redis实例创建相应权限的账号,请参见创建与管理账号。
工具 | 同步场景 | 源库的权限要求 | 目标库的权限要求 |
---|---|---|---|
DTS(推荐) |
|
读权限 | 读写权限 |
|
复制权限
说明 源实例为集群或读写分离架构时暂不支持创建复制权限的账号,如果迁移的目标为Redis实例,您可以提交工单申请开通该功能。
|
读写权限 | |
|
允许执行SYNC或PSYNC命令 | 读写权限 | |
redis-shake |
|
允许执行SYNC或PSYNC命令 | 读写权限 |
|
复制权限 | 读写权限 |
数据同步方案
注意 由于数据同步的配置方法相似程度较高,下表仅列出常见同步场景对应的配置文档。如果您的场景没有在下表中覆盖,您可以参考相近场景的文档并结合权限要求表格的内容进行配置。
场景 | 工具 | 配置案例 |
---|---|---|
从自建库同步至云数据库Redis | DTS | 从自建Redis集群同步至Redis集群实例 |
从ECS上的自建Redis同步至Redis实例 | ||
从ECS上的Codis集群同步至Redis实例 | ||
从ECS上的Twemproxy Redis集群同步至Redis实例 | ||
ssdb-port | 使用ssdb-port将SSDB数据库同步到云数据库Redis版 说明 ssdb-port是一款适用于SSDB数据库的数据同步工具,支持SSDB到Redis的实时单向数据同步。
|
|
云数据库Redis间同步 | DTS | Redis实例间的单向数据同步 |
Redis企业版实例间的双向同步 | ||
跨云账号同步Redis集群版实例 | ||
redis-shake | 使用redis-shake在Redis实例之间单向同步 | |
自建库间同步 | DTS | 从通过专线、VPN网关或智能接入网关接入的自建Redis同步至ECS上的自建Redis |