pt-osc使用增量資料觸發器的不足之處總結和推薦
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 應用回主庫。
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫的觸發器的使用資料庫觸發器
- 大資料崗位總結和相關書籍推薦大資料
- SQL總結(六)觸發器SQL觸發器
- 25. 使用MySQL之使用觸發器MySql觸發器
- 【推薦系統篇】--推薦系統之測試資料
- pt-osc工具的優缺點歸納總結
- 推薦ABTest的實現策略總結
- 推薦:通用設計模式的總結設計模式
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- 機器學習和資料探勘的推薦書單機器學習
- Oracle之觸發器Oracle觸發器
- 【SQL Server】-- 一觸即發之觸發器SQLServer觸發器
- 影像資料不足時的處理方法
- Oracle資料庫DDL審計觸發器觸發的bug問題Oracle資料庫觸發器
- 騰訊QQ大資料:神盾推薦——MAB演算法應用總結大資料演算法
- 電影推薦系統資料預處理
- MySQL Galera Cluster的特性和不足之處介紹MySql
- 資料庫差異備份與增量備份的不同之處資料庫
- 資料庫開發---常用物件-觸發器資料庫物件觸發器
- Jetty使用總結薦Jetty
- MySQL使用觸發器MySql觸發器
- 大資料應用——資料探勘之推薦系統大資料
- Go 語言—資料結構和演算法專案推薦Go資料結構演算法
- 資料庫觸發器,禁止DDL操作資料庫觸發器
- SQL資料庫觸發器例項SQL資料庫觸發器
- 資料庫檢視,索引,觸發器資料庫索引觸發器
- 資料傳輸 | 如何配合 pt-osc 使用 DTLE 同步 DDL
- 鐳射雷達常用的資料處理軟體推薦
- SQL Sever 2000中的前觸發器和後觸發器SQL觸發器
- SAP工作流觸發總結
- SqlServer觸發器的建立與使用SQLServer觸發器
- MySQL觸發器的使用規則MySql觸發器
- 行為和觸發器觸發器
- python裝飾器和描述器的使用總結Python
- SqlServer基礎之(觸發器)SQLServer觸發器
- SQL Server資料庫級別觸發器SQLServer資料庫觸發器
- BEFORE觸發器修正資料錯誤觸發器
- 效能測試之伺服器監控和Prometheus推薦伺服器Prometheus