推薦一款好用的資料一致性校驗工具

NineData發表於2023-03-02

一、為什麼需要做資料一致性校驗

在資料的服務生命週期過程中,經常會因為資料遷移、主從複製、資料整合等原因產生資料流動及複製。在資料複製過程中,由於人為誤操作、軟體bug或硬體故障等原因,無法完全規避複製資料的準確性。如何有效保障複製資料的一致性變得至關重要。

當前市面上專門用於解決“資料一致性校驗”的工具比較匱乏。很多企業依然在使用:人工抽檢的原始解決方案,資料一致性導致的業務故障頻發。

舉一個客戶遇到CASE,客戶是一個電商SAAS服務提供商。如同其他SAAS服務,出於成本最佳化及大租戶穩定隔離的業務訴求,經常會涉及使用者資料的跨機搬遷。當前,客戶並沒有對應的資料一致性校驗工具,所以,每次遷移完成,都是人工抽核心表進行資料量的檢測。正應了“常在河邊走,哪有不溼鞋”的俗語,有一次遷移一個大商家資料的時候,在沒有完整資料一致性校驗的情況下,直接切換商家業務,最終出現因遷移資料【訂單】不一致,導致的商家業務故障,給大商家造成比較大的業務影響及品牌影響。

資料一致性校驗的重要性

二、一個好的工具應該具備哪些能力

同行們血淋淋的經驗告訴我們,擁有一個好的資料一致性校驗工具是必不可少的【關鍵時刻能救命~】。那麼究竟我們需要怎麼樣的工具呢。小編認為一款校驗工具至少應該具備如下六個特質。

資料一致性校驗工具是必不可少的能力

1. 能做結構一致性校驗

利用表儲存資料,幾乎成為大部分資料儲存的通用標準。所以表結構能否正確遷移直接影響遷移資料的一致性。同時,資料庫提供了諸多非表物件,包括檢視、儲存過程、函式、觸發器等。使用者一般基於這些物件實現輕量的業務邏輯,所以非表物件的能否成功遷移也會直接影響業務的遷移。由此,小編認為,具備結構一致性的快速校驗是校驗工具的基礎能力。

2. 完善的資料一致性校驗

除了結構,資料無疑是另一關鍵的校驗內容。資料儲存支援豐富的資料型別,差異化的資料型別預設值、資料格式、字符集以及時區等。因此,能否支援完善的資料型別,遮蔽源及目標資料來源在資料範圍、資料格式、字符集及時區上的差異,也成為資料校驗工具的核心能力。

3. 快速定義不一致內容

資料校驗的目的是為了驗證資料一致性,並針對不一致資料進行快速補救。所以,能夠定位並提供具體不一致的內容也是資料校驗工具的重要特質。

4. 快速訂正資料的能力

當資料校驗定位到不一致內容後,是否能夠提供資料訂正指令碼幫助使用者快速修復不一致資料也是校驗工具必不可少的基礎能力。

5. 校驗速度要快,“天下武功唯快不破”

小編認為校驗速度夠快也是核心要求。尤其在資料遷移、資料整合場景,在這種場景下,資料校驗會影響業務停機時間,或者下游資料生產基線【例如,報表生產時間】,對校驗時間要求較苛刻。

6. 對資料庫的效能影響要可控

校驗工具一般都會高併發讀取資料庫的資料,此時,資料庫同時承擔著線上的業務應用。如何有效平衡資料校驗速度以及資料庫穩定性是校驗工具應該解決的重要命題。

三、市面上都有哪些常見的方案

1. NineData

官網地址:

NineData是玖章算術旗下的多雲資料管理平臺,它是一款即開即用的資料管理SAAS服務。當前NineData 已經支援數十種常見同異構資料來源(MySQL、SQLServer、CK等)之間的結構對比、資料對比及資料訂正能力。NineData結構及資料對比作為獨立服務,可以靈活支援IDC、雲主機自建及雲託管資料來源的資料一致性校驗及快速修復。從使用體驗、產品能力、穩定性及效能等維度綜合來看,NineData是一款綜合例項比較強、比較難得的校驗工具。

2. Percona-toolkit

percona-toolkit是由資料庫廠商percona提供的工具集,其中: pt-table-checksum、 pt-table-sync 提供了MySQL主從複製一致性校驗及修復的能力。Pt-table-checksum主要透過在MySQL主中執行checksum query,然後利用MySQL主從複製,query流轉到slave中,進行check對比。由於,需要藉助MySQL主從複製的能力,percona-toolkit只能應用主從複製場景。其優勢在於,當前工具使用比較廣泛,成熟度比較高。

3. 雲廠商遷移校驗工具

配合資料遷移工具,部分雲廠商會提供對應的一致性校驗能力。當前雲廠商提供的校驗能力,一般只支援資料校驗,不支援結構校驗,且資料訂正能力比較弱。由於廠商的校驗工具是跟遷移工具配合使用,所以,對於不使用遷移工具的資料來源,當前不能提供資料校驗能力。同時,其對雲資料庫的遷移支援較好,但是對於雲主機上自建資料庫以及IDC自建資料庫支援不好或不支援。

常見資料一致性方案推薦(NineData)

四、NineData,即開即用的資料一致性校驗服務

正如前面所述的推薦指數來看,NineData提供的結構對比、資料對比功能確實是綜合實力比較強,也比較推薦的一款產品。除了基礎的全量對比外,NineData還提供了快速對比、週期性對比及不一致複檢等多種對比形態。

  • 快速對比,相較於全量對比,快速對比主要用以校驗視窗期比較短的情況。快速對比會對資料量、資料分佈進行校驗,同時會隨機抽樣一定的比例進行校驗。
  • 週期性對比,自定義對比頻率及對比方式,NineData會自動週期性排程對比任務進行結構及資料對比。小編理解這個功能應該用於長期資料複製場景的資料對比,例如主從複製、資料容災、資料多活或資料倉儲實時整合等場景。
  • 不一致複檢,即針對上一次對比結果中不一致資料進行重新複檢。這個功能主要應用於資料訂正、主從複製【主從延遲】場景下,進行快速的複檢。

接下來,帶大家感受下這個產品的使用體驗。

1. 配置對比任務

整個任務配置過程很簡單,主要分為三個步驟:

  • 選擇資料來源,即配置對比的源例項及目標例項;
  • 選擇對比物件,即配置需要對比的物件,對比物件可以選擇庫、表|非表、列;
  • 配置對映關係及過濾條件,即配置對比表的對映關係;或者透過配置SQL過濾條件,可以只對關鍵資料進行對比。

步驟一:配置對比資料來源

步驟二:選擇對比物件

步驟三:對映關係配置

2. 對比結果

NineData會提供完善的對比結果,其會定位不一致內容。針對不一致內容,提供快速訂正指令碼。

結構對比,對比總覽

結構對比,展示不一致內容

資料對比,對比結果

資料對比,不一致詳情

五、最後

資料作為企業的核心資產,資料的準確性關於業務可靠性及企業品牌口碑。為此,還是推薦大家線上上主從環境、資料遷移、資料複製等場景中,配套使用可靠的資料校驗工具。平臺工具 NineData 以其完善的校驗能力、產品體驗、校驗速度、穩定性及資料來源環境的廣泛適配性成為了市面上比較出彩的校驗工具,推薦大家使用。


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

相關文章