Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS DMS sinkronisasi ulang data
AWS Database Migration Service (AWS DMS) Sinkronisasi ulang data secara otomatis memperbaiki inkonsistensi data yang diidentifikasi melalui validasi data antara basis data sumber dan target Anda. Fitur ini berfungsi sebagai bagian dari tugas migrasi DMS Anda yang ada, memastikan pembaruan yang tepat terjadi berdasarkan konfigurasi tugas, pengaturan koneksi, pemetaan tabel, dan transformasi.
Fitur sinkronisasi ulang data beroperasi dengan membaca kegagalan validasi dari tabel kontrol pada database target dan menjalankan operasi perbaikan yang sesuai. Ketika ketidakcocokan terdeteksi, data saat ini diambil dari sumber menggunakan kunci utama yang disimpan dalam catatan kegagalan, dan itu diterapkan ke target sambil menghormati transformasi yang dikonfigurasi. Untuk informasi selengkapnya, lihat tabel kontrol awsdms _validation_failures_v2.
Perilaku bervariasi tergantung pada jenis migrasi Anda. Untuk tugas dengan beban penuh, sinkronisasi ulang Data berjalan sekali setelah pemuatan awal dan validasi selesai. Untuk tugas dengan penangkapan data perubahan (CDC), sinkronisasi ulang data beroperasi sesuai dengan jadwal yang dikonfigurasi, sementara menghentikan replikasi dan validasi sementara waktu perbaikan diterapkan.
Selama operasi sinkronisasi ulang CDC:
-
Replikasi dan validasi berhenti sementara.
-
Sinkronisasi ulang data memproses kegagalan validasi yang ada.
-
Replikasi normal dan validasi dilanjutkan.
-
Proses berulang berdasarkan jadwal yang Anda konfigurasi.
Sinkronisasi ulang data secara otomatis melacak status setiap operasi perbaikan dan memberikan metrik terperinci melalui statistik tabel.
- Prasyarat:
-
Fitur sinkronisasi ulang Data memerlukan prasyarat berikut:
-
Anda harus memiliki versi AWS DMS mesin 3.6.1 atau yang lebih baru.
-
Anda harus mengonfigurasi pengaturan jadwal dan durasi waktu untuk tugas yang memiliki replikasi yang sedang berlangsung. Tugas hanya beban penuh tidak memerlukan pengaturan ini.
-
Batasan
Fitur sinkronisasi ulang Data memiliki batasan berikut:
-
Resync data hanya mendukung Oracle dan SQL Server sebagai database sumber.
-
Resync data mendukung mesin yang kompatibel dengan PostgreSQL dan Amazon Aurora PostgreSQL sebagai basis data target.
-
Semua tabel dalam database sumber dan target Anda harus memiliki kunci utama. Validasi tidak mendukung tabel tanpa kunci primer atau kunci unik. Setiap tabel yang tidak memiliki kunci primer atau unik yang valid akan ditangguhkan dari validasi dan tidak ada kegagalan validasi yang dilaporkan.
-
Saat menjalankan Full-load-only tugas, validasi data harus diaktifkan.
-
Sinkronisasi ulang data tidak dapat diaktifkan untuk tugas Validasi saja karena tidak mereplikasi data apa pun. Anda dapat mengaktifkan sinkronisasi ulang pada tugas replikasi induk dengan menyediakan Validasi saja.
taskIDUntuk informasi selengkapnya, lihat Tugas hanya validasi. -
Jika tugas Validasi saja memiliki pengaturan
ControlSchemaparameter yang dikonfigurasi dalam pengaturan tugas, maka tugas replikasi juga harus memiliki konfigurasi parameter yang sama untuk sinkronisasi ulang Data untuk menemukan kegagalan validasi yang benar. -
Anda diminta untuk mengonfigurasi pengaturan jadwal dan durasi waktu untuk tugas CDC.
-
Selama jendela sinkronisasi ulang, sinkronisasi ulang data dapat berdampak pada latensi replikasi di DMS.
Untuk informasi selengkapnya mengenai validasi pemecahan masalah AWS DMS selama sinkronisasi ulang Data, lihat bagian Pemecahan masalah di bawah AWS DMS validasi data.
Penjadwalan dan waktu
Untuk tugas dengan CDC, Anda harus mengonfigurasi kapan dan berapa lama sinkronisasi ulang Data beroperasi. Ini membantu mencegah dampak pada operasi replikasi normal Anda. Anda menentukan:
-
Jadwal menggunakan format cron untuk menentukan kapan operasi sinkronisasi ulang dapat terjadi.
-
Durasi maksimum untuk memastikan operasi sinkronisasi ulang tidak diperpanjang ke periode penggunaan puncak.
Disarankan untuk menjadwalkan operasi sinkronisasi ulang selama jam di luar jam sibuk atau ke periode di mana ada minimal atau tidak ada perubahan pada database sumber.
catatan
Waktu yang dijadwalkan termasuk menunggu aliran aplikasi target kosong, karena sinkronisasi ulang Data dan replikasi normal tidak dapat berjalan secara bersamaan.
Kasus penggunaan
Fitur sinkronisasi ulang data memungkinkan pengguna untuk merekonsiliasi inkonsistensi data antara sistem sumber dan target. Ini mengidentifikasi catatan yang tidak cocok dan menyinkronkannya untuk menjaga konsistensi data di seluruh lingkungan terdistribusi. Kasus penggunaan berikut menunjukkan skenario umum di mana fitur sinkronisasi ulang data menyelesaikan tantangan konsistensi data:
- Skenario 1: Tugas beban penuh - jalankan sinkronisasi ulang menggunakan tugas DMS yang sama
-
Dalam tugas migrasi beban penuh DMS yang ada, Anda dapat melakukan hal berikut:
-
Aktifkan validasi:
Validation with data migration = true. -
Aktifkan sinkronisasi ulang:
Data resync = true
-
- Skenario 2: Beban penuh dan CDC, tugas khusus CDC - jalankan sinkronisasi ulang menggunakan tugas DMS yang sama
-
Dalam tugas migrasi DMS CDC yang ada, Anda dapat melakukan hal berikut:
-
Aktifkan validasi:
Validation with data migration = true. -
Aktifkan sinkronisasi ulang:
Data resync = true -
Tentukan jadwal sinkronisasi ulang:.
"ResyncSchedule": "0 0,2,4,6 * * *" -
Tentukan waktu sinkronisasi ulang:
MaxResyncTime": 60
-
- Skenario 3: Beban penuh dan hanya tugas CDC atau CDC untuk replikasi dan sinkronisasi ulang, dalam kombinasi dengan tugas validasi saja
-
Untuk melakukan operasi validasi saja di tugas DMS lain saat menggunakan sinkronisasi ulang, Anda dapat melakukan hal berikut:
-
Buat tugas DMS CDC hanya validasi.
catatan
Anda harus mencatat dan menentukan ID tugas ini selama sinkronisasi ulang Data.
-
Dalam tugas CDC utama Anda, nonaktifkan validasi:
Data validation = false. -
Aktifkan sinkronisasi ulang:
Data resync = true -
Tentukan jadwal sinkronisasi ulang:.
"ResyncSchedule": "0 0,2,4,6 * * *" -
Tentukan waktu sinkronisasi ulang:.
MaxResyncTime": 60 -
Tentukan ID tugas validasi DMS CDC saja. Validasi hanya ID tugas ditambahkan di akhir ARN. Contoh ARN:
arn:aws:dms:us-west-2:123456789012:task:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWIdan Contoh validasi hanya ID tugas:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI.
-
Praktik terbaik
Anda dapat memanfaatkan fitur sinkronisasi ulang Data AWS Database Migration Service untuk meningkatkan daya tahan tugas replikasi Anda dan mencapai konsistensi. Beberapa praktik terbaik untuk menggunakan fitur sinkronisasi ulang Data adalah:
-
Sebagai bagian dari sinkronisasi ulang Data, catatan yang memiliki ketidakcocokan diperbaiki dengan mengambilnya dari sumber dan menerapkannya pada database target. Jika database sumber diperbarui selama jendela sinkronisasi ulang, resync membaca nilai rekaman terbaru dan menerapkannya pada target. Hal ini dapat menyebabkan CDC menerapkan peristiwa gagal dan menimbulkan inkonsistensi sementara pada database target. Untuk menghindari hal ini, Anda harus menjadwalkan jendela sinkronisasi ulang selama jam kerja atau periode di mana perubahan pada database sumber nol atau minimal.
-
Atur jendela sinkronisasi ulang selama periode aktivitas basis data sumber minimal dan dalam ambang latensi target yang dapat diterima. Interval sinkronisasi ulang kecil dapat menyebabkan ketidakcocokan validasi yang tidak diproses menumpuk, sementara jendela besar dapat meningkatkan latensi replikasi ketika banyak kegagalan validasi terjadi. Pantau kegagalan validasi dan tingkat sinkronisasi ulang untuk menentukan jendela sinkronisasi ulang yang optimal selama periode ketidakaktifan sumber. Beberapa contoh untuk mengatur jendela sinkronisasi ulang adalah:
-
Beberapa konfigurasi jendela pendek:
"ResyncSchedule": "0 0,2,4,6 * * *", "MaxResyncTime": 60 -
Konfigurasi jendela harian tunggal:
"ResyncSchedule": "0 0 * * *", "MaxResyncTime": 360
-
-
Memantau latensi replikasi di DMS selama jendela sinkronisasi ulang dan sesuaikan jadwal yang sesuai untuk mengurangi lonjakan besar.
-
Anda dapat meninjau hasil sinkronisasi ulang melalui stastik tabel atau dengan menanyakan
awsdms_validation_failures_v2tabel pada database target. Untuk informasi selengkapnya, lihat Memantau tugas replikasi menggunakan Amazon CloudWatch. -
Saat tugas berada dalam fase replikasi yang sedang berlangsung, hindari memulai pemuatan ulang untuk tabel individual selama jendela sinkronisasi ulang.
-
Praktik terbaik untuk tugas replikasi CDC:
-
Semua tabel dalam database Anda menyelesaikan proses pemuatan.
-
Ketidakcocokan diidentifikasi dalam proses validasi yang sedang berlangsung.
-
Sesuai jendela terjadwal sinkronisasi ulang, tugas replikasi berhenti sebentar.
-
Sinkronisasi ulang data memperbaiki masalah yang diidentifikasi selama proses validasi.
-
Proses replikasi dilanjutkan dan diulang sesuai jadwal.
-
Konfigurasi dan contoh sinkronisasi ulang data
- Konfigurasi pengaturan sinkronisasi ulang data:
-
Anda dapat mengonfigurasi sinkronisasi ulang untuk tugas replikasi Anda di DMS. Di bawah ini adalah contoh konfigurasi pengaturan sinkronisasi ulang Data dalam tugas Anda:
"ResyncSettings": { "EnableResync": true, "ResyncSchedule": "0 0,2,4,6 * * *", // Run at 12AM, 2AM, 4AM, and 6AM daily "MaxResyncTime": 60, // Run for maximum of 60 minutes, or 1 hour "ValidationTaskId": "TASK-ID-IF-NEEDED" //Optional, used only if validation is performed as a separate Validation only task }
Contoh pola penjadwalan sinkronisasi ulang umum:
-
0 0 * * *: Jalankan sekali setiap hari di tengah malam. -
0 0,12 * * *: Jalankan dua kali setiap hari pada tengah malam dan siang hari. -
0 0,2,4,6, * * *: Jalankan setiap dua jam antara tengah malam dan 6 pagi. -
0 1 * * 1: Jalankan setiap minggu pada hari Senin pukul 1 pagi.
catatan
Anda harus menentukan angka untuk setiap hari mulai dari 0 hingga 6. Untuk informasi selengkapnya, lihat aturan ekspresi Cron.
- Memantau operasi sinkronisasi ulang:
-
Anda dapat memantau operasi sinkronisasi ulang melalui statistik tabel. Berikut adalah contoh output:
{ "TableStatistics": { ... "ValidationFailedRecords": 1000, ... "ResyncRowsAttempted": 1000, "ResyncRowsSucceeded": 995, "ResyncRowsFailed": 5, "ResyncProgress": 99.5, // ratio of ResyncRowsSucceeded/ValidationFailedRecords "ResyncState": "Last resync at: 2024-03-14T06:00:00Z" } }
Untuk mengkonfigurasi fitur sinkronisasi ulang Data di AWS DMS, Anda dapat meninjau berbagai parameter sinkronisasi ulang dan pengaturan konfigurasi masing-masing. Untuk informasi selengkapnya, lihat Pengaturan sinkronisasi ulang data. Untuk informasi selengkapnya mengenai pengaturan pencatatan sinkronisasi ulang data, lihat. Pengaturan tugas pengelogan
Validasi dan pemecahan masalah
- Validasi:
-
Ketika valudasi data diaktifkan, AWS DMS buat tabel kegagalan validasi di database target Anda dengan struktur berikut:
CREATE TABLE awsdms_validation_failures_v2 ( "RESYNC_ID" bigint NOT NULL, "TASK_NAME" varchar(128) NOT NULL, "TABLE_OWNER" varchar(128) NOT NULL, "TABLE_NAME" varchar(128) NOT NULL, "FAILURE_TIME" timestamp NOT NULL, "KEY_TYPE" varchar(128) NOT NULL, "KEY" varchar(7800) NOT NULL, "FAILURE_TYPE" varchar(128) NOT NULL, "DETAILS" varchar(7000) NOT NULL, "RESYNC_RESULT" varchar(128) NULL, "RESYNC_TIME" timestamp NULL, "RESYNC_ACTION" varchar(128) NULL );Anda dapat menulis kueri ke tabel ini untuk memahami ketidakcocokan data yang ditemukan dan bagaimana mereka diselesaikan.
Saat validasi diaktifkan AWS DMS , membuat tabel kegagalan validasi di database target Anda. Jika Anda memiliki masalah, Anda dapat menanyakan awsdms_control.awsdms_validation_failures_v2 tabel untuk memahami ketidakcocokan data yang ditemukan dan bagaimana mereka diselesaikan. Untuk informasi selengkapnya, lihat bagian Pemecahan masalah di Validasi AWS DMS data.
- Alur kerja umum:
-
Selama validasi dalam sinkronisasi ulang data, alur kerja standar adalah sebagai berikut:
Tugas Hanya Beban Penuh:
-
Semua tabel dalam database Anda menyelesaikan proses pemuatan.
-
Ketidakcocokan diidentifikasi dalam proses validasi yang sedang berlangsung.
-
Sinkronisasi ulang data memperbaiki masalah yang diidentifikasi selama proses validasi.
-
Proses validasi memvalidasi perbaikan.
-
Tugas migrasi berhasil diselesaikan.
Tugas CDC:
-
Semua tabel dalam database Anda menyelesaikan proses pemuatan.
-
Ketidakcocokan diidentifikasi dalam proses validasi yang sedang berlangsung.
-
Sesuai jendela terjadwal sinkronisasi ulang, tugas replikasi berhenti sebentar.
-
Sinkronisasi ulang data memperbaiki masalah yang diidentifikasi selama proses validasi.
-
Proses replikasi dilanjutkan dan diulang sesuai jadwal.
-
Setiap modifikasi yang dilakukan pada tugas seperti menghentikan tugas replikasi selama operasi sinkronisasi ulang atau memuat ulang dan memvalidasi ulang tabel dapat memengaruhi perilaku dan hasil tugas. Beberapa perubahan perilaku yang diketahui adalah sebagai berikut:
Saat Anda menghentikan tugas replikasi saat operasi sinkronisasi ulang sedang berlangsung:
-
Operasi sinkronisasi ulang tidak dilanjutkan secara otomatis. Anda harus me-restart lagi.
-
Operasi sinkronisasi ulang di masa mendatang terjadi sesuai jadwal yang dikonfigurasi.
-
Setiap perbaikan yang tidak lengkap dicoba di jendela jadwal sinkronisasi ulang berikutnya.
Saat Anda memuat ulang tabel di database Anda:
-
Operasi sinkronisasi ulang melewatkan setiap tabel yang sedang dimuat ulang.
-
Kegagalan validasi sebelumnya untuk tabel yang dimuat ulang diabaikan.
-
Validasi baru dimulai setelah tindakan memuat ulang selesai.
Saat Anda memvalidasi ulang tabel di database Anda:
-
Semua statistik untuk operasi sinkronisasi ulang Anda diatur ulang.
-
Kegagalan validasi sebelumnya untuk tabel yang divalidasi ulang diabaikan.
catatan
Saat memutakhirkan atau memindahkan tugas ke DMS versi 3.6.1 dan yang lebih tinggi, kegagalan apa pun dalam awsdms_control.awsdms_validation_failures_v1 tabel tidak disinkronkan ulang. Hanya kegagalan dalam awsdms_validation_failures_v2 tabel yang disinkronkan ulang. Untuk menyinkronkan ulang kegagalan dalam awsdms_control.awsdms_validation_failures_v2 tabel, Anda harus memuat ulang tugas, memuat ulang satu atau lebih tabel dalam tugas, atau memvalidasi ulang satu atau lebih tabel. Untuk informasi selengkapnya, lihat tautan berikut:
-
Untuk memuat ulang tugas, lihat referensi
StartReplicationTaskAPI. -
Untuk memuat ulang satu atau lebih tabel dalam tugas, lihat dokument
reload-tablesasi referensi perintah AWS CLI. -
Untuk memvalidasi ulang satu atau lebih tabel, lihat
validate-onlyopsi direload-tablesbagian dalam dokumentasi referensi perintah AWS CLI.
.
Aturan ekspresi Cron
Untuk mengonfigurasi operasi sinkronisasi ulang Data selama tugas replikasi di AWS DMS Anda dapat menggunakan aturan ekspresi cron. Aturan ini memungkinkan Anda menyesuaikan jendela waktu sinkronisasi ulang dan menjadwalkannya sesuai kebutuhan bisnis Anda. Anda dapat menggunakan berbagai parameter seperti menit, jam, hari, bulan, dan hari dalam seminggu. Aturan ekspresi cron untuk setiap parameter adalah:
- Menit:
-
-
Rentang menit dari 0 hingga 59.
-
Anda dapat menggunakan (
-),or/anduntuk menentukan rentang. Maksimal 10 item dipisahkan dengan koma (,). -
Contoh:
-
2-5sama dengan2,3,5,5. -
1-2,3-4,5,7-10adalah rentang yang valid. -
1,2,3,4,5,6,7,8,9,10adalah rentang yang valid. -
1,2,3,4,5,6,7,8,9,10,11bukan rentang yang valid. Operasi sinkronisasi ulang melompat setelah item rentang ke-10.
-
-
Anda dapat menggunakan (
*). Contoh:*sama dengan0-59. -
Anda dapat menggunakan (
/) hanya dalam kombinasi dengan (-) atau (*).Contoh:
-
2-7/2sama dengan2,4,6. -
*/15sama dengan0,15,30,45.
-
-
- Jam:
-
Sama seperti "Men it" tetapi rentang yang valid adalah dari
0ke23.
- Hari:
-
-
Sama seperti "Men it" tetapi rentang yang valid adalah dari
1ke31. -
Penggunaan
Ldidukung dalam konfigurasi sinkronisasi ulang. Itu dianggap sebagai hari terakhir bulan itu. Anda tidak boleh menggunakannya dalam kombinasi dengan sintaks lain.
-
- Bulan:
-
Sama seperti "Men it" tetapi rentang yang valid adalah dari
1ke12.
- Hari dalam seminggu:
-
-
Sama seperti "Men it" tetapi rentang yang valid adalah dari
0ke6. -
Anda tidak dapat menambahkan nilai string untuk nama minggu.
-