全部产品
Search
文档中心

Data Transmission Service:Migrasi data dari database PostgreSQL yang dikelola sendiri ke AnalyticDB for PostgreSQL

更新时间:Nov 21, 2025

Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari database PostgreSQL yang dikelola sendiri ke instans AnalyticDB for PostgreSQL.

Prasyarat

  • Anda telah membuat instans tujuan AnalyticDB for PostgreSQL. Untuk informasi selengkapnya, lihat Buat instans.

    Catatan

    Untuk informasi mengenai versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario migrasi data.

  • Ruang disk yang tersedia pada instans tujuan AnalyticDB for PostgreSQL lebih besar daripada ruang disk yang digunakan oleh database PostgreSQL yang dikelola sendiri sebagai sumber.

Perhatian

Catatan
  • Selama migrasi skema, DTS memigrasikan kunci asing dari database sumber ke database tujuan.

  • Selama migrasi data penuh dan migrasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala dan operasi kaskade pada kunci asing di tingkat sesi. Jika Anda melakukan operasi pembaruan dan penghapusan kaskade pada database sumber selama migrasi data, ketidakkonsistenan data dapat terjadi.

Kategori

Deskripsi

Batasan database sumber

  • Server yang menghosting database sumber harus memiliki bandwidth keluar yang cukup. Jika tidak, kecepatan migrasi data akan terpengaruh.

  • Tabel yang akan dimigrasikan harus memiliki kunci primer atau kendala UNIK, dan kolom dalam kendala tersebut harus unik. Jika tidak, data duplikat mungkin muncul di database tujuan.

    Catatan

    Jika tabel tujuan tidak dibuat oleh DTS (yaitu, Anda tidak memilih Schema Migration untuk Migration Types), Anda harus memastikan bahwa tabel tersebut memiliki kunci primer atau kendala UNIK yang tidak kosong sama seperti tabel sumber. Jika tidak, data duplikat mungkin muncul di database tujuan.

    Nama database yang akan dimigrasikan tidak boleh mengandung tanda hubung (-). Misalnya, dts-testdata.

  • Jika Anda memigrasikan objek di tingkat tabel dan perlu mengeditnya, seperti dengan memetakan nama tabel atau kolom, satu tugas migrasi data mendukung maksimal 1.000 tabel. Jika Anda melebihi batas ini, kesalahan permintaan akan dilaporkan setelah Anda mengirimkan tugas. Dalam kasus ini, bagi tabel menjadi beberapa tugas migrasi, atau konfigurasikan satu tugas untuk memigrasikan seluruh database.

  • Untuk migrasi inkremental, perhatikan persyaratan berikut untuk file write-ahead log (WAL):

    • Atur parameter wal_level ke logical.

    • Untuk tugas migrasi inkremental, DTS mengharuskan database sumber menyimpan file WAL selama lebih dari 24 jam. Untuk tugas yang mencakup migrasi penuh dan inkremental, DTS mengharuskan database sumber menyimpan file WAL setidaknya selama tujuh hari. Setelah migrasi penuh selesai, Anda dapat mengubah periode retensi menjadi lebih dari 24 jam. Jika periode retensi terlalu singkat, tugas mungkin gagal karena DTS tidak dapat memperoleh file WAL yang diperlukan. Dalam kasus ekstrem, hal ini dapat menyebabkan ketidakkonsistenan data atau kehilangan data. Masalah yang disebabkan oleh periode retensi log yang lebih pendek dari yang dipersyaratkan tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

  • Batasan operasi di database sumber:

    • Jika Anda melakukan alih bencana primer/sekunder pada database PostgreSQL yang dikelola sendiri, tugas migrasi akan gagal.

    • Selama migrasi data penuh, jangan lakukan operasi DDL untuk mengubah skema database atau tabel. Jika tidak, tugas migrasi data akan gagal.

    • Karena batasan replikasi logis di database sumber, jika satu bagian data inkremental yang akan dimigrasikan melebihi 256 MB selama migrasi, instans DTS mungkin gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans DTS.

    • Jika Anda hanya melakukan migrasi data penuh, jangan menulis data baru ke database sumber. Jika tidak, data di database sumber dan tujuan akan tidak konsisten. Untuk menjaga konsistensi data secara real-time, pilih migrasi data penuh dan migrasi data inkremental.

  • Jika database sumber memiliki transaksi jangka panjang dan tugas mencakup migrasi inkremental, file WAL yang dihasilkan sebelum transaksi dikomit dapat menumpuk. Hal ini dapat menyebabkan ruang disk database sumber menjadi tidak mencukupi.

  • Jika instans sumber adalah Google Cloud Platform Cloud SQL for PostgreSQL, Anda harus menentukan akun yang memiliki izin cloudsqlsuperuser untuk Database Account database sumber. Saat memilih objek migrasi, Anda harus memilih objek yang dikelola oleh akun ini, atau berikan izin Pemilik kepada akun ini untuk objek yang akan dimigrasikan (misalnya, dengan menjalankan perintah GRANT <owner_of_objects_to_migrate> TO <source_db_account_for_task> agar akun ini dapat menjalankan operasi terkait sebagai pemilik objek).

    Catatan

    Akun dengan izin `cloudsqlsuperuser` tidak dapat mengelola data yang dimiliki oleh akun lain dengan izin `cloudsqlsuperuser`.

  • Jika Anda melakukan peningkatan versi mesin utama pada database sumber saat instans DTS sedang berjalan, instans akan gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans DTS.

