dot Redis 8 来了——而且它是开源的

了解更多

从 ElastiCache 迁移到 Redis Cloud 的 3 种方法

将数据从一个平台迁移到另一个平台时有很多选择。幸运的是,这些问题已得到了很好的理解,因此非常适合用简单的流程图来描述。

数据迁移是一项重要而有意义的项目,即使它不会给从业者带来太多荣耀。这更是高效执行它的理由。

您有多种数据迁移方式。下面提供一些指导。 

ElasticCache 迁移到 Redis 主要有三种迁移路径。此流程图可帮助您将当前环境与合适的流程匹配,并提供保护数据和成功迁移的注意事项。

migration decision tree

彻底替换

主要的决策点在于您是否能容忍清空所有 Redis 数据。如果可以,则完全无需迁移数据。“彻底替换”很简单,但清空数据会导致数据重新填充时性能下降。

Rip and replace timeline

优点

  • 执行简单
  • Redis 停机时间很少或没有

缺点

  • 丢失所有 Redis 数据

离线数据迁移

如果您将 Redis 用作缓存以外的用途——例如,用作会话存储——您就无法承受完全清空数据带来的数据丢失和性能下降。我们理解您。所有数据都很重要。这就是我们提供持久化选项的原因。 

下一个问题是您是否能容忍停机。我们说的停机时间是多久?可能短至几分钟。这取决于导出和导入 Redis 数据所需的时间。

如果短时间的停机似乎可以容忍,那么在测试环境中进行一些实验以获得更准确的停机时间估计是值得的。请注意内存使用情况,因为这是 ElastiCache 部署中常见的问题。

如果预估的停机时间可以接受,我们建议采用离线数据迁移。此选项易于实现,但由于数据需要从 ElastiCache 导出并导入到 Redis Cloud,因此会导致停机。

Offline data migration timeline

优点

  • 执行简单
  • Redis 数据从 ElastiCache 迁移到 Redis Cloud
  • 除了 ElastiCache 和 Redis Enterprise,还支持其他基于 Redis 的解决方案,例如 Amazon MemoryDB
  • 数据一致性

缺点

  • 迁移期间停机
  • 对于大型数据集可能需要一些时间

实时数据迁移

还有另一种选择。实时数据迁移可以在不停机或不丢失数据的情况下执行。然而,它的操作更复杂(一种礼貌的说法是,“您可能会咒骂很多次”),您应该仔细权衡取舍。

Offline data migration timeline

此选项依赖于我们内部 Redis 专家开发的一款名为 RIOT 的外部工具。其文档详细介绍了从 ElastiCache 迁移到 Redis Enterprise 的操作指南。如果您选择此选项,您可能会很庆幸有机会联系我们的一位专家寻求指导。 

优点

  • 实时 ElastiCache 数据迁移到 Redis Cloud
  • 不停机

缺点

  • 比其他方法步骤更多,潜在陷阱也更多
  • 测试阶段可能需要调优
  • 可能不适用于所有数据库,例如具有大键(100MB+)的数据库
  • 不保证数据一致性
  • 潜在地占用大量 CPU 资源
  • 可能需要对 ElastiCache 进行操作性更改 
  • 对 RIOT 提供尽力而为的支持

希望本文能帮助您决定如何迁移到 Redis Cloud。现在您只需行动起来。

既然您正在使用 Redis Cloud,也许您应该尝试一下现在可用的新功能?了解触发器和函数,或者自动分层如何帮助您管理大型数据集。