最近我遇到了一个问题,我的数据库变得非常大,每次我想更改架构时,我都不能让自己停机。
这使我开始寻找在线更改架构的解决方案。
1) pt-online-schema-change。非常有吸引力的项目,但老实说我很失望。下载了最新版本后,我不得不更改代码以使脚本正常工作。在开始脚本失败并显示错误消息。所有这些都是我在 Percona 的错误报告中找到的。在修补脚本完成它的工作后,希望很好。
2)橡木在线更改表。同样非常有趣的项目,facebook 在MySQL 的 Online Schema Change上提到它是好产品。明天我去试试。
如果您更有经验,请与我们分享您的意见。什么是最好和最可靠的产品?
我的第一个问题是,什么是“非常大”?根据对该问题的回答,可能还有其他方法可以优化您的迁移以减少它们花费的时间。
第二个问题是,您多久对实时应用程序进行架构更改?
如果在线模式更改工具对您不起作用,您可以从另一个角度尝试。在主动/被动模式下使用主/主复制以最大限度地减少停机时间。
以下假设您在主动/被动主/主配置中有 db1 和 db2...
为此,您的架构迁移必须向后兼容,无论如何在大多数应用程序中都是这种情况。这不是零停机时间,但已经接近了。实际上,大多数应用程序可以容忍少量的定期停机维护。真正的零停机时间是非常昂贵的奢侈品。
要潜在地加速您的表更改,请考虑使用Percona Server和expand_fast_index_creation设置。
此外,在线架构更改的另一个选择是Facebook 的 OSC。
归档时间: |
|
查看次数: |
1653 次 |
最近记录: |