Percona 整理了一份關於 Galara Cluster 上 DDL 操作的一些技巧,這包括了 Percona XtraDB Cluster 與 MariaDB 的版本:「How to Perform Compatible Schema Changes in Percona XtraDB Cluster (Advanced Alternative)?」。
在不知道這些技巧前,一般都是拿 Percona Toolkit 裡的 pt-online-schema-change
來降低影響 (可以降的非常低),所以這些技巧算是額外知識,另外在某些極端無法使用 pt-online-schema-change
的情境下也可以拿來用...
裡面的重點就是 wsrep_OSU_method
這個參數,預設的值 TOI
就是一般性的常識,所有的指令都會被傳到每一台資料庫上執行,而 RSU
則是會故意不讓 DDL 操作 (像是 ALTER TABLE
) 被 replicate 到其他機器,需要由管理者自己到每台機器上執行。
利用這個設定,加上透過工具將流量導到不同後端的資料庫上,就有機會分批進行修改,而不需要透過 pt-online-schema-change
這種工具。