免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

京東云開發(fā)者|京東云RDS數(shù)據(jù)遷移常見場景攻略

云時代已經(jīng)來臨,云上很多場景下都需要數(shù)據(jù)的遷移、備份和流轉(zhuǎn),各大云廠商也大都提供了自己的遷移工具 。本文主要介紹京東云數(shù)據(jù)庫為解決用戶數(shù)據(jù)遷移的常見場景所提供的解決方案 。
場景一:數(shù)據(jù)遷移上云數(shù)據(jù)遷移上云是最常見的一類場景,目前京東云提供了兩個DTS(Data Transformation Service)遷移工具供選擇,一個是數(shù)據(jù)遷移,一個是數(shù)據(jù)同步:
二者的主要區(qū)別如下:

京東云開發(fā)者|京東云RDS數(shù)據(jù)遷移常見場景攻略

文章插圖
下面是這兩個工具使用中的一些常見問題:
01 兩個遷移工具的原理是什么?
以MySQL為例,兩個工具都有全量遷移/增量遷移/數(shù)據(jù)校驗三個階段,這三個階段的主要原理如下:
全量階段:
數(shù)據(jù)遷移使用mysqldump --single-transaction來取得一致性快照,但無法保證非事務(wù)引擎表的數(shù)據(jù)一致性,加上增量才可以保證數(shù)據(jù)的最終一致性,這個過程是串行操作;
數(shù)據(jù)同步使用多表并行的select方式,根據(jù)主鍵順序分批獲取記錄,循環(huán)執(zhí)行,如果沒有主鍵,則進(jìn)行全表查詢 。為了最大限度減少對源實例的影響,這個過程不加鎖,也不用開啟事務(wù)獲得一致讀,因此全量期間遷移的數(shù)據(jù)是不一致的,通過增量階段可以達(dá)到最終一致性 。所以數(shù)據(jù)同步只提供了‘全量+增量’和‘增量’兩種選項,不提供單獨(dú)的‘全量’選項 。
增量階段:
數(shù)據(jù)遷移和數(shù)據(jù)同步一樣,都是通過遷移啟動前記錄的gtid點(diǎn)位,抓取對應(yīng)binlog同步apply到目標(biāo)端,二者區(qū)別在于遷移是串行的,同步會將同一個表的事務(wù)合并后一次提交,效率更高 。
數(shù)據(jù)校驗:
將源庫的數(shù)據(jù)分塊計算crc,每個塊的元數(shù)據(jù)和校驗信息記錄到目標(biāo)實例_jdts_check為前綴的庫下checksum表中 。目標(biāo)庫同步完成后根據(jù)同樣算法進(jìn)行計算,比較對應(yīng)塊號的crc值是否一致來判斷校驗是否成功 。
02 遷移速度可以調(diào)整嗎?
數(shù)據(jù)遷移不可以,數(shù)據(jù)同步可以選擇更大的遷移實例和增加更多的并發(fā)來調(diào)整,但由于并發(fā)機(jī)制是基于表粒度的,對于少量大表的情況,增加并發(fā)并不會有明顯作用 。
03 遷移進(jìn)度為什么顯示超過100%?
為了效率更高,遷移顯示的進(jìn)度是根據(jù)已經(jīng)遷移的記錄數(shù)除以數(shù)據(jù)字典記錄的記錄數(shù)顯示,數(shù)據(jù)字典的值并不完全準(zhǔn)確,因此理論上會出現(xiàn)進(jìn)度超過100%的現(xiàn)象 。
04 遷移延時為什么很長?
大多情況是源庫寫操作壓力大導(dǎo)致目標(biāo)庫binlog apply進(jìn)度趕不上源庫的寫入速度,也有可能是目標(biāo)庫讀寫壓力大或者遷移實例壓力大,具體需要聯(lián)系京東云技術(shù)服務(wù)及時介入 。
05 遷移期間目標(biāo)庫是否可以讀寫數(shù)據(jù)?
理論上可以讀寫,但不建議在遷移期間操作,主要有兩個弊端:
  • 寫入臟數(shù)據(jù)會導(dǎo)致校驗不一致 。
  • 讀寫數(shù)據(jù)會導(dǎo)致目標(biāo)庫壓力增大,減緩數(shù)據(jù)同步速度 。
06 目標(biāo)端如果有同名庫表是否會被覆蓋?
不會的,如果目標(biāo)庫庫表有數(shù)據(jù),預(yù)檢的時候會報錯不通過;如果是空的庫表,則可以直接寫入 。
07 自檢提示源或目標(biāo)庫網(wǎng)絡(luò)不通怎么辦?
檢查源庫和目標(biāo)庫的白名單限制,需要加上dts遷移實例的ip,在遷移任務(wù)配置的時候會在頁面提示 。
08 目標(biāo)庫中的_jdts為前綴的庫可以刪除嗎?
遷移完成可以刪除 。
09 可以從只讀實例同步嗎?
只要源實例是gtid方式復(fù)制的,都可以通過主實例或只讀實例同步 。
10 數(shù)據(jù)遷移選擇內(nèi)網(wǎng)時,為啥只能用json格式,不能圖形化選擇庫表?
因為數(shù)據(jù)遷移創(chuàng)建任務(wù)的時候,遷移實例還未創(chuàng)建,無法判斷內(nèi)網(wǎng)連通性;數(shù)據(jù)同步已經(jīng)做了改進(jìn),內(nèi)外網(wǎng)均可以通過圖形化方式選擇庫表 。

經(jīng)驗總結(jié)擴(kuò)展閱讀