在 Galera Cluster 上的 DDL 操作 (e.g. ALTER TABLE)
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
這種工具。