Validasi data target Amazon S3 - AWS Layanan Migrasi Database

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Validasi data target Amazon S3

AWS DMSmendukung memvalidasi data yang direplikasi di target Amazon S3. Karena AWS DMS menyimpan data yang direplikasi sebagai file datar di Amazon S3, kami menggunakan kueri Amazon CREATE TABLE AS SELECT Athena (CTAS) untuk memvalidasi data.

Kueri pada data yang disimpan di Amazon S3 sangat intens secara komputasi. Dengan demikian, AWS DMS menjalankan validasi pada data Amazon S3 selama pengambilan data perubahan (CDC) hanya sekali sehari, pada tengah malam (00:00) UTC. Setiap validasi harian yang AWS DMS berjalan disebut validasi interval. Selama validasi interval, AWS DMS validasi semua catatan perubahan yang dimigrasikan ke bucket Amazon S3 target selama 24 jam sebelumnya. Untuk informasi selengkapnya tentang batasan validasi interval, lihatBatasan untuk menggunakan validasi target S3.

Validasi target Amazon S3 menggunakan Amazon Athena, jadi biaya tambahan berlaku. Untuk informasi selengkapnya, lihat Harga Amazon Athena.

catatan

Validasi target S3 membutuhkan AWS DMS versi 3.5.0 atau yang lebih baru.

Prasyarat validasi target S3

Sebelum menggunakan validasi target S3, periksa pengaturan dan izin berikut:

  • Tetapkan DataFormat nilai untuk S3Settings endpoint Anda ke. parquet Untuk informasi selengkapnya, lihat Pengaturan parket untuk S3.

  • Pastikan peran yang ditetapkan ke akun pengguna yang digunakan untuk membuat tugas migrasi memiliki kumpulan izin yang benar. Lihat Izin berikut.

Untuk tugas yang menggunakan replikasi berkelanjutan (CDC), periksa pengaturan berikut:

Izin untuk menggunakan validasi target S3

Untuk menyiapkan akses untuk menggunakan validasi target S3, pastikan bahwa peran yang ditetapkan ke akun pengguna yang digunakan untuk membuat tugas migrasi memiliki kumpulan izin berikut. Ganti nilai sampel dengan nilai Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:CreateWorkGroup" ], "Resource": "arn:aws:athena:<endpoint_region_code>:<account_id>:workgroup/dms_validation_workgroup_for_task_*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetTables", "glue:CreateTable", "glue:DeleteTable", "glue:GetTable" ], "Resource": [ "arn:aws:glue:<endpoint_region_code>:<account_id>:catalog", "arn:aws:glue:<endpoint_region_code>:<account_id>:database/aws_dms_s3_validation_*", "arn:aws:glue:<endpoint_region_code>:<account_id>:table/aws_dms_s3_validation_*/*", "arn:aws:glue:<endpoint_region_code>:<account_id>:userDefinedFunction/aws_dms_s3_validation_*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::<bucket_name>", "arn:aws:s3:::<bucket_name>/*" ] } ] }

Batasan untuk menggunakan validasi target S3

Lihat batasan tambahan berikut yang berlaku saat menggunakan validasi target S3. Untuk batasan yang berlaku untuk semua validasi, lihat. Batasan

  • DatePartitionSequenceNilai Anda membutuhkan komponen Hari. Validasi target S3 tidak mendukung format. YYYYMM

  • Ketika validasi interval berjalan selama CDC, Anda mungkin melihat kesalahan validasi palsu dalam tabel. awsdms_validation_failures_v1 Kesalahan ini terjadi karena AWS DMS memigrasikan perubahan yang tiba selama validasi interval ke folder partisi hari berikutnya. Biasanya, perubahan ini ditulis ke dalam folder partisi hari ini. Kesalahan palsu ini adalah batasan memvalidasi replikasi dari database sumber dinamis ke target statis, seperti Amazon S3. Untuk menyelidiki kesalahan palsu ini, periksa catatan di dekat akhir jendela validasi (00:00 UTC), yaitu saat kesalahan ini biasanya muncul.

    Untuk meminimalkan jumlah kesalahan palsu, pastikan bahwa CDCLatencySource untuk tugas rendah. Untuk informasi tentang pemantauan latensi, lihatMetrik tugas replikasi.

  • Tugas di stopped negara bagian failed atau tidak memvalidasi perubahan hari sebelumnya. Untuk meminimalkan kesalahan validasi karena kegagalan yang tidak terduga, buat tugas validasi terpisah saja dengan pemetaan tabel yang sama, serta titik akhir sumber dan target. Untuk informasi selengkapnya tentang tugas validasi saja, lihatMenggunakan tugas validasi saja dengan validasi target S3.

  • Kolom Status Validasi dalam statistik tabel mencerminkan keadaan validasi interval terbaru. Akibatnya, tabel yang memiliki ketidakcocokan mungkin muncul sebagai divalidasi setelah validasi interval hari berikutnya. Periksa bucket Amazon S3 target untuk ketidakcocokan yang terjadi lebih dari sehari yang lalu. s3_validation_failures folder

  • Validasi S3 menggunakan fitur tabel bucketed dari Amazon Athena. Hal ini memungkinkan validasi S3 untuk membuat salinan berember dari data tabel target. Ini berarti bahwa salinan data tabel dibagi menjadi subset yang cocok dengan partisi internal validasi DMS. Meja berember Athena memiliki batas 100.000 ember. Setiap tabel yang coba divalidasi oleh validasi S3 yang melebihi batas ini akan gagal validasi. Jumlah bucket yang coba dibuat oleh Validasi S3 sama dengan yang berikut:

    (#records in the table) / (validation partition size setting)

    Untuk mengatasi batasan ini, tingkatkan pengaturan ukuran partisi validasi sehingga jumlah bucket yang dibuat oleh Validasi S3 kurang dari 100.000. Untuk informasi selengkapnya tentang bucketing, lihat Partisi dan bucketing di Athena di Panduan Pengguna Amazon Athena.

Menggunakan tugas validasi saja dengan validasi target S3

Tugas hanya validasi menjalankan validasi pada data yang akan dimigrasi tanpa menjalankan migrasi.

Hanya tugas validasi yang terus berjalan, meskipun tugas migrasi berhenti, yang memastikan bahwa AWS DMS tidak melewatkan jendela validasi interval 00:00 UTC.

Menggunakan tugas hanya validasi dengan titik akhir target Amazon S3 memiliki batasan berikut:

  • Validasi Amazon S3 untuk Tugas Beban Penuh dengan setelan Hanya Validasi diaktifkan didukung, tetapi beroperasi secara berbeda dari tugas Beban Penuh dan Hanya Validasi untuk titik akhir lainnya. Untuk S3 sebagai Target, tugas jenis ini memvalidasi hanya terhadap Data Beban Penuh di target S3, dan tidak akan memvalidasi terhadap data apa pun yang dimigrasi sebagai bagian dari migrasi CDC. Hanya gunakan fitur ini untuk memvalidasi data yang dibuat oleh tugas Full-Load saja. Menggunakan mode ini untuk memvalidasi data dalam target yang menjalankan tugas CDC aktif tidak akan menghasilkan validasi yang efektif.

  • Hanya tugas validasi hanya memvalidasi perubahan sejak jendela validasi interval terakhir (00:00 UTC). Hanya tugas validasi yang tidak memvalidasi data muatan penuh atau data CDC dari hari-hari sebelumnya.