線上更改MySQL表結構工具gh-ost的特點介紹
- 無觸發器:這也是其他工具最受詬病之處。觸發器方案會對MySQL的效能造成比較大的影響,嚴重時甚至會拖垮主庫。
- 輕量級:gh-ost獲取資料表修改操作的方法是偽裝成從庫連入,獲取並解析二進位制日誌,對臨時表插入資料也是增量、可控制的,因此對MySQL主庫的效能幾乎無影響。
- 可暫停:當原主庫處於業務高峰期時,完全可以暫停gh-ost的操作,暫停就意味著對主庫沒有寫入和更新,這是非常受歡迎的。
- 動態可控:gh-ost的操作不但可以暫停,還可以動態修改,因此在各種情況下修改了配置之後都不必從頭開始重新執行整個修改過程,這是非常節約資源的。
- 可審計:gh-ost的狀態是可以非常容易獲取到的,包括當前任務進度、主要配置引數、相關MySQL例項的情況等。gh-ost透過監聽TCP或者unix socket檔案來獲取命令,因此就給了運維人員極大的靈活性。
- 可測試:gh-ost支援在從庫上進行測試,以觀察對系統負載的影響、驗證正確性等。GitHub生產環境的每一張表都這樣用gh-ost在從庫上做過好多次修改測試,他們也呼籲大家用這種方式先體驗gh-ost的功能,再考慮上線應用。
- 可靠性高:經過充分的測試之後,現在GitHub生產環境的修改表定義操作已經全部由gh-ost完成了,而且它還有暫停、延遲切換、準確估計任務進度等功能,審計和線上控制功能可以讓它輕鬆地與監控系統結合起來,必然非常受運維人員喜愛。
- 完美解決切換問題:表切換操作是線上修改表定義的最後一步,其它工具操作到這一步時常常會出現各種問題。Facebook OSC也曾詳細分析過這個問題,但它的最終方案是個非原子性切換:先把原始表改名,再把臨時表改名頂上。可惜在兩次改名中間會有一小段表不存在的時間,在這期間執行的業務語句都會失敗,因為目標表不存在。Shlomi等經過嚴密的論證和實驗,給出了原子性的兩階段切換方案:用一條連線去持有鎖,另一條連線做原子性的rename操作。在rename操作之前,會建立一張訊號表,用它來阻塞rename操作,直到所有要求的表切換前提條件就緒。根據這個方案,表切換或者成功,皆大歡喜;或者失敗,則對業務無影響,也不會丟失資料,還會釋放鎖讓業務繼續,DBA只需要再一次用gh-ost重新嘗試切換即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2152974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mongdb的文件結構特點介紹
- MySQL線上DDL工具 gh-ostMySql
- 常見資料結構及特點介紹資料結構
- MySQL 線上DDL "gh-ost"MySql
- MySQL MHA工具的優缺點介紹MySql
- MySQL MERGE表的優缺點介紹MySql
- ORACLE ERP 表結構介紹Oracle
- Oracle ERP 表結構 介紹Oracle
- MySQL千萬級大表線上變更表結構MySql
- Python語言的特點有哪些?九大特點介紹!Python
- MySQL體系結構詳細介紹MySql
- 【MySQL】mydumper工具介紹MySql
- MySQL Utilities工具介紹和命令列總結MySql命令列
- 第二章——介紹(Swift的特點)Swift
- Altair SimSolid軟體特點介紹AISolid
- 深度學習中的框架特點及介紹深度學習框架
- mysql表結構同步工具SchemaSync使用初探MySql
- MySQL 官方工具utilities介紹MySql
- MySQL自適應雜湊索引的特點和缺陷介紹和歸納MySql索引
- LAMP架構介紹、MYSQL介紹、安裝LAMP架構MySql
- MySQL InnoDB獨立表空間模式的優點和缺點介紹MySql模式
- Android SDK目錄結構和工具介紹Android
- MySQL多層級結構-樹搜尋介紹MySql
- VS構建工具介紹
- B樹索引和點陣圖索引的結構介紹索引
- 【MySQL】gh-ost改雙主表結構主鍵衝突問題MySql
- C/S結構與B/S結構的特點分析
- 大資料的結構和特點大資料
- 主流程式語言的介紹及特點
- 球幕影院的應用介紹以及使用特點
- MySQL innoDB獨立表空間和共享表空間的優點和缺點介紹MySql
- LAMP架構(LAMP介紹,mysql/mariaDB介紹,Mysql安裝)LAMP架構MySql
- MySQL線上新增欄位的幾種方案介紹MySql
- 【MySQL】Innodb 恢復工具介紹MySql
- MySQL 5.7 mysqldumpslow工具介紹MySql
- MySQL許可權表介紹MySql
- Python具有哪些特點?詳情介紹如下!Python
- 電子血壓計晶片方案特點介紹晶片