Cara kerja replikasi Tabel S3 - Amazon Simple Storage Service

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

Cara kerja replikasi Tabel S3

Replikasi Tabel S3 membuat replika hanya-baca dari tabel Apache Iceberg Anda di seluruh Wilayah dan. Akun AWS Tabel replika dikelola secara otomatis oleh layanan Tabel S3 dan berisi data lengkap, metadata, dan riwayat snapshot dari tabel sumber Anda, membuatnya dapat dikueri menggunakan mesin yang kompatibel dengan Iceberg untuk analisis dan operasi perjalanan waktu.

Saat Anda mengonfigurasi replikasi untuk tabel, Tabel S3:

  • Membuat tabel replika hanya-baca di setiap bucket tabel tujuan dengan nama dan namespace yang sama dengan tabel sumber.

  • Mengisi ulang replika dengan status terbaru dari tabel sumber

  • Memonitor tabel sumber untuk pembaruan baru

  • Komit semua pembaruan ke replika dalam urutan yang sama dengan sumber untuk menjaga konsistensi

Untuk informasi selengkapnya, silakan lihat bagian-bagian berikut ini.

Apa yang direplikasi

Komponen tabel berikut direplikasi:

  • Cuplikan tabel — Semua snapshot, termasuk snapshot yang dipadatkan, direplikasi dalam urutan kronologis, mempertahankan hubungan orangtua-anak dan nomor urut dari tabel sumber. Ini memastikan bahwa tabel replika memberikan kemampuan perjalanan waktu yang sama dengan tabel sumber.

  • Data tabel - Semua file data yang direferensikan oleh snapshot tabel direplikasi ke Wilayah tujuan. Hal ini mencakup:

    • File metadata - Tabel metadata. File json, manifes, daftar manifes, statistik partisi, dan statistik tabel.

    • Hapus file — Semua file hapus direplikasi untuk menjaga akurasi data dalam tabel replika.

    • File data — Semua file data yang direferensikan oleh manifes direplikasi.

  • Metadata tabel — Replikasi metadata lengkap, termasuk informasi skema (saat ini dan historis), spesifikasi partisi, urutan urutan, dan properti tabel.

    • Informasi Skema — Semua skema tabel direplikasi, termasuk skema saat ini dan versi skema historis. Ini memastikan bahwa kueri terhadap tabel replika menggunakan definisi kolom, tipe data, dan pemetaan bidang yang benar. Proses replikasi mempertahankan riwayat evolusi skema, memungkinkan kueri perjalanan waktu bekerja dengan benar pada tabel replika.

    • Spesifikasi Partisi — Spesifikasi partisi saat ini dan historis direplikasi, memastikan tabel replika mempertahankan strategi partisi yang sama dengan tabel sumber.

    • Urutkan Pesanan - Urutan pengurutan tabel direplikasi untuk mempertahankan optimasi kinerja kueri.

Bagaimana data direplikasi

Replikasi menentukan status valid untuk tabel replika dengan membandingkan metadata tabel Apache Iceberg antara tabel sumber dan replika. Replikasi memproses metadata dalam tiga kategori untuk memperbarui tabel replika Anda.

Untuk metadata tabel

Untuk bidang metadata berversi, replikasi menggabungkan nilai dari tabel sumber ke dalam array tabel replika untuk bidang berikut:

  • snapshots— Menggabungkan semua snapshot dari tabel sumber ke dalam array snapshot tabel replika dengan snapshot-id.

  • snapshot-log— Menggabungkan log snapshot dari tabel sumber ke dalam array snapshot-log tabel replika, diurutkan berdasarkan stempel waktu dan snapshot-id.

  • sort-orders— Menggabungkan definisi urutan urutan dari tabel sumber ke dalam array urutan urutan tabel replika berdasarkan order-id.

  • partition-specs— Menggabungkan spesifikasi partisi dari tabel sumber ke dalam array spesifikasi partisi tabel replika dengan spec-id.

Untuk konfigurasi tabel

Untuk bidang yang mewakili konfigurasi tabel, replikasi menyalin nilai langsung dari tabel sumber:

  • properties

  • partition-statistics

  • statistics

Status tabel saat ini juga ditransfer dari tabel sumber:

  • current-snapshot-id

  • current-schema-id

  • last-column-id

  • last-partition-id

  • last-sequence-number

  • default-sort-order-id

  • next-row-id(Gunung Es V3)

  • encryption-keys(Gunung Es V3)

Status spesifik replika

Bidang berikut dihitung dari data gabungan dan diperbarui untuk tabel replika:

  • locationdiperbarui selama replikasi untuk menunjuk ke lokasi file yang benar di bucket tabel replika, memastikan bahwa semua referensi file valid di lingkungan tujuan.

  • metadata-logberisi semua nama file metadata tujuan dan diperbarui setelah setiap replikasi berhasil dengan nama file metadata saat ini.

  • Semua jalur file dimodifikasi untuk menunjuk ke lokasi tabel replika.

Replikasi snapshot

Replikasi Tabel S3 mempertahankan riwayat snapshot lengkap di seluruh Wilayah dengan mereplikasi semua snapshot tabel dalam urutan komit yang sama dengan tabel sumber. Hubungan orangtua-anak dari tabel sumber dipertahankan dalam tabel replika.

Retensi snapshot

Anda dapat mengonfigurasi periode retensi snapshot kustom untuk tabel yang direplikasi yang berbeda dari periode retensi sumber. Ini berarti bahwa meskipun snapshot kedaluwarsa dan tidak lagi tersedia di tabel sumber, mereka dapat disimpan dalam replika.

Misalnya, jika tabel sumber Anda memiliki periode retensi snapshot 30 hari tetapi tabel replika Anda dikonfigurasi dengan periode retensi 90 hari, replika akan mempertahankan snapshot dari dua bulan sebelumnya yang tidak lagi tersedia di tabel sumber.

Snapshot yang Anda kedaluwarsa secara manual di tabel sumber juga disimpan dalam tabel replika. Misalnya, jika snapshot kedaluwarsa mulai Februari di tabel sumber menggunakan prosedur Spark, Anda masih dapat melakukan perjalanan waktu ke snapshot di tabel replika.

Pertimbangan dan batasan

Pertimbangan berikut berlaku untuk tabel yang direplikasi:

  • Tabel S3 mereplikasi tabel Iceberg V2 dan V3. Namun, replikasi tabel yang ditingkatkan (V2 → V3) tidak didukung.

  • File metadata yang lebih besar dari 500MB tidak didukung.

  • Sementara pembaruan tabel biasanya direplikasi dalam beberapa menit, replikasi dapat memakan waktu lebih lama tergantung pada ukuran pembaruan tabel yang akan direplikasi, misalnya, ketika replikasi mulai mengisi ulang.

  • Tabel dengan tag atau cabang tidak didukung.

  • Replikasi tidak didukung untuk tabel Metadata Amazon S3 atau AWS tabel sistem yang dihasilkan lainnya.

  • Semua snapshot tabel, termasuk snapshot yang dipadatkan, direplikasi dari tabel sumber. Akibatnya, pemadatan tidak didukung pada tabel replika.