All Products
Search
Document Center

ApsaraDB for MongoDB:Gunakan\ NimoFullCheck\ untuk\ memverifikasi\ konsistensi\ data\ setelah\ migrasi

Last Updated:Mar 29, 2026

Setelah menyelesaikan migrasi data dari Amazon DynamoDB ke ApsaraDB for MongoDB, Anda perlu memverifikasi bahwa seluruh record telah ditransfer dengan benar. NimoFullCheck adalah alat Alibaba Cloud yang mengotomatiskan proses verifikasi ini melalui pemeriksaan konsistensi dua fase antara kedua database tersebut.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Batasan

NimoFullCheck hanya mendukung pemeriksaan konsistensi untuk migrasi data penuh. Menjalankan pemeriksaan setelah sinkronisasi data inkremental akan menghasilkan hasil yang tidak konsisten.

Cara kerja NimoFullCheck

NimoFullCheck menggunakan ApsaraDB for MongoDB sebagai garis dasar dan memverifikasi apakah data di Amazon DynamoDB sesuai dengannya. Pemeriksaan ini dilakukan dalam dua fase berurutan:

  1. Pemeriksaan singkat: Membandingkan jumlah item di setiap tabel DynamoDB dengan jumlah dokumen di koleksi ApsaraDB for MongoDB yang sesuai. Jika jumlahnya berbeda, pemeriksaan akan dihentikan dan mengembalikan error.

  2. Pemeriksaan presisi: Dijalankan setelah pemeriksaan singkat berhasil. NimoFullCheck mengambil dan mengurai data dari Amazon DynamoDB, lalu membandingkannya dengan ApsaraDB for MongoDB:

    • Jika data berisi unique indexes, NimoFullCheck membandingkan record berdasarkan indeks tersebut.

    • Jika data tidak memiliki unique indexes, NimoFullCheck membandingkan semua entri satu per satu. Proses ini lebih lambat.

Jalankan NimoFullCheck

Catatan Langkah-langkah berikut mengasumsikan Anda menjalankan NimoFullCheck di Ubuntu.
  1. Unduh paket NimoShake.

    Catatan Unduh paket NimoShake terbaru dari NimoShake releases.
    wget https://github.com/alibaba/NimoShake/releases/download/release-v1.0.0-20191015/nimo.tar.gz
  2. Ekstrak paket tersebut.

    tar zxvf nimo.tar.gz
  3. Masuk ke direktori nimo.

    cd nimo
  4. Jalankan NimoFullCheck dengan parameter yang diperlukan.

    ./nimo-full-check.linux --<Parameter 1>=<Value 1> --<Parameter 2>=<Value 2>

    Tabel berikut menjelaskan parameter-parameter tersebut.

    NimoFullCheck parameters

    ParameterDeskripsiContoh
    idID task migrasi. Atur nilai ini sama dengan ID task yang Anda tentukan saat menjalankan NimoShake. Untuk detailnya, lihat Migrasikan database Amazon DynamoDB ke ApsaraDB for MongoDB menggunakan NimoShake.--id=nimo-shake
    logLevelTingkat log. Nilai yang valid: none, error, warn, info, debug. Default: info.--logLevel=info
    sourceAccessKeyIDAccess key ID untuk menghubungkan ke database Amazon DynamoDB sumber.--sourceAccessKeyID=xxxxxxxxxx
    sourceSecretAccessKeySecret access key untuk menghubungkan ke database Amazon DynamoDB sumber.--sourceSecretAccessKey=xxxxxxxxxx
    sourceSessionToken(Opsional) Token session untuk mengakses database Amazon DynamoDB sumber.--sourceSessionToken=xxxxxxxxxx
    sourceRegion(Opsional) Wilayah tempat database Amazon DynamoDB sumber berada.--sourceRegion=us-east-2
    qpsFullJumlah eksekusi perintah Scan pada tabel per detik. Default: 10000.--qpsFull=10000
    qpsFullBatchNumJumlah entri data yang diambil per detik. Default: 128.--qpsFullBatchNum=128
    targetAddressTitik akhir database ApsaraDB for MongoDB tujuan. Untuk detail cara melihat titik akhir, lihat Hubungkan ke instans set replika atau Hubungkan ke instansi kluster sharded.--targetAddress=mongodb://username:password@s-*****-pub.mongodb.rds.aliyuncs.com:3717
    diffOutputFileNama file yang menyimpan data yang tidak konsisten. Default: nimo-full-check-diff.--diffOutputFile=nimo-full-check-diff
    parallelJumlah thread yang digunakan untuk pemeriksaan konsistensi. Default: 16.--parallel=16
    sampleJumlah maksimum dokumen yang diperiksa per koleksi. Atur ke 0 untuk memeriksa semua dokumen. Default: 1000.--sample=1000
    filterCollectionWhiteDaftar izin nama koleksi yang dipisahkan dengan titik koma untuk diperiksa. Hanya koleksi yang tercantum yang akan diperiksa.--filterCollectionWhite=ci;c2
    filterCollectionBlackDaftar larangan nama koleksi yang dipisahkan dengan titik koma untuk dikecualikan. Semua koleksi kecuali yang tercantum akan diperiksa.--filterCollectionBlack=ci;c2
    convertTypeApakah data sumber dikonversi selama migrasi. Nilai yang valid: raw (tidak dikonversi), change (dikonversi — misalnya, {"hello":"1"} menjadi {"hello": 1}). Nilai ini harus sesuai dengan nilai yang Anda atur selama migrasi; jika tidak, pemeriksaan akan gagal.--convertType=change
    versionMenampilkan nomor versi NimoFullCheck. Tidak memerlukan nilai.--version
    helpMenampilkan semua parameter yang didukung.--help

Interpretasi hasil

  • Berhasil: NimoFullCheck mencetak full check done! ketika pemeriksaan selesai tanpa error.

  • Gagal: NimoFullCheck keluar dan mengembalikan pesan error. Tinjau pesan error tersebut untuk mengidentifikasi masalahnya.