Ant 積分 5

pt-online-schema-change 是過渡期工具,主要供 MySQL 5.6 之前版本。它的執行原理非常暴力, copy table + trigger,所以沒有 locking。

到了 MySQL 5.6 之後,因為支援 Online DDL (MySQL 5.7 支援更全面),很多 ALTER TABLE 都不再 locking,可以在生產線上直接運行,只是免不了效能的抖動。因為 MySQL 資料結構與 PostgreSQL 不同,所以 schema change 再怎麼做還是不會比 PostgreSQL 來得有效率。

對我來說,PostgreSQL 最大的問題在於沒有很成熟的 master-master 及跨數據中心的同步方案。master-master 有它先天的問題。可是 master-slave 有 SPOF 及 single write hotspot 問題,前者可用 HA 解,但後者無解。

跨數據中心又是另一個麻煩事,如果不支援就要自己搞 Sharding,不是做不到。而且 Sharding 很難維護又很可能一不小心就破壞商業邏輯。就算要搞 Sharding,MySQL 還是有比 PostgreSQL 相對成熟的方案,就是官方的 Fabric,夠傻瓜夠直覺夠彈性。

從 Enterprise requirement 可以看出 PostgreSQL 與 MySQL 發展思路上的差異,如果是走穩定、數據保證,目前 PostgreSQL 絕對會是首選 (但 MySQL 5.7 追上來了);如果是走網路服務的高延展性、跨數據中心,那目前就是 MySQL 的天下了。

這是文章的子討論串,你可以回到上層查看所有討論和文章
kaif 積分 0

請教「 master-master 及跨數據中心的同步方案」是指?

master-master是galera或官方的orcale mysql cluster (NDB)嗎? 跨數據中心是replication?