Batasan lainnya

  • Tabel tujuan tidak boleh merupakan tabel append-optimized (AO).

  • Migrasi objek DATATYPE, SEQUENCE, INDEX, PROCEDURE, FUNCTION, VIEW, OPERATOR, DEFAULT_CONSTRAINT, UK, PK, RULE, DOMAIN, AGGREGATE, EXTENSION, FK, dan TRIGGER tidak didukung.

  • Jika Anda menggunakan pemetaan kolom untuk migrasi tabel parsial atau jika skema tabel sumber dan tujuan tidak konsisten, data di kolom yang ada di database sumber tetapi tidak ada di database tujuan akan hilang.

  • Jika instans DTS melakukan tugas migrasi data inkremental, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel yang akan dimigrasikan di database sumber sebelum menulis data ke dalamnya. Hal ini berlaku untuk dua skenario berikut dan memastikan konsistensi data. Selama eksekusi perintah ini, kami menyarankan agar Anda tidak melakukan operasi penguncian tabel. Jika tidak, tabel mungkin terkunci. Jika Anda melewati pemeriksaan terkait dalam Pemeriksaan Awal, DTS akan secara otomatis menjalankan perintah ini selama inisialisasi instans.

    • Saat instans dijalankan pertama kali.

    • Saat granularitas objek migrasi adalah Skema, dan tabel baru dibuat dalam skema yang akan dimigrasikan atau tabel yang akan dimigrasikan dibangun ulang menggunakan perintah RENAME.

    Catatan
    • Dalam perintah tersebut, ganti schema dan table dengan nama skema dan nama tabel dari data yang akan dimigrasikan.

    • Kami menyarankan agar Anda melakukan operasi ini di luar jam sibuk.

  • DTS membuat tabel sementara berikut di database sumber untuk memperoleh pernyataan DDL dari data inkremental, skema tabel inkremental, dan informasi heartbeat. Selama migrasi data, jangan menghapus tabel sementara di database sumber. Jika tidak, tugas DTS mungkin menjadi abnormal. Setelah instans DTS dilepas, tabel sementara akan dihapus secara otomatis.

    public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, dan public.aliyun_dts_instance.

  • Untuk memastikan akurasi latensi yang ditampilkan untuk migrasi data inkremental, DTS membuat tabel heartbeat bernama dts_postgres_heartbeat di database sumber.

  • Selama migrasi data inkremental, DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Dengan menggunakan slot replikasi ini, DTS dapat mengambil log inkremental dari database sumber dari 15 menit terakhir.

    Catatan

    Jika tugas migrasi data dilepas atau gagal, DTS akan secara otomatis membersihkan slot replikasi. Jika terjadi alih bencana primer/sekunder pada instans RDS for PostgreSQL, Anda harus masuk ke database sekunder untuk membersihkan slot replikasi secara manual.

  • Satu tugas migrasi data hanya dapat memigrasikan data dari satu database. Untuk memigrasikan data dari beberapa database, Anda harus membuat tugas migrasi data untuk setiap database.

  • DTS tidak mendukung migrasi tabel ekstensi TimescaleDB atau tabel dengan pewarisan lintas-skema.

  • Jika tabel yang akan dimigrasikan berisi kunci primer, kolom kunci primer di tabel tujuan harus sama dengan tabel sumber. Jika tabel yang akan dimigrasikan tidak berisi kunci primer, kolom kunci primer dan kunci distribusi di tabel tujuan harus sama.

  • Kunci unik (berisi kolom kunci primer) di tabel tujuan harus mencakup semua kolom dari kunci distribusinya.

  • Sebelum memigrasikan data, evaluasi kinerja database sumber dan tujuan. Migrasikan data di luar jam sibuk. Selama migrasi data penuh, DTS mengonsumsi sumber daya baca dan tulis di kedua database sumber dan tujuan. Hal ini dapat meningkatkan beban server database.

  • Migrasi data penuh melibatkan operasi INSERT konkuren, yang menyebabkan fragmentasi pada tabel database tujuan. Setelah migrasi penuh selesai, ruang penyimpanan yang digunakan oleh tabel di database tujuan lebih besar daripada di database sumber.

  • Pastikan bahwa presisi migrasi untuk kolom FLOAT atau DOUBLE memenuhi kebutuhan bisnis Anda. DTS membaca nilai dari kolom-kolom ini menggunakan fungsi ROUND(COLUMN,PRECISION). Jika Anda tidak menentukan presisi, DTS menggunakan presisi 38 digit untuk FLOAT dan 308 digit untuk DOUBLE.

  • DTS mencoba melanjutkan tugas migrasi data yang gagal dalam tujuh hari terakhir. Sebelum mengalihkan bisnis Anda ke instans tujuan, hentikan atau lepaskan tugas tersebut. Anda juga dapat menggunakan perintah revoke untuk mencabut izin tulis dari akun yang digunakan DTS untuk mengakses instans tujuan. Hal ini mencegah data sumber menimpa data tujuan jika tugas dilanjutkan secara otomatis.

  • DTS memvalidasi konten data tetapi tidak mendukung validasi metadata, seperti Sequences. Anda harus memvalidasi metadata tersebut sendiri.

  • Setelah Anda mengalihkan bisnis ke instans tujuan, sequence yang baru ditulis tidak akan bertambah dari nilai maksimum sequence di database sumber. Sebelum alih bencana, Anda harus mengkueri nilai maksimum sequence yang sesuai di database sumber, lalu menetapkannya sebagai nilai awal sequence yang sesuai di database tujuan. Perintah berikut mengkueri nilai sequence di database sumber:

    do language plpgsql $$
    declare
      nsp name;
      rel name;
      val int8;
    begin
      for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S'
      loop
        execute format($_$select last_value from %I.%I$_$, nsp, rel) into val;
        raise notice '%',
        format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1);
      end loop;
    end;
    $$;
    Catatan

    Pernyataan SQL yang dihasilkan oleh perintah di atas berisi semua sequence di database sumber. Jalankan pernyataan tersebut di database tujuan sesuai kebutuhan.

  • Jika sebuah instans gagal, tim dukungan DTS akan mencoba memulihkan instans tersebut dalam waktu 8 jam. Selama proses pemulihan, operasi seperti me-restart instans atau menyesuaikan parameternya mungkin dilakukan.

    Catatan

    Saat parameter disesuaikan, hanya parameter instans DTS yang dimodifikasi. Parameter di database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk namun tidak terbatas pada yang dijelaskan dalam Memodifikasi parameter instans.

  • Saat memigrasikan tabel partisi, Anda harus menyertakan baik tabel induk maupun partisi anaknya sebagai objek sinkronisasi. Jika tidak, ketidakkonsistenan data dapat terjadi pada tabel partisi.

    Catatan

    Tabel induk dari tabel partisi PostgreSQL tidak menyimpan data secara langsung. Semua data disimpan di partisi anak. Tugas sinkronisasi harus mencakup tabel induk dan semua partisi anaknya. Jika tidak, data di partisi anak mungkin tidak disinkronkan, sehingga menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

