Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk melakukan migrasi skema, migrasi data penuh, dan migrasi data inkremental antar instans ApsaraDB RDS for PostgreSQL. Dengan menggabungkan ketiga jenis migrasi tersebut, Anda dapat melakukan migrasi database tanpa downtime.
Prasyarat
-
Anda telah membuat instans sumber dan tujuan ApsaraDB RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Buat instans ApsaraDB RDS for PostgreSQL.
Catatan-
Untuk informasi versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario migrasi.
-
Untuk memastikan kompatibilitas, database tujuan harus menjalankan versi yang sama atau lebih baru daripada database sumber. Migrasi data ke versi yang lebih lama dapat menyebabkan masalah kompatibilitas.
-
-
Instans tujuan ApsaraDB RDS for PostgreSQL harus memiliki ruang penyimpanan lebih besar daripada yang digunakan oleh instans sumber ApsaraDB RDS for PostgreSQL.
Catatan penggunaan
|
Jenis |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
Jangan mengubah endpoint koneksi atau zona instans sumber ApsaraDB RDS for PostgreSQL selama migrasi karena akan menyebabkan tugas gagal. |
Jenis migrasi
-
Migrasi skema
DTS memigrasikan definisi skema objek migrasi dari database sumber ke database tujuan.
-
Migrasi penuh
DTS memigrasikan semua data historis dari objek migrasi yang ditentukan dari database sumber ke database tujuan.
-
Migrasi inkremental
Setelah migrasi penuh selesai, DTS memigrasikan pembaruan data inkremental dari database sumber ke database tujuan. Migrasi inkremental memungkinkan Anda memigrasikan data secara lancar tanpa mengganggu aplikasi yang dikelola sendiri.
Objek yang didukung
-
skema dan tabel
CatatanIni mencakup primary key, unique key, foreign key, DATATYPE (tipe data bawaan), dan default constraint.
-
view, procedure (untuk PostgreSQL 11 atau lebih baru), function, rule, sequence, extension, trigger, aggregate, index, operator, dan domain
Operasi SQL yang didukung
Jenis operasi | Operasi SQL |
DML |
|
DDL |
|
Izin akun database
|
Database Instance |
Migrasi skema |
Migrasi data penuh |
Migrasi data inkremental |
|
instans sumber ApsaraDB RDS for PostgreSQL |
Izin USAGE pada skema |
Izin SELECT pada objek yang akan dimigrasikan. |
Akun istimewa yang merupakan pemilik database yang dipilih. Catatan
Jika instans sumber ApsaraDB RDS for PostgreSQL menjalankan PostgreSQL 9.4 dan Anda hanya perlu memigrasikan operasi DML, akun tersebut hanya memerlukan izin REPLICATION. |
|
instans tujuan ApsaraDB RDS for PostgreSQL |
Izin CREATE dan USAGE pada objek tujuan. |
Izin pemilik skema. |
|
Untuk membuat akun database untuk instans ApsaraDB RDS for PostgreSQL dan memberikan izinnya, lihat Buat akun dan Buat database.
Prosedur
-
Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.
Dari konsol DTS
-
Login ke konsol Data Transmission Service (DTS).
-
Di panel navigasi kiri, klik Data Migration.
-
Di pojok kiri atas halaman, pilih wilayah tempat instance migrasi berada.
Dari konsol DMS
CatatanOperasi aktual dapat berbeda tergantung mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
-
Login ke konsol Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instance migrasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
PeringatanSetelah memilih instans sumber dan tujuan, kami sarankan agar Anda membaca dengan cermat batasan yang ditampilkan di bagian atas halaman. Jika tidak, tugas dapat gagal atau terjadi ketidakkonsistenan data.
Bagian
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak perlu 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 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 terdaftar, konfigurasikan informasi database secara manual di bawah.
Database Type
Pilih PostgreSQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber ApsaraDB RDS for PostgreSQL berada.
Instance ID
Pilih ID instans sumber ApsaraDB RDS for PostgreSQL.
Database Name
Masukkan nama database di instans sumber ApsaraDB RDS for PostgreSQL yang berisi objek yang akan dimigrasikan.
Database Account
Masukkan akun database untuk instans sumber ApsaraDB RDS for PostgreSQL. Untuk informasi izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password untuk akun database.
Encryption
Menentukan apakah koneksi ke database sumber dienkripsi. Anda dapat mengonfigurasi parameter ini sesuai kebutuhan bisnis. Dalam contoh ini, Non-encrypted dipilih.
Jika Anda ingin membuat koneksi terenkripsi SSL ke database sumber, lakukan langkah-langkah berikut: Pilih SSL-encrypted, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, lalu tentukan Private Key Password of Client Certificate.
Catatan-
Jika Anda mengatur Encryption ke SSL-encrypted untuk database PostgreSQL yang dikelola sendiri, Anda harus mengunggah CA Certificate.
-
Jika Anda ingin menggunakan sertifikat klien, Anda harus mengunggah Client Certificate dan Private Key of Client Certificate serta menentukan Private Key Password of Client Certificate.
-
Untuk informasi cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL.
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 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 terdaftar, konfigurasikan informasi database secara manual di bawah.
Database Type
Pilih PostgreSQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans tujuan ApsaraDB RDS for PostgreSQL berada.
Instance ID
Pilih ID instans tujuan ApsaraDB RDS for PostgreSQL.
Database Name
Masukkan nama database di instans tujuan ApsaraDB RDS for PostgreSQL yang akan menerima objek yang dimigrasikan.
Database Account
Masukkan akun database untuk instans tujuan ApsaraDB RDS for PostgreSQL. Untuk informasi izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password untuk akun database.
Encryption
Menentukan apakah koneksi ke database sumber dienkripsi. Anda dapat mengonfigurasi parameter ini sesuai kebutuhan bisnis. Dalam contoh ini, Non-encrypted dipilih.
Jika Anda ingin membuat koneksi terenkripsi SSL ke database sumber, lakukan langkah-langkah berikut: Pilih SSL-encrypted, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, lalu tentukan Private Key Password of Client Certificate.
Catatan-
Jika Anda mengatur Encryption ke SSL-encrypted untuk database PostgreSQL yang dikelola sendiri, Anda harus mengunggah CA Certificate.
-
Jika Anda ingin menggunakan sertifikat klien, Anda harus mengunggah Client Certificate dan Private Key of Client Certificate serta menentukan Private Key Password of Client Certificate.
-
Untuk informasi cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
-
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang ingin dimigrasikan.
Parameter
Deskripsi
Migration Types
-
Untuk melakukan migrasi data penuh satu kali, pilih Schema Migration dan Full Data Migration.
-
Untuk melakukan migrasi dengan downtime minimal, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
Catatan-
Jika Anda memilih Schema Migration, DTS memigrasikan skema tabel yang akan dimigrasikan, termasuk foreign keys, dari database sumber ke database tujuan.
-
Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama migrasi untuk memastikan konsistensi data.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, precheck lolos. Jika ada tabel dengan nama yang sama, error dilaporkan selama precheck dan tugas migrasi data tidak dimulai.
CatatanJika tabel di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama tabel di database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
-
Ignore Errors and Proceed: Melewatkan pemeriksaan untuk tabel dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko bisnis. Misalnya:
-
Jika skema tabel konsisten dan catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber:
-
Selama migrasi penuh, DTS menyimpan catatan di database tujuan. Catatan dari database sumber tidak dimigrasikan.
-
Selama migrasi inkremental, DTS tidak menyimpan catatan di database tujuan. Catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi dapat gagal. Lanjutkan dengan hati-hati.
-
Source Objects
Di kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik
untuk memindahkannya ke kotak Selected Objects.Catatan-
Anda dapat memilih objek pada tingkat skema atau tabel. Jika Anda memilih tabel, objek lain seperti view, trigger, dan stored procedure tidak dimigrasikan.
-
Jika tabel yang akan dimigrasikan berisi kolom bertipe SERIAL dan Anda telah memilih Migration Types untuk Schema Migration, pilih juga Sequence atau migrasikan seluruh skema.
Selected Objects
-
Untuk mengubah nama satu objek migrasi di instans target, klik kanan objek tersebut di kotak Selected Objects. Untuk informasi selengkapnya, lihat Memetakan nama skema, tabel, dan kolom secara individu.
-
Untuk mengubah nama beberapa objek migrasi di instans target, klik Selected Objects di pojok kanan atas kotak Batch Edit. Untuk informasi selengkapnya, lihat Pemetaan nama skema, tabel, dan kolom ganda.
Catatan-
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang diganti namanya mungkin gagal dimigrasikan.
-
Untuk menetapkan klausa WHERE untuk memfilter data, klik kanan tabel di kotak Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Tetapkan kondisi filter.
-
Untuk memilih operasi SQL inkremental yang akan dimigrasikan pada tingkat database atau tabel, klik kanan objek di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
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 klaster 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 error dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan 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 instance DTS yang berbagi sumber atau tujuan yang sama, waktu percobaan ulang jaringan ditentukan oleh pengaturan tugas yang dibuat terakhir.
-
Karena Anda dikenai biaya untuk tugas selama periode percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan waktu percobaan ulang berdasarkan kebutuhan bisnis, atau segera merilis instance DTS setelah instance database sumber dan tujuan dirilis.
Retry Time for Other Issues
Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas, seperti exception eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan error dan segera mulai mencoba mengulang operasi tersebut. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan agar Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus kurang dari nilai Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis di 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 di database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Full Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instance migrasi berjalan.
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 di database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Incremental Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instance migrasi berjalan.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instance berdasarkan kebutuhan bisnis Anda. Contoh ini tidak memerlukan tag lingkungan.
Configure ETL
Pilih apakah akan mengaktifkan fitur extract, transform, and load (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan statement 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 sesuai 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 mengirim pemberitahuan peringatan.
-
-
Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.
Untuk informasi selengkapnya tentang fitur validasi data, lihat Konfigurasi validasi data.
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter konfigurasi instance ini saat memanggil Operasi API, arahkan pointer ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di balon 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 lolos Pemeriksaan Awal.
-
Jika Pemeriksaan Awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan prompt, 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 prompt, lalu jalankan Pemeriksaan Awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewatkan 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 instance.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih spesifikasi link untuk instance migrasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih kelompok sumber daya tempat instance tersebut berada. Nilai default adalah default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan spesifikasi migrasi dengan tingkat kinerja berbeda. Spesifikasi link memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link 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.
-
-