相关疑难解决方法(0)

更改实时生产数据库上的表

大多数“流行”(MySQL、Postgres...)数据库系统如何处理实时生产数据库上的表更改(例如添加、删除或更改列的类型)?

我知道正确的方法是备份所有计划停机时间,然后进行更改。

但是......当前的数据库系统是否支持在不停止任何事情的情况下“在线”执行这些操作?(也许只是延迟引用刚刚更改/删除的列的查询)

当我只是ALTER TABLE...在实时运行的数据库上执行操作时会发生什么?当这种情况发生时,一切都会停止吗?数据会损坏吗?等等。

同样,我主要指的是 Postgres 或 MySQL,因为这些是我遇到的。

(而且,是的,在我以“正确的方式”做之前,任何时候我必须这样做,备份事情,安排停机等......但我只想知道是否有可能“快速且脏”或者是否有任何数据库系统实际上支持“快速、实时和脏”模式更改)


有人刚才建议的在线模式修改为MySQL从Facebook脚本(有教程这里和源在这里)......似乎是一个很好的方式来自动执行了一套“哈克”的方式来做到这一点...有没有人用它在类似于生产的东西?

mysql postgresql alter-table

27
推荐指数
3
解决办法
5万
查看次数

mysql 动态更改架构

最近我遇到了一个问题,我的数据库变得非常大,每次我想更改架构时,我都不能让自己停机。

这使我开始寻找在线更改架构的解决方案。

1) pt-online-schema-change。非常有吸引力的项目,但老实说我很失望。下载了最新版本后,我不得不更改代码以使脚本正常工作。在开始脚本失败并显示错误消息。所有这些都是我在 Percona 的错误报告中找到的。在修补脚本完成它的工作后,希望很好。

2)橡木在线更改表。同样非常有趣的项目,facebook 在MySQL 的 Online Schema Change上提到它是好产品。明天我去试试。

如果您更有经验,请与我们分享您的意见。什么是最好和最可靠的产品?

mysql schema

4
推荐指数
1
解决办法
1653
查看次数

标签 统计

mysql ×2

alter-table ×1

postgresql ×1

schema ×1