Penagihan

Jenis migrasi

Biaya konfigurasi instans

Biaya lalu lintas Internet

Migrasi skema dan migrasi data penuh

Gratis.

Saat parameter Access Method dari database tujuan diatur ke Public IP Address, Anda akan dikenai biaya lalu lintas internet. Untuk informasi selengkapnya, lihat Tinjauan penagihan.

Migrasi data inkremental

Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Jenis migrasi

  • Migrasi skema

    DTS memigrasikan skema objek yang dipilih dari database sumber ke database tujuan.

  • Migrasi data penuh

    DTS memigrasikan data historis objek yang diperlukan dari database sumber ke database tujuan.

  • Migrasi data inkremental

    Setelah migrasi data penuh selesai, DTS memigrasikan data inkremental dari database sumber ke database tujuan. Migrasi data inkremental memungkinkan data dimigrasikan dengan lancar tanpa mengganggu layanan aplikasi yang dikelola sendiri selama migrasi data.

Operasi SQL yang mendukung migrasi inkremental

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, dan DELETE

Catatan

Saat data ditulis ke instans tujuan AnalyticDB for PostgreSQL, pernyataan UPDATE secara otomatis dikonversi menjadi pernyataan REPLACE INTO. Jika pernyataan UPDATE dieksekusi pada kunci primer, pernyataan UPDATE dikonversi menjadi pernyataan DELETE dan INSERT.

DDL

  • Operasi DDL hanya dapat dimigrasikan dalam tugas migrasi data yang dibuat setelah 1 Oktober 2020.

    Penting
  • Akun database sumber harus merupakan akun istimewa. DTS mendukung pernyataan DDL berikut dalam tugas migrasi data:

    • CREATE TABLE dan DROP TABLE

    • ALTER TABLE, termasuk RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, dan ALTER COLUMN DROP DEFAULT

    • TRUNCATE TABLE (Versi mesin database klaster PolarDB for PostgreSQL sumber harus PostgreSQL V11 atau lebih baru.)

    • CREATE INDEX ON TABLE

    Penting
    • Anda tidak dapat memigrasikan informasi tambahan dari pernyataan DDL, seperti CASCADE atau RESTRICT.

    • Anda tidak dapat memigrasikan pernyataan DDL dari sesi yang menjalankan pernyataan SET session_replication_role = replica.

    • Anda tidak dapat memigrasikan pernyataan DDL yang dieksekusi dengan memanggil fungsi.

    • Jika pernyataan SQL yang dikirimkan oleh database sumber sekaligus berisi pernyataan DML dan DDL, DTS tidak akan memigrasikan pernyataan DDL tersebut.

    • Jika pernyataan SQL yang dikirimkan oleh database sumber sekaligus berisi pernyataan DDL yang tidak akan dimigrasikan, DTS tidak akan memigrasikan pernyataan DDL tersebut.

    • Pernyataan CREATE SEQUENCE tidak didukung.

Izin yang diperlukan untuk akun database

Database

Migrasi skema

Migrasi penuh

Migrasi inkremental

PostgreSQL yang dikelola sendiri

Izin USAGE pada pg_catalog.

Izin untuk pernyataan SELECT pada objek migrasi.

Izin superuser.

AnalyticDB for PostgreSQL

Izin pemilik skema.

Catatan

Anda juga dapat menggunakan akun awal.

Untuk membuat akun database dan memberikan izin:

Persiapan

Catatan
  • Untuk informasi selengkapnya tentang cara melakukan persiapan jika database sumber Anda adalah instans Amazon RDS for PostgreSQL, lihat bagian Sebelum memulai pada topik "Migrasi data inkremental dari instans Amazon RDS for PostgreSQL ke instans ApsaraDB RDS for PostgreSQL". Untuk informasi selengkapnya tentang cara melakukan persiapan jika database sumber Anda adalah instans Amazon Aurora PostgreSQL, lihat bagian Persiapan 1: Edit aturan masuk instans Amazon Aurora PostgreSQL pada topik "Migrasi data penuh dari instans Amazon Aurora PostgreSQL ke instans ApsaraDB RDS for PostgreSQL".

  • Dalam contoh ini, digunakan database PostgreSQL yang dikelola sendiri yang berjalan di server Linux.

Jika versi database PostgreSQL yang dikelola sendiri adalah 10.1 atau lebih baru, Anda harus melakukan operasi berikut sebelum mengonfigurasi tugas migrasi data.

  1. Masuk ke server tempat database PostgreSQL yang dikelola sendiri berada.

  2. Modifikasi file konfigurasi postgresql.conf. Atur parameter wal_level ke logical, dan pastikan nilai parameter max_wal_senders dan max_replication_slots lebih besar dari jumlah total slot replikasi yang digunakan di database PostgreSQL yang dikelola sendiri ditambah jumlah instans DTS yang menggunakan database tersebut sebagai sumber.

    # - Settings -
    
    wal_level = logical			# minimal, replica, or logical
    					# (change requires restart)
    
    ......
    
    # - Sending Server(s) -
    
    # Set these on the master and on any standby that will send replication data.
    
    max_wal_senders = 10		# max number of walsender processes
    				# (change requires restart)
    #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
    #wal_sender_timeout = 60s	# in milliseconds; 0 disables
    
    max_replication_slots = 10	# max number of replication slots
    				# (change requires restart)
    Catatan

    Setelah memodifikasi file konfigurasi, restart database PostgreSQL yang dikelola sendiri agar pengaturan parameter berlaku.

  3. Tambahkan blok CIDR server DTS ke file konfigurasi pg_hba.conf database PostgreSQL yang dikelola sendiri. Tambahkan hanya blok CIDR server DTS yang berada di wilayah yang sama dengan database tujuan. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.

    Catatan
    • Setelah memodifikasi file konfigurasi, jalankan pernyataan SELECT pg_reload_conf(); atau restart database PostgreSQL yang dikelola sendiri agar pengaturan parameter berlaku.

    • Untuk informasi selengkapnya tentang file konfigurasi pg_hba.conf, lihat The pg_hba.conf File. Lewati langkah ini jika Anda telah mengatur alamat IP di file pg_hba.conf menjadi 0.0.0.0/0. Gambar berikut menunjukkan konfigurasinya.

    IP

  4. Buat database dan skema yang sesuai di klaster tujuan berdasarkan informasi database dan skema objek yang akan dimigrasikan.

Jika versi database PostgreSQL yang dikelola sendiri adalah 9.4.8 hingga 10.0, Anda harus melakukan operasi berikut sebelum mengonfigurasi tugas migrasi data:

  1. Unduh kode sumber PostgreSQL dari situs web resmi, kompilasi kode sumber, dan instal PostgreSQL.

    1. Unduh kode sumber dari situs web resmi PostgreSQL berdasarkan versi database PostgreSQL yang dikelola sendiri.

    2. Jalankan perintah sudo ./configure, sudo make, dan sudo make install secara berurutan untuk mengonfigurasi dan mengompilasi kode sumber, lalu menginstal PostgreSQL.

      Penting
      • Saat mengompilasi dan menginstal PostgreSQL, versi OS PostgreSQL harus konsisten dengan versi GNU compiler collection (GCC).

      • Jika terjadi kesalahan saat menjalankan perintah sudo ./configure, Anda dapat memodifikasi perintah berdasarkan pesan kesalahan. Misalnya, jika pesan kesalahan adalah readline library not found. Use --without-readline to disable readline support., Anda dapat memodifikasi perintah menjadi sudo ./configure --without-readline.

      • Jika Anda menggunakan metode lain untuk menginstal PostgreSQL, Anda harus mengompilasi plugin ali_decoding di lingkungan pengujian yang memiliki versi sistem operasi dan versi GCC yang sama.

  2. Unduh plugin ali_decoding yang disediakan oleh DTS, lalu kompilasi dan instal plugin tersebut.

    1. Unduh ali_decoding.

    2. Salin direktori ali_decoding ke direktori contrib PostgreSQL yang telah dikompilasi dan diinstal.

      contrib目录

    3. Masuk ke direktori ali_decoding dan ganti isi file Makefile dengan skrip berikut:

      # contrib/ali_decoding/Makefile
      MODULE_big = ali_decoding
      MODULES = ali_decoding
      OBJS    = ali_decoding.o
      
      DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
      
      EXTENSION = ali_decoding
      
      NAME = ali_decoding
      
      #subdir = contrib/ali_decoding
      #top_builddir = ../..
      #include $(top_builddir)/src/Makefile.global
      #include $(top_srcdir)/contrib/contrib-global.mk
      
      #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
      #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
      #PGXS := $(shell $(PG_CONFIG) --pgxs)
      #include $(PGXS)
      
      # Run the following commands to install the ali_decoding plug-in:
      ifdef USE_PGXS
      PG_CONFIG = pg_config
      PGXS := $(shell $(PG_CONFIG) --pgxs)
      include $(PGXS)
      else
      subdir = contrib/ali_decoding
      top_builddir = ../..
      include $(top_builddir)/src/Makefile.global
      include $(top_srcdir)/contrib/contrib-global.mk
      endif
    4. Masuk ke direktori ali_decoding, lalu jalankan perintah sudo make dan sudo make install secara berurutan untuk mengompilasi plugin ali_decoding dan mendapatkan file yang diperlukan untuk menginstal plugin tersebut.

    5. Salin file ke direktori yang ditentukan.

      指定位置

  3. Buat database dan skema yang sesuai di klaster tujuan berdasarkan informasi database dan skema objek yang akan dimigrasikan.

Prosedur

  1. Gunakan salah satu metode berikut untuk membuka halaman Migrasi Data dan pilih wilayah tempat instans migrasi data berada.

    Konsol DTS

    1. Masuk ke Konsol DTS.

    2. Di panel navigasi sebelah kiri, klik Data Migration.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi data berada.

    Konsol DMS

    Catatan

    Operasi aktual mungkin berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Menyesuaikan tata letak dan gaya konsol DMS.

    1. Masuk ke Konsol DMS.

    2. Di bilah navigasi atas, arahkan kursor ke Data + AI > DTS (DTS) > Data Migration.

    3. Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans sinkronisasi data berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter-parameter tersebut.

    Peringatan

    Setelah memilih instans sumber dan tujuan, kami sarankan agar Anda membaca seksama bagian Limits di bagian atas halaman. Hal ini membantu memastikan Anda dapat berhasil membuat dan menjalankan tugas migrasi.

    Kategori

    Konfigurasi

    Deskripsi

    N/A

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama yang informatif sehingga mudah mengidentifikasi tugas tersebut. Anda tidak perlu menentukan nama tugas yang unik.

    Source Database

    Select Existing Connection

    • Jika Anda menggunakan instans database yang telah didaftarkan ke DTS, pilih instans tersebut dari daftar drop-down. DTS akan secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.

      Catatan

      Di konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instans ke DTS, atau tidak perlu menggunakan instans yang telah didaftarkan ke DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Pilih PostgreSQL.

    Access Method

    Pilih lokasi penerapan database sumber. Topik ini menggunakan Self-managed Database on ECS sebagai contoh untuk menjelaskan proses konfigurasi.

    Catatan

    Jika Anda memilih metode lain untuk mengakses database yang dikelola sendiri, Anda harus melakukan persiapan yang sesuai. Untuk informasi lebih lanjut, lihat Persiapan.

    Instance Region

    Pilih wilayah tempat database PostgreSQL yang dikelola sendiri berada.

    ECS Instance ID

    Masukkan ID instans ECS tempat database PostgreSQL yang dikelola sendiri diterapkan.

    Port Number

    Port layanan database PostgreSQL yang dikelola sendiri. Nilai default: 5432.

    Database Name

    Masukkan nama database di database PostgreSQL yang dikelola sendiri tempat objek migrasi berada.

    Database Account

    Masukkan akun database PostgreSQL yang dikelola sendiri. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses instans database.

    Encryption

    Tentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini berdasarkan kebutuhan bisnis Anda. 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 Enkripsi 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 tentang cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL.

    Destination Database

    Select Existing Connection

    • Jika Anda menggunakan instans database yang telah didaftarkan ke DTS, pilih instans tersebut dari daftar drop-down. DTS akan secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.

      Catatan

      Di konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instans ke DTS, atau tidak perlu menggunakan instans yang telah didaftarkan ke DTS, Anda harus mengonfigurasi informasi database berikut.

    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 di instans tujuan AnalyticDB for PostgreSQL tempat objek migrasi berada.

    Database Account

    Masukkan akun database instans tujuan AnalyticDB for PostgreSQL. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses instans database.

  4. Klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan agar 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 dan Access Method-nya tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasikan objek yang akan dimigrasikan.

    1. Konfigurasikan objek yang akan dimigrasikan.

      Konfigurasi

      Deskripsi

      Migration Types

      • Untuk hanya melakukan migrasi data penuh, pilih Schema Migration dan Full Data Migration.

      • Untuk memastikan kelangsungan layanan selama migrasi data, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.

      Catatan
      • Jika Anda tidak memilih Schema Migration, pastikan database dan tabel telah dibuat di database tujuan untuk menerima data dan fitur pemetaan nama objek diaktifkan di Selected Objects.

      • Jika Anda tidak memilih Incremental Data Migration, kami menyarankan agar Anda tidak menulis data ke database sumber selama migrasi data. Hal ini memastikan konsistensi data antara database sumber dan tujuan.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang menggunakan nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama tabel yang identik, pemeriksaan awal akan lolos. Jika tidak, kesalahan akan dikembalikan selama pemeriksaan awal dan tugas migrasi data tidak dapat dimulai.

        Catatan

        Jika database sumber dan tujuan berisi tabel dengan nama yang sama dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan ke database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.

      • Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik di database sumber dan tujuan.

        Peringatan

        Jika Anda memilih Ignore Errors and Proceed, ketidakkonsistenan data dapat terjadi dan bisnis Anda mungkin menghadapi risiko potensial berikut:

        • Jika database sumber dan tujuan memiliki skema yang sama, dan catatan data memiliki kunci primer yang sama dengan catatan data yang ada di database tujuan, skenario berikut mungkin terjadi:

          • Selama migrasi data penuh, DTS tidak memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.

          • Selama migrasi data inkremental, DTS memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.

        • Jika database sumber dan tujuan memiliki skema yang berbeda, hanya kolom tertentu yang dimigrasikan atau tugas migrasi data gagal. Lanjutkan dengan hati-hati.

      DDL and DML Operations to Be Synchronized

      Pilih operasi SQL untuk migrasi inkremental di tingkat instans. Untuk informasi tentang operasi yang didukung, lihat Operasi SQL yang mendukung migrasi inkremental.

      Catatan

      Untuk memilih operasi SQL untuk migrasi inkremental di tingkat database atau tabel, klik kanan objek migrasi di bagian Selected Objects dan pilih operasi SQL yang diperlukan di kotak dialog yang muncul.

      Storage Engine Type

      Jenis mesin penyimpanan tabel tujuan. Nilai default: Beam. Tentukan parameter ini berdasarkan kebutuhan bisnis Anda.

      Catatan

      Parameter ini tersedia hanya jika versi minor instans tujuan AnalyticDB for PostgreSQL adalah v7.0.6.6 atau lebih baru dan Anda menentukan Schema Migration untuk parameter Migration Types.

      Capitalization of Object Names in Destination Instance

      Kapitalisasi nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan kapitalisasi nama objek konsisten dengan database sumber atau tujuan. Untuk informasi selengkapnya, lihat Tentukan kapitalisasi nama objek di instans tujuan.

      Source Objects

      Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon 向右小箭头 untuk menambahkan objek ke bagian Selected Objects.

      Catatan

      Anda dapat memilih kolom, tabel, atau skema sebagai objek yang akan dimigrasikan. Jika Anda memilih tabel atau kolom sebagai objek yang akan dimigrasikan, DTS tidak akan memigrasikan objek lain, seperti view, trigger, atau prosedur tersimpan, ke database tujuan.

      Selected Objects

      • Untuk mengganti nama objek yang ingin Anda migrasikan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek tunggal.

      • Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama beberapa objek sekaligus.

      Catatan
      • Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang diganti nama mungkin gagal dimigrasikan.

      • Untuk menetapkan kondisi WHERE untuk memfilter data, klik kanan tabel yang akan dimigrasikan di kotak Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Menetapkan kondisi filter.

      • Untuk memilih operasi SQL untuk migrasi di tingkat database atau tabel, klik kanan objek yang akan dimigrasikan di kotak Selected Objects, lalu di kotak dialog yang muncul, pilih operasi SQL yang diinginkan.

    2. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.

      Konfigurasi

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas migrasi data ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, beli klaster khusus. Untuk informasi selengkapnya, lihat Apa itu klaster khusus DTS.

      Retry Time for Failed Connections

      Rentang waktu ulang untuk koneksi yang gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu ulang tersebut. Nilai yang valid: 10 hingga 1.440. Satuan: menit. Nilai default: 720. Kami menyarankan agar Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Catatan
      • Jika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas migrasi data yang menggunakan database sumber atau tujuan yang sama, nilai yang ditentukan terakhir akan menggantikan nilai sebelumnya.

      • Saat DTS mencoba menghubungkan kembali, Anda akan dikenai biaya untuk instans DTS. Kami menyarankan agar Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepas instans DTS sesegera mungkin setelah database sumber dan instans tujuan dilepas.

      Retry Time for Other Issues

      Rentang waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba mengulang operasi tersebut dalam rentang waktu ulang tersebut. Nilai yang valid: 1 hingga 1.440. Satuan: menit. Nilai default: 10. Kami menyarankan agar Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Penting

      Nilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Tentukan apakah akan mengaktifkan pembatasan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis database sumber dan tujuan. Hal ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Hal ini mengurangi beban server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Anda memilih Full Data Migration untuk parameter Migration Types.

      Enable Throttling for Incremental Data Migration

      Tentukan apakah akan mengaktifkan pembatasan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Hal ini mengurangi beban server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Anda memilih Incremental Data Migration untuk parameter Migration Types.

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instans jika diperlukan. Pengaturan ini opsional.

      Configure ETL

      Tentukan apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai yang valid:

      • No: tidak mengonfigurasi peringatan.

      • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi selengkapnya, lihat bagian Konfigurasi pemantauan dan peringatan saat membuat tugas DTS pada topik Konfigurasi pemantauan dan peringatan.

    3. Klik Next Step: Data Verification untuk mengonfigurasi tugas verifikasi data.

      Untuk informasi selengkapnya tentang cara menggunakan fitur verifikasi data, lihat Konfigurasi tugas verifikasi data.

    4. Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields di bagian bawah halaman. Di halaman berikutnya, konfigurasikan kolom kunci primer dan kolom distribusi untuk tabel yang dimigrasikan di instans tujuan AnalyticDB for PostgreSQL.

      Catatan

      Halaman ini hanya ditampilkan ketika Migration Types diatur ke Schema Migration. Untuk informasi selengkapnya tentang kolom kunci primer dan kolom distribusi, lihat Manajemen Tabel Data dan Definisi Distribusi Tabel.

  6. Simpan pengaturan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter yang harus ditentukan saat memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.

    • Jika Anda tidak perlu melihat atau telah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum Anda dapat memulai tugas migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas tersebut lolos pemeriksaan awal.

    • Jika tugas gagal lolos pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.

    • Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidakkonsistenan data dapat terjadi, dan bisnis Anda mungkin menghadapi risiko potensial.

  7. Beli instans.

    1. Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.

    2. Di halaman Purchase Instance, konfigurasikan parameter Kelas Instans untuk instans migrasi data. Tabel berikut menjelaskan parameter-parameter tersebut.

      Bagian

      Parameter

      Deskripsi

      New Instance Class

      Resource Group

      Kelompok sumber daya tempat instans migrasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?

      Instance Class

      DTS menyediakan kelas instans yang berbeda dalam kecepatan migrasi. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans migrasi data.

    3. Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.

    4. Klik Buy and Start. Di pesan yang muncul, klik OK.

      Anda dapat melihat progres tugas di halaman Data Migration.

      Catatan
      • Jika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas tersebut akan berhenti secara otomatis. Completed akan ditampilkan di bagian Status .

      • Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tersebut tidak akan berhenti secara otomatis. Tugas migrasi data inkremental tidak akan pernah berhenti atau selesai. Running akan ditampilkan di bagian Status.