pt-osc使用增量資料觸發器的不足之處總結和推薦

chenfeng發表於2018-05-23
pt-osc的原理如下:
1、建立一個和源表一樣表結構的新表
2、在新表執行DDL語句
3、在源表建立三個觸發器分別對應insert、update、delete操作
4、從源表複製資料到新表,複製過程中源表透過觸發器把新的DML操作更新到新表中
5、rename源表到old表中,把新表rename為源表,最後刪除源表

觸發器的作用就是源表和新表之間的增量資料同步,不足之處總結如下:

因為觸發器是用儲存過程的步驟實現的,所以就無法避免儲存過程本身需要的開銷。
增大了同一個事務的執行步驟,更多的鎖爭搶。
整個過程無法暫停,假如發現影響主庫效能,停止 Online DDL,那麼下次就需要從頭來過。
多個並行的操作是不安全的。
無法在生產環境做測試。
觸發器和源操作還是在同一個事務空間。

備註:
推薦使用gh-ost工具做online DDL
gh-ost 首先連線到主庫上,根據 alter 語句建立影子表,然後作為一個”備庫“連線到其中一個真正的備庫上,一邊在主庫上複製已有的資料到影子表,一邊從備庫上拉取增量資料的 binlog,然後不斷的把 binlog 應用回主庫。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2154952/,如需轉載,請註明出處,否則將追究法律責任。

相關文章