[英]Migrating a giant production database without downtime
我们在 AWS 上托管了一个 Rails 应用程序,它使用 amazon-rds 数据库上的 mysql。 我们在数据库中有一个要迁移的巨型表,但由于有数百万行,迁移需要几天时间。 具体来说,我们将VARCHAR
移动到TEXT
列
如何在不让用户遇到停机的情况下迁移这个大型生产数据库?
我听说的一个想法是设置数据库的副本,并在那里进行迁移,并在完成后将其切换为主数据库。 但是,我不确定这将如何考虑在迁移过程中输入的用户数据。
更新:这可能是相关的: amazon-rds 提供只读副本和多可用区部署,看起来它们可能是为这类事情而设计的。 不过,这是第一次这样做,因此欢迎就任何方法提供指导,无论是这种方法还是另一种方法。
我不知道你使用的托管选项是否可行,但我会这样解决问题:
如果“写入停机时间”比“完全停机时间”(显然取决于应用程序)更可接受,则只读模式是另一种可能的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.