python - 如何对大型表进行零停机时间架构迁移

标签 python mysql django migration rds

我正在寻找一个与 django + mysql/postgres 兼容的解决方案来进行在线迁移。我见过的最好的解决方案是 Large Hadron Migrator ,但 LHM 是一个 Rails 应用程序,我需要手动保持 ORM 同步,我看过的第二好的工具是 pt-online-schema-change , 但我不太确定如何将它与 django 的迁移工具集成。

还有其他选择,比如工具 OnlineSchemaChange.php来自 facebook 和 TableMigrator来自推特,但两者似乎都不活跃。我也偶然发现了 oak但并没有真正投入其中。

所以,问题是,我如何为大表进行 django 迁移(1.7,而不是南方),这可能会占用 IO 而没有停机时间。

最佳答案

如果这是选项:将您的应用程序迁移到 MySQL 5.6 - 由于 MySQL 5.6 像 PostgreSQL 一样支持在线 DDL,因此迁移过程没有那么痛苦,它将使您从迁移大表的许多麻烦中解脱出来。 p>

这是可能的列表:http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html

对于旧版本的 MySQL,确实没有 Elixir 可以让您使用 South 和 Django,我的建议是向 Google 寻求一种称为Expand/Contract 的迁移模式。

我在较旧的 MySQL 5.5 上使用 pt-online-schema-change 也取得了巨大的成功/

关于python - 如何对大型表进行零停机时间架构迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727631/

相关文章:

python - 为python配置Vs code 2.0.0 Build Task

python - 为什么在 Tensorflow/keras 作业下只有一对 GPU 的 GPU 利用率不为零?

javascript - 如何从 javascript 运行 python 脚本?

python - emacs python jedi错误

python - 做多个数据库计数还是用Django在代码中计数效率更高?

添加到函数时 PHP $.row 错误

php - 动态创建的多选框值未正确插入

mysql - 如何选择最小月份和年份?

python - 我如何通过 django session 中存储的属性来限制 django 外键选择