在Amazon的RDS上运行的mysql中,将列添加到大型表中的选项是什么?

我们在AWS RDS上运行mysql。 唯一的主人在此刻。

正如所料,在主服务器上运行ALTER TABLE导致应用程序超时。 所以这是我试图避免的情况。

从我所知道的,我有3个选项。

  1. 使用ALTER TABLE命令的更好变体,使用ALGORITHM=INPLACE进行更改。
  2. 使用Percona实用程序ph-online-schema-change
  3. 使用AWSbuild议将只读副本提升为可写,添加列并将其提升为主。

我主要关心的是:

  1. 可能不适合所有types的柱子,但如果工作的话,非常简单。
  2. 工具链中的新工具。 确定投入工作stream程/pipe道的可行性,所以这不是每次我们需要将列添加到较大的表的专家任务。
  3. 我们都不是这方面的专家,我担心现场的数据丢失。 而创build一个新的只读副本的时间使得这个路由必须手动完成并被监视。

我想我问的是在这些领域的其他经验? 它们在现场环境中是否有效或合理?