又雙叒叕,絲滑的零停機(jī)數(shù)據(jù)庫在線遷移工具Squids DBMotion再發(fā)新版!
Squdis DBMotion新增了多種數(shù)據(jù)庫的遷移能力:SQLServer to SQLServer、Redis to Redis、MySQL to Kafka,增加了列映射、校驗(yàn)任務(wù)獨(dú)立、抽樣校驗(yàn)、校驗(yàn)復(fù)檢和限速等十多項(xiàng)功能。
本次版本更新,DBMotion新增了三種數(shù)據(jù)庫遷移同步的場景。目前,DBMotion已經(jīng)支持8種不同的數(shù)據(jù)庫遷移同步場景(5款同構(gòu)數(shù)據(jù)庫和3款異構(gòu)數(shù)據(jù)庫):
MySQL to MySQL
Redis to Redis
SQLServer to SQLServer
MongoDB to MongoDB
openGauss to openGauss
Oracle to GaussDB
MySQL to ClickHouse
MySQL to Kafka
SQLServer遷移和校驗(yàn)
本次新增了SQLServer到SQLServer的結(jié)構(gòu)、全量遷移和結(jié)構(gòu)、數(shù)據(jù)校驗(yàn)?zāi)芰ΑS脩艨梢赃x擇要遷移的SQLServer源庫和目標(biāo)庫,進(jìn)行對象和數(shù)據(jù)遷移。
目前支持SQLServer 2017和2019版本的多種不同對象遷移,包括table、user、view、procedure、function、trigger、event、type、sequence、synonym和xmlschema。
數(shù)據(jù)遷移,支持常規(guī)數(shù)據(jù)類型,支持包括LOB類型、uniqueidentifier、hierarchyid、rowversion、geometry、geography等特殊數(shù)據(jù)類型。特殊字段屬性支持identity列和computed列。
SQLServer遷移完成以后,可以執(zhí)行對象校驗(yàn),對比各種對象和表結(jié)構(gòu)的一致性。
或者執(zhí)行數(shù)據(jù)校驗(yàn)來對比遷移后數(shù)據(jù)是否完全一致。
Redis遷移和校驗(yàn)
本次新增Redis到Redis的數(shù)據(jù)遷移和數(shù)據(jù)校驗(yàn)?zāi)芰ΓС諶edis 5.0及以上版本。
新建任務(wù)之后,DBMotion就會將您在Redis上的16個(gè)DB中的所有key和value都同步到目標(biāo)端。
接下來進(jìn)入數(shù)據(jù)校驗(yàn)頁面,可以對遷移過去的數(shù)據(jù)進(jìn)行校驗(yàn),DBMotion將對比所有DB中的key和value值是否一致。
新增MySQL到Kafka的數(shù)據(jù)同步功能,用戶可以選擇需要抽取的MySQL數(shù)據(jù)庫。MySQL to Kafka
源庫中MySQL的數(shù)據(jù)如下:
數(shù)據(jù)同步到Kafka以后,顯示如下:
列映射
DBMotion之前僅支持庫級別和表級別的名稱映射,本次新增了列級別的映射,用戶可以在映射和過濾階段,設(shè)置庫和表的映射。
點(diǎn)擊進(jìn)入某個(gè)表的“映射與過濾”頁面,設(shè)置列的映射。
遷移完成后,進(jìn)入目標(biāo)庫查看,可以看到庫、表和字段均顯示為遷移過程中我們所設(shè)置的映射名。
遷移同步期間,源庫/目標(biāo)庫還在提供業(yè)務(wù)訪問。如果遷移的流量過大,可能會對源庫造成一定影響,從而對業(yè)務(wù)產(chǎn)生一定的影響。限速
為了避免對系統(tǒng)造成過大的負(fù)擔(dān),有效地控制數(shù)據(jù)遷移的速度,DBMotion在本版本中支持按照吞吐量(MB/s)對傳輸任務(wù)進(jìn)行限速。
限速后,DBMotion保證吞吐量最大不超過設(shè)置的最大值,保護(hù)數(shù)據(jù)庫業(yè)務(wù)的正常運(yùn)行。
部分客戶會自己使用MySQLdump或者其他類似的工具來做遷移或者同步,但是希望使用我們的校驗(yàn)工具對比一下遷移對象和數(shù)據(jù)是否完全一致。在DBMotion這個(gè)新版本中,開始支持獨(dú)立的校驗(yàn)任務(wù)。用戶可以進(jìn)入“數(shù)據(jù)校驗(yàn)”任務(wù)列表展示頁面上,點(diǎn)擊“添加任務(wù)”進(jìn)入頁面。校驗(yàn)任務(wù)獨(dú)立
與新建數(shù)據(jù)傳輸任務(wù)一樣的頁面,您可以根據(jù)向?qū)詈萌蝿?wù)相關(guān)選項(xiàng)并進(jìn)行預(yù)檢查,新建一個(gè)純對象/數(shù)據(jù)校驗(yàn)的任務(wù)。
任務(wù)新建成功以后,就可以在任務(wù)詳情頁面查看對象對比和數(shù)據(jù)對比的結(jié)果,確認(rèn)到底有哪些對象/數(shù)據(jù)存在不一致的問題。校驗(yàn)不一致的數(shù)據(jù)可以點(diǎn)擊“詳情”查看具體的不一致情況,或者點(diǎn)擊“訂正SQL”,查看要執(zhí)行怎樣的SQL才能讓目標(biāo)庫跟源庫保持一致。
對于數(shù)據(jù)量特別大的表,由于校驗(yàn)時(shí)間太長,客戶可能并不想校驗(yàn)所有的數(shù)據(jù)。DBMotion在本期提供了抽樣校驗(yàn)的選項(xiàng),在新建校驗(yàn)任務(wù)階段可以配置校驗(yàn)的抽樣比例。抽樣校驗(yàn)
在抽樣校驗(yàn)任務(wù)完成后,查看校驗(yàn)結(jié)果。51232行數(shù)據(jù),進(jìn)行30%的抽樣后,共校驗(yàn)了17171行數(shù)據(jù),符合目標(biāo)預(yù)期。
總結(jié)
總體來說,本次共修復(fù)和更新了二十多項(xiàng)功能: 對象遷移:支持table、 view、function、 procedure、trigger、sequence, synonym、type和xml schema 全量數(shù)據(jù)遷移:支持常規(guī)類型,支持LOB類型、uniqueidentifier、hierarchyid、rowversion、 geometry和geography等特殊數(shù)據(jù)類型;支持identity列和computed列 對象校驗(yàn):支持對各種遷移過去的對象進(jìn)行校驗(yàn),展示對象校驗(yàn)詳情,生成訂正SQL 數(shù)據(jù)校驗(yàn):支持各種數(shù)據(jù)類型的校驗(yàn),查看不一致數(shù)據(jù),生成訂正SQL 其它:支持一次遷移多個(gè)數(shù)據(jù)庫SQL Server
數(shù)據(jù)遷移:支持全量遷移、全量的斷點(diǎn)續(xù)傳 數(shù)據(jù)校驗(yàn):全量校驗(yàn)、抽樣校驗(yàn)、不一致詳情查看Redis
新增MySQL到Kafka,支持全量數(shù)據(jù)遷移,全量遷移斷點(diǎn)續(xù)傳 MySQL到ClickHouse支持無主鍵表遷移 MySQL到ClickHouse數(shù)據(jù)類型優(yōu)化 支持列映射,創(chuàng)建任務(wù)時(shí)可以指定目標(biāo)端列名 支持列脫敏,對于敏感信息可以選擇脫敏 支持敏感信息識別 增量失敗后支持修正或跳過錯(cuò)誤 支持快速復(fù)檢 優(yōu)化對象校驗(yàn)詳情展示,詳情新增具體校驗(yàn)內(nèi)容MySQL
支持創(chuàng)建獨(dú)立校驗(yàn)任務(wù),支持結(jié)構(gòu)校驗(yàn)和數(shù)據(jù)校驗(yàn),校驗(yàn)不再依賴遷移任務(wù) 數(shù)據(jù)校驗(yàn)支持周期停止 支持分片續(xù)傳,在全量遷移階段,暫停任務(wù)后,已經(jīng)完成的分片不再重新傳輸 Docker線下版開始支持限速其它功能
修復(fù)了目標(biāo)端未開啟binlog,結(jié)束遷移時(shí)任務(wù)失敗問題 修復(fù)了MySQL mrg_myisam表遷移失敗問題 修復(fù)了MySQL 表中有生成列遷移失敗問題問題修復(fù)
全新的功能,想先人一步使用嗎? 趕緊上Squids體驗(yàn)吧! SaaS產(chǎn)品,永久免費(fèi)使用,地址: https://squids.cn/product/dbmotion
服務(wù)電話: 400-678-1800 (周??周五 09:00-18:00)
商務(wù)合作: 0571-87770835
市場反饋: marketing@woqutech.com
地址: 杭州市濱江區(qū)濱安路1190號智匯中?A座1101室