Anda dapat menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari MongoDB ke instans AnalyticDB for PostgreSQL. Topik ini menjelaskan cara memigrasikan data dari instans set replika ApsaraDB for MongoDB.
Prasyarat
Buat instans tujuan AnalyticDB for PostgreSQL. Ruang penyimpanan instans tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans sumber ApsaraDB for MongoDB. Untuk informasi selengkapnya, lihat Buat instans.
CatatanRuang penyimpanan instans tujuan sebaiknya setidaknya 10% lebih besar daripada ruang penyimpanan yang digunakan oleh database sumber.
Pada instans tujuan AnalyticDB for PostgreSQL, buat database, skema, dan tabel dengan kunci primer untuk data yang dimigrasikan. Untuk informasi selengkapnya, lihat Sintaksis SQL.
PentingPastikan tipe data pada tabel tujuan kompatibel dengan data MongoDB sumber. Misalnya, jika bidang
_iddi MongoDB bertipe data ObjectId, tipe data yang sesuai pada instans AnalyticDB for PostgreSQL harus berupa varchar.Nama kolom pada tabel tujuan instans AnalyticDB for PostgreSQL tidak boleh _id atau _value.
Jika instans sumber ApsaraDB for MongoDB merupakan kluster sharded, Anda harus mendapatkan titik akhir untuk semua node shard. Akun dan kata sandi database untuk setiap shard harus sama. Untuk informasi selengkapnya, lihat Ajukan titik akhir shard.
Catatan
Tipe | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Penagihan
Tipe migrasi | Biaya konfigurasi tautan | Biaya transfer data |
Migrasi data penuh | Gratis. | Contoh ini gratis. Jika Anda mengatur Access Method untuk database tujuan ke Public IP Address, Anda akan dikenai biaya untuk transfer data melalui Internet. |
Migrasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Tipe migrasi
Tipe migrasi | Deskripsi |
Migrasi penuh | Memigrasikan semua data historis objek migrasi dari instans sumber ApsaraDB for MongoDB ke instans tujuan AnalyticDB for PostgreSQL. |
Migrasi inkremental | Selain migrasi penuh, migrasi ini juga memindahkan pembaruan inkremental dari instans sumber ApsaraDB for MongoDB ke instans tujuan AnalyticDB for PostgreSQL. Catatan
|
Izin akun database yang diperlukan
Database | Migrasi penuh | Migrasi inkremental | Metode pembuatan dan otorisasi akun |
Sumber ApsaraDB for MongoDB | Izin baca pada database yang akan dimigrasikan. | Izin baca pada database yang akan dimigrasikan, database admin, dan database local. | |
Tujuan AnalyticDB for PostgreSQL | Izin baca dan tulis pada database tujuan. | Buat dan kelola pengguna dan Kelola izin pengguna. Catatan Anda dapat menggunakan akun awal atau akun dengan izin RDS_SUPERUSER. | |
Prosedur
-
Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.
Dari Konsol DTS
-
Masuk ke Konsol Data Transmission Service (DTS).
-
Pada panel navigasi di sebelah kiri, klik Data Migration.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS.
-
Masuk ke Konsol Data Management (DMS).
-
Pada bilah menu atas, pilih .
-
Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan.
Kategori
Konfigurasi
Deskripsi
Tidak ada
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah ini akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, parameter ini bernama Select a DMS database instance..
-
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans yang terdaftar, konfigurasikan informasi database secara manual di bawah ini.
Database Type
Tipe database sumber. Pilih MongoDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber ApsaraDB for MongoDB berada.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, instans database di bawah Akun Alibaba Cloud saat ini digunakan. Pilih No.
Architecture
Dalam contoh ini, Replica Set dipilih.
CatatanJika ApsaraDB for MongoDB sumber Anda adalah instans Sharded Cluster, Anda juga harus menentukan Shard account dan Shard password.
Migration Method
Pilih metode migrasi data inkremental berdasarkan situasi Anda.
Oplog (disarankan):
Tersedia jika Oplog diaktifkan pada database sumber.
CatatanOplog diaktifkan secara default untuk MongoDB yang dikelola sendiri dan ApsaraDB for MongoDB. Menggunakan Oplog menghasilkan latensi lebih rendah untuk tugas migrasi inkremental (pengambilan log lebih cepat), sehingga kami menyarankan memilih Oplog.
ChangeStream: Tersedia jika Change Streams (Change Streams) diaktifkan pada database sumber.
CatatanJika database sumber adalah Amazon DocumentDB (kluster non-elastis), Anda hanya dapat memilih ChangeStream.
Jika Architecture diatur ke Sharded Cluster, Anda tidak perlu memasukkan Shard account dan Shard password.
Instance ID
Pilih ID instans sumber ApsaraDB for MongoDB.
Authentication Database
Masukkan nama database tempat akun database sumber ApsaraDB for MongoDB berada. Nilai default-nya adalah admin.
Database Account
Masukkan akun database sumber ApsaraDB for MongoDB. Untuk informasi tentang izin yang diperlukan, lihat Izin akun database yang diperlukan.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
Encryption
DTS mendukung tiga jenis koneksi: Non-encrypted, SSL-encrypted, dan Mongo Atlas SSL. Opsi yang tersedia untuk parameter Encryption ditentukan oleh nilai yang dipilih untuk parameter Access Method dan Architecture. Opsi yang ditampilkan di Konsol DTS berlaku.
CatatanDatabase MongoDB dengan Architecture Sharded Cluster dan Migration Method Oplog tidak mendukung SSL-encrypted.
Jika database sumber adalah database MongoDB yang dikelola sendiri dengan Replica Set, Access Method tidak diatur ke Alibaba Cloud Instance, dan Anda telah memilih SSL-encrypted, Anda juga dapat mengunggah sertifikat otoritas sertifikasi (CA) untuk memverifikasi koneksi ke database sumber.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah ini akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, parameter ini bernama Select a DMS database instance..
-
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans yang terdaftar, konfigurasikan informasi database secara manual di bawah ini.
Database Type
Pilih AnalyticDB for PostgreSQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans tujuan AnalyticDB for PostgreSQL berada.
Instance ID
Pilih ID instans tujuan AnalyticDB for PostgreSQL.
Database Name
Masukkan nama database dalam instans tujuan AnalyticDB for PostgreSQL yang akan menerima objek yang dimigrasikan.
Database Account
Masukkan akun database tujuan AnalyticDB for PostgreSQL. Untuk informasi tentang izin yang diperlukan, lihat Izin akun database yang diperlukan.
Database Password
Masukkan kata sandi yang sesuai dengan akun database.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan segmen alamat IP layanan DTS telah ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers yang muncul.
-
Konfigurasikan objek tugas.
Pada halaman Configure Objects, konfigurasikan objek yang ingin dimigrasikan.
Konfigurasi
Deskripsi
Migration Types
-
Jika Anda hanya perlu melakukan migrasi penuh, pilih Full Data Migration.
-
Untuk melakukan migrasi tanpa downtime, pilih kedua opsi Full Data Migration dan Incremental Data Migration.
CatatanJika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama migrasi data untuk memastikan konsistensi data.
DDL and DML Operations to Be Synchronized
Pilih operasi untuk migrasi inkremental pada tingkat instans.
CatatanUntuk memilih operasi untuk migrasi inkremental pada tingkat koleksi, klik kanan objek migrasi di daftar Selected Objects dan centang kotak centang di kotak dialog.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah koleksi dengan nama yang sama ada di database tujuan. Jika tidak ada koleksi dengan nama yang sama, pemeriksaan awal berhasil. Jika ada koleksi dengan nama yang sama, kesalahan dilaporkan selama pemeriksaan awal, dan tugas migrasi data tidak dimulai.
CatatanJika koleksi di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama koleksi di database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
-
Ignore Errors and Proceed: Melewati pemeriksaan untuk koleksi dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko bisnis. Misalnya:
-
Jika catatan di database tujuan memiliki nilai kunci primer yang sama dengan catatan di database sumber, catatan di database tujuan tetap dipertahankan. Catatan dari database sumber tidak dimigrasikan ke database tujuan.
-
Inisialisasi data dapat gagal, hanya sebagian data yang dimigrasikan, atau migrasi gagal.
-
Source Objects
Pada kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih objek untuk dimigrasikan pada tingkat koleksi.
Selected Objects
Edit pemetaan nama database.
Klik kanan database yang berisi koleksi yang akan dimigrasikan di bagian Selected Objects.

Ubah Database Name menjadi nama skema yang akan menerima data di instans tujuan AnalyticDB for PostgreSQL.

Opsi: Di area Select DDL and DML Operations to Be Synchronized, pilih operasi yang diperlukan untuk migrasi inkremental.

Klik OK.
Edit pemetaan nama tabel.
Klik kanan koleksi yang akan dimigrasikan di bagian Selected Objects.

Ubah Table Name menjadi nama tabel yang akan menerima data di instans tujuan AnalyticDB for PostgreSQL.

Opsi: Atur kondisi filter. Untuk informasi selengkapnya, lihat Atur kondisi filter.

Opsi: Di bagian Select DDL and DML Operations to Be Synchronized, pilih operasi untuk migrasi inkremental.

Konfigurasikan bidang MongoDB yang akan dimigrasikan.
Secara default, DTS memetakan data koleksi yang akan dimigrasikan. Anda dapat mengonfigurasi ekspresi di kolom Assignment. Periksa apakah ekspresi tersebut memenuhi kebutuhan Anda dan konfigurasikan parameter seperti Column Name, Type, Length, dan Precision.
PentingKolom kunci primer tabel tujuan harus diberi nilai
bson_value("_id").Saat Anda mengonfigurasi ekspresi
bson_value(), Anda harus menentukan jalur hingga ke subbidang tingkat terendah. Jika tidak, kehilangan data atau kegagalan tugas dapat terjadi.
Di kolom Assignment, periksa ekspresi
bson_value()untuk mengidentifikasi bidang MongoDB yang sesuai.Bidang di dalam
""adalah nama bidang di MongoDB. Misalnya, jika ekspresinya adalahbson_value("age"), baris tersebut sesuai dengan bidangagedi MongoDB.Opsi: Hapus bidang yang tidak perlu dimigrasikan.
CatatanUntuk bidang yang tidak perlu dimigrasikan, Anda dapat mengklik
di ujung baris.Konfigurasikan bidang yang akan dimigrasikan.
Lakukan langkah-langkah berikut berdasarkan apakah ekspresi
bson_value()memenuhi kebutuhan Anda.Bidang dengan ekspresi yang benar
Masukkan Column Name.
CatatanIni adalah nama kolom di instans tujuan AnalyticDB for PostgreSQL yang akan menerima data.
Pilih Type data kolom.
PentingPastikan tipe data di tabel tujuan kompatibel dengan data MongoDB sumber.
Opsi: Konfigurasikan Length dan Precision untuk data kolom.
Ulangi langkah-langkah di atas untuk memetakan semua bidang yang relevan.
Bidang dengan ekspresi yang salah
CatatanMisalnya, bidang dengan struktur hierarkis (parent-child).
Di kolom Actions, klik
untuk entri tersebut.Klik + Add Column.

Konfigurasikan Column Name, Type, Length, dan Precision.
Di kotak teks di bawah Assignment, masukkan ekspresi
bson_value(). Untuk informasi selengkapnya, lihat Contoh Konfigurasi Penugasan.Ulangi langkah-langkah di atas untuk memetakan semua bidang yang relevan.
Klik OK.
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama. Anda tidak perlu memilihnya. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas migrasi DTS.
Retry Time for Failed Connections
Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi coba ulang default adalah 720 menit. Anda dapat menyesuaikan waktu coba ulang ke nilai antara 10 hingga 1440 menit. Kami menyarankan agar Anda mengatur durasi lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
Catatan-
Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu coba ulang jaringan ditentukan oleh pengaturan tugas yang dibuat terakhir.
-
Karena Anda dikenai biaya untuk tugas selama periode coba ulang koneksi, kami menyarankan agar Anda menyesuaikan waktu coba ulang berdasarkan kebutuhan bisnis Anda, atau segera lepaskan instans DTS setelah instans database sumber dan tujuan dilepaskan.
Retry Time for Other Issues
Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas, seperti pengecualian eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan kesalahan dan segera mulai mencoba mengulang operasi tersebut. Durasi coba ulang default adalah 10 menit. Anda dapat menyesuaikan waktu coba ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan agar Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi coba ulang yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus lebih kecil daripada nilai Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban pada database tujuan.
Catatan-
Item konfigurasi ini hanya tersedia jika Anda memilih Full Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instans migrasi sedang berjalan.
Only one data type for primary key _id in a table of the data to be synchronized
Menunjukkan apakah tipe data kunci primer
_idbersifat unik dalam koleksi yang sama pada data yang akan dimigrasikan.PentingPilih sesuai kebutuhan. Jika tidak, kehilangan data dapat terjadi.
Konfigurasi ini hanya tersedia jika Migration Types mencakup Full Data Migration.
Yes: Unik. Selama migrasi penuh, DTS tidak memindai tipe data kunci primer di database sumber. Untuk setiap koleksi, DTS hanya memigrasikan data yang sesuai dengan satu tipe data kunci primer.
No: Tidak unik. Selama migrasi penuh, DTS memindai tipe data kunci primer di database sumber dan memigrasikan semua data.
Enable Throttling for Incremental Data Migration
Jika diperlukan, Anda juga dapat memilih untuk mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban pada database tujuan.
Catatan-
Item konfigurasi ini hanya tersedia jika Anda memilih Incremental Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instans migrasi sedang berjalan.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Dalam contoh ini, tidak perlu pemilihan.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
-
No: Tidak mengatur peringatan.
-
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem akan mengirimkan pemberitahuan peringatan.
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter konfigurasi instans ini saat memanggil operasi API, arahkan penunjuk ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.
-
Jika Anda tidak perlu melihat atau telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya dimulai setelah lulus pemeriksaan awal.
-
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Jika peringatan dilaporkan selama pemeriksaan awal:
-
Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Pada halaman Purchase, pilih spesifikasi tautan untuk instans migrasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih kelompok sumber daya tempat instans tersebut berada. Nilai default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Manajemen Sumber Daya?
Instance Class
DTS menyediakan spesifikasi migrasi dengan tingkat kinerja berbeda. Spesifikasi tautan memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi tautan migrasi data.
-
Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK yang muncul, klik OK.
Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.
Catatan-
Jika tugas migrasi tidak mencakup migrasi inkremental, tugas akan berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.
-
Jika tugas migrasi mencakup migrasi inkremental, tugas tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.
-
-
Contoh konfigurasi nilai
Struktur data MongoDB sumber
{
"_id":"62cd344c85c1ea6a2a9f****",
"person":{
"name":"neo",
"age":26,
"sex":"male"
}
}Tujuan AnalyticDB for PostgreSQL skema tabel
Nama Kolom | Tipe |
mongo_id | varchar Catatan Kolom kunci primer. |
person_name | varchar |
person_age | decimal |
Konfigurasi Tambah Kolom
Anda harus mengonfigurasi ekspresi bson_value() dengan benar berdasarkan hierarki data. Jika tidak, kehilangan data atau kegagalan tugas dapat terjadi. Misalnya, jika Anda mengonfigurasi ekspresi sebagai bson_value("person"), DTS tidak dapat menulis perubahan inkremental untuk subbidang (`name`, `age`, dan `sex`) dari bidang person dari sumber ke tujuan.
Nama Kolom | Tipe | Penugasan |
mongo_id | STRING | bson_value("_id") |
person_name | STRING | bson_value("person","name") |
person_age | DECIMAL | bson_value("person","age") |