MySQL管理員必備的十大工具盤點(5) |
發(fā)布時間: 2012/6/16 19:03:38 |
MySQL必備工具第五位: mk-table-checksum“數(shù)據(jù)偏差”是廣泛存在于動態(tài)MySQL環(huán)境之中的一項重大問題。其實際含義為:從屬數(shù)據(jù)未能與主體數(shù)據(jù)正確同步,發(fā)生的原因主要是從屬數(shù)據(jù)端出現(xiàn)寫入操作或者主體數(shù)據(jù)端執(zhí)行了具備不確定性的查詢指令。更糟糕的是,數(shù)據(jù)偏差情況很可能會被管理人員所忽視,直到爆發(fā)嚴重后果。Mk-table-checksum該登場了,這款工具的作用是在執(zhí)行復雜、敏感的計算時,并行驗證兩個或多個列表中相關數(shù)據(jù)內(nèi)容的一致性。 mk-table-checksum 能夠分別為獨立服務器及同步架構中的服務器提供幫助,這也是該工具最大的亮點所在。主體服務器與從屬服務器之間的數(shù)據(jù)一致性在同步時必須得到充分的重視。由于主體數(shù)據(jù)變更在向從屬數(shù)據(jù)同步的過程中存在一定程度的滯后(即延遲),因此直接讀取服務器數(shù)據(jù)的方式無法嚴格保證信息的一致性,因為數(shù)據(jù)在同步完全結束之前,一直處于不斷變化且并不完整的狀態(tài)下。鎖定列表、等等所有數(shù)據(jù)同步結束之后再進行驗證當然行之有效,但這種方案意味著我們不得不同時中止服務器服務的正常響應。mk-table- checksum允許大家在不鎖定列表的前提下,對主體及從屬數(shù)據(jù)間的差異性進行驗證(至于該技術的具體實現(xiàn)方法,請單擊此處參閱工具文檔)。 http://www.maatkit.org/doc/mk-table-checksum.html 除了同步過程中的一致性,數(shù)據(jù)驗證在其它一些方面也頗具意義,例如列表尺寸問題。MySQL的CHECKSUM TABLE指令對于小型列表來說完全夠用,但規(guī)模龐大的列表往往需要“分塊”處理,以避免在校驗及計算的過程中CPU或內(nèi)存發(fā)生長期鎖死或超載的狀況。 分塊處理能夠應付的第二個大問題是對數(shù)據(jù)一致性定期檢查的要求。雖然數(shù)據(jù)偏差可能只是一次偶然的意外,但事實上遇到臉丑手黑的管理員,這類問題也許會反復發(fā)作。mk-table-checksum的設計初衷正是對列表進行定期檢查,且整個驗證過程分步分塊、循序漸進,直到整套大規(guī)模列表處理完畢。這種持續(xù)性處理方式有助于管理員對數(shù)據(jù)偏差進行經(jīng)常性校對。 本文出自:億恩科技【mszdt.com】 |