日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用NimoFullCheck校驗遷移數據的一致性

NimoFullCheck是阿里云自主研發的用于檢驗源端DynamoDB和目的端MongoDB數據一致性的工具。本文檔介紹如何使用NimoFullCheck進行一致性校驗。

前提條件

您已通過NimoShakeDynamoDB遷移到阿里云數據庫。詳情請參見使用NimoShakeAmazon DynamoDB遷移至阿里云

背景信息

在通過NimoShakeDynamoDB遷移到阿里云數據庫之后,您可以使用NimoFullCheck工具對兩端的數據進行一致性校驗。

校驗主要分為如下兩個部分:

  • 輪廓校驗:輪廓校驗會對DynamoDB表以及MongoDB集合中數目的一致性進行校驗,如果數目不一致則直接退出,終止后續的校驗,并在屏幕上打印錯誤信息,便于您定位錯誤原因。

  • 精確校驗:輪廓校驗通過后會進入精確校驗階段。精確校驗從源端拉取數據并解析,如果有唯一索引則根據唯一索引對比MongoDB數據的一致性。如果沒有唯一索引則逐一對比兩端所有數據(速度較慢)。

注意事項

  • NimoFullCheck僅支持針對全量數據遷移的校驗。如果在增量同步階段使用NimoShake進行校驗,那么得到的結果必然是不一致。

  • NimoFullCheck僅支持單向校驗,即僅支持以MongoDB端的數據為基準對DynamoDB的數據進行一致性校驗。

操作步驟

本步驟以Ubuntu系統為例,介紹如何使用NimoFullCheck校驗DynamoDBMongoDB的一致性。

  1. 在系統中執行如下命令下載NimoShake包,等待下載完成。

    wget https://github.com/alibaba/NimoShake/releases/download/release-v1.0.0-20191015/nimo.tar.gz
    說明

    建議下載最新版本的NimoShake包,下載地址請參見NimoShake

  2. 執行如下命令解壓NimoShake包。

    tar zxvf nimo.tar.gz
  3. 解壓完成后,輸入cd nimo命令進入nimo文件夾。

  4. 執行如下格式的命令對NimoFullCheck注入必要參數并開始校驗。

    ./nimo-full-check.linux --<參數名>=<值> --<參數名>=<值>

    各參數的說明如下所示:NimoFullCheck參數

    參數名

    說明

    示例值

    id

    遷移任務ID。即您在使用NimoShake進行遷移的時候設置的ID,詳情請參見使用NimoShakeAmazon DynamoDB遷移至阿里云

    --id=nimo-shake

    logLevel

    日志的等級,取值:

    • none:不打印日志。

    • error:包含錯誤級別信息的日志。

    • warn:包含警告級別信息的日志。

    • info:反饋當前系統狀態的日志。

    • debug:包含調試信息的日志。

    默認值:info。

    --logLevel=info

    sourceAccessKeyID

    DynamoDB端的AccessKey ID。

    --sourceAccessKeyID=xxxxxxxxxx

    sourceSecretAccessKey

    DynamoDB端的AccessKey。

    --sourceSecretAccessKey=xxxxxxxxxx

    sourceSessionToken

    DynamoDB端的臨時密鑰,如沒有可以不配置。

    --sourceSessionToken=xxxxxxxxxx

    sourceRegion

    DynamoDB所屬的地域,如沒有可以不配置。

    --sourceRegion=us-east-2

    qpsFull

    Scan命令對表執行的頻率,表示每秒鐘最多調用多少次Scan。默認值:10000。

    --qpsFull=10000

    qpsFullBatchNum

    每秒拉取多少條數據。默認值:128。

    --qpsFullBatchNum=128

    targetAddress

    目的端MongoDB的連接地址。查看MongoDB的地址信息,請參見副本集實例連接說明分片集群實例連接說明

    地址示例:mongodb://username:password@s-*****-pub.mongodb.rds.aliyuncs.com:3717

    --targetAddress=mongodb://username:password@s-*****-pub.mongodb.rds.aliyuncs.com:3717

    diffOutputFile

    設置存儲差異化結果的文件名。如不填寫則默認為nimo-full-check-diff

    --diffOutputFile=nimo-full-check-diff

    parallel

    使用多少條線程進行一致性校驗。默認值:16。

    --parallel=16

    sample

    設置校驗時每個表采樣的頻率,0為對比表中所有內容。默認值:1000。(1000代表一個表中最多選取1000個文檔進行對比)

    --sample=1000

    filterCollectionWhite

    一致性校驗白名單。設置需要通過一致性校驗的表名。如--filterCollectionWhite = c1;c2表示僅對C1C2表進行一致性校驗,剩下的表全部過濾。

    --filterCollectionWhite=ci;c2

    filterCollectionBlack

    一致性校驗黑名單。設置不需要通過一致性校驗的表名。如--filterCollectionBlack = c1;c2表示除了C1C2表,剩下的表全部需要通過一致性校驗。

    --filterCollectionBlack=ci;c2

    convertType

    遷移階段是否對Dynamo協議進行了轉換。取值:

    • raw:不對Dynamo協議進行轉換,直接寫入。

    • change:對Dynamo協議進行轉換。如:將{"hello":"1"}轉換為{"hello": 1}

    說明

    需要和遷移階段中選擇的結果保持一致,如果不一致則檢驗失敗。

    --convertType=change

    version

    打印當前NimoFullCheck的版本號。

    說明

    此參數沒有值,如需打印NimoFullCheck版本號,直接加上--version字段即可。

    --version

    help

    顯示NimoFullCheck支持的所有參數信息。

    --help

    說明

    校驗成功后,屏幕上會打印full check done! ,如果中途出錯導致校驗終止,程序會自動關閉并在屏幕上打印對應的錯誤信息,便于您定位錯誤原因。