View a markdown version of this page

Pemeliharaan untuk tabel - Amazon Simple Storage Service

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

Pemeliharaan untuk tabel

S3 Tables menawarkan operasi pemeliharaan untuk meningkatkan manajemen dan kinerja tabel individual Anda. Opsi berikut diaktifkan secara default untuk semua tabel dalam bucket tabel. Anda dapat mengedit atau menonaktifkannya dengan menentukan file konfigurasi pemeliharaan untuk tabel S3 Anda.

Mengedit konfigurasi ini memerlukan s3tables:PutTableMaintenanceConfiguration izin s3tables:GetTableMaintenanceConfiguration dan.

catatan

Anda dapat melacak operasi pemeliharaan otomatis Tabel S3 pada tabel Anda melalui CloudTrail log, untuk informasi selengkapnya, lihatCloudTrail acara manajemen untuk pemeliharaan Tabel S3.

Pemadatan

Pemadatan dikonfigurasi pada tingkat tabel dan menggabungkan beberapa objek yang lebih kecil menjadi objek yang lebih sedikit dan lebih besar untuk meningkatkan kinerja Apache Iceberg kueri. Saat menggabungkan objek, pemadatan juga menerapkan efek penghapusan tingkat baris di tabel Anda.

Pemadatan diaktifkan secara default untuk semua tabel, dengan ukuran file target default 512MB, atau nilai kustom yang Anda tentukan antara 64MB hingga 512MB. File yang dipadatkan ditulis sebagai snapshot terbaru dari tabel Anda.

catatan

Pemadatan didukung padaApache Parquet,Avro, dan jenis ORC file.

Strategi Pemadatan

Anda dapat memilih dari beberapa strategi pemadatan yang selanjutnya dapat meningkatkan kinerja kueri tergantung pada pola kueri dan urutan tabel Anda.

Tabel S3 mendukung strategi pemadatan ini untuk tabel:

  • Otomatis (Default)

    • Amazon S3 memilih strategi pemadatan terbaik berdasarkan urutan tabel Anda. Ini adalah strategi pemadatan default untuk semua tabel.

    • Untuk tabel dengan urutan urutan yang ditentukan dalam metadata mereka, auto akan secara otomatis menerapkan pemad sort atan.

    • Untuk tabel tanpa urutan pengurutan, auto akan secara default menggunakan pemad binpack atan.

  • Bin-pack

    • Menggabungkan file kecil menjadi file yang lebih besar, biasanya menargetkan ukuran lebih dari 100MB, sambil menerapkan penghapusan yang tertunda. Ini adalah strategi pemadatan default untuk tabel yang tidak disortir.

  • Urutkan

    • Mengatur data berdasarkan kolom tertentu yang diurutkan secara otomatis berdasarkan hierarki selama pemadatan, meningkatkan kinerja kueri untuk operasi yang difilter. Strategi ini direkomendasikan ketika kueri Anda sering memfilter kolom tertentu. Saat Anda menggunakan strategi ini, Tabel S3 secara otomatis menerapkan pengurutan hierarkis pada kolom ketika a sort_order ditentukan dalam properti tabel.

  • Z-order

    • Mengoptimalkan organisasi data dengan memadukan beberapa atribut ke dalam satu nilai skalar yang dapat digunakan untuk menyortir, memungkinkan kueri yang efisien di berbagai dimensi. Strategi ini direkomendasikan ketika Anda perlu menanyakan data di beberapa dimensi secara bersamaan. Strategi ini mengharuskan Anda untuk menentukan urutan dalam properti tabel Iceberg Anda menggunakan properti sort_order tabel.

Pemadatan akan menimbulkan biaya tambahan. Strategi z-order dan sort pemadatan mungkin menimbulkan biaya yang lebih tinggi daripada. binpack Untuk informasi selengkapnya, lihat informasi harga di. Harga Amazon S3.

Contoh Pemadatan

Contoh berikut menunjukkan konfigurasi untuk pemadatan tabel.

Untuk mengkonfigurasi ukuran file target pemadatan dengan menggunakan AWS CLI

Ukuran file pemadatan target minimum adalah 64MB; maksimum adalah 512MB.

Contoh berikut akan mengubah ukuran file target menjadi 256MB menggunakan PutTableMaintenanceConfiguration API.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"enabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'

Untuk informasi selengkapnya, lihat put-table-maintenance-configuration dalam AWS CLI Referensi Perintah.

Untuk mengkonfigurasi strategi pemadatan dengan menggunakan AWS CLI

Contoh berikut akan mengubah strategi pemadatan untuk sort menggunakan PutTableMaintenanceConfiguration API. Saat mengatur pemadatan, Anda dapat memilih dari strategi pemadatan berikut:auto,,binpack, atau sort z-order

catatan

Untuk mengatur strategi pemadatan ke sort atau z-order Anda memerlukan prasyarat berikut:

  • Urutan pengurutan yang ditentukan dalam Iceberg properti tabel Anda.

  • Iz s3tables:GetTableData in.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"enabled","settings":{"icebergCompaction":{"strategy":"sort"}}}'

Untuk informasi selengkapnya, lihat put-table-maintenance-configuration dalam AWS CLI Referensi Perintah.

Untuk menonaktifkan pemadatan dengan menggunakan AWS CLI

Contoh berikut akan menonaktifkan pemadatan menggunakan PutTableMaintenanceConfiguration API.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"disabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'

Untuk informasi selengkapnya, lihat put-table-maintenance-configuration dalam AWS CLI Referensi Perintah.

Manajemen snapshot

Manajemen snapshot menentukan jumlah snapshot aktif untuk tabel Anda. Ini didasarkan pada MinimumSnapshots (1 secara default) dan MaximumSnapshotAge (120 jam secara default). Manajemen snapshot kedaluwarsa dan menghapus snapshot tabel berdasarkan konfigurasi ini.

Saat snapshot kedaluwarsa, Amazon S3 menandai objek apa pun yang direferensikan hanya oleh snapshot tersebut sebagai noncurrent. Objek noncurrent ini dihapus setelah jumlah hari yang ditentukan oleh NoncurrentDays properti dalam kebijakan penghapusan file tanpa referensi Anda.

catatan

Penghapusan objek noncurrent bersifat permanen tanpa cara untuk memulihkan objek ini.

Untuk melihat atau memulihkan objek yang telah ditandai sebagai noncurrent, Anda harus menghubungi AWS Dukungan. Untuk informasi tentang menghubungi AWS Dukungan, lihat Kon tak AWS atau AWS Dukungan Dokumentasi.

Manajemen snapshot menentukan objek yang akan dihapus dari tabel Anda dengan referensi hanya ke tabel itu. Referensi ke objek-objek ini dari luar tabel tidak akan mencegah manajemen snapshot menghapusnya.

catatan

Manajemen snapshot tidak mendukung nilai retensi yang Anda konfigur Apache Iceberg asikan sebagai properti tabel dalam metadata.json file atau melalui perintah ALTER TABLE SET TBLPROPERTIES SQL. Jika ada kondisi berikut, manajemen snapshot akan gagal untuk seluruh tabel dan Amazon S3 tidak akan kedaluwarsa atau menghapus snapshot apa pun:

  • User-defined tag atau cabang — Jika ada tag atau cabang yang ditentukan pengguna di tabel, manajemen snapshot akan gagal untuk seluruh tabel. Ini berlaku bahkan jika tag atau cabang memiliki periode retensi yang singkat. Untuk mengembalikan kedaluwarsa snapshot otomatis, hapus semua tag dan cabang yang ditentukan pengguna dari tabel.

  • Properti tabel retensi snapshot iceberg — Jika history.expire.min-snapshots-to-keep properti history.expire.max-snapshot-age-ms or ditetapkan sebagai properti Apache Iceberg tabel, manajemen snapshot akan gagal untuk seluruh tabel terlepas dari nilai yang dikonfigurasi. Untuk memulihkan kedaluwarsa snapshot otomatis, hapus properti ini:

    ALTER TABLE mydb.mytable UNSET TBLPROPERTIES ('history.expire.max-snapshot-age-ms'); ALTER TABLE mydb.mytable UNSET TBLPROPERTIES ('history.expire.min-snapshots-to-keep');

Untuk mendiagnosis kegagalan manajemen snapshot, gunakan GetTableMaintenanceJobStatus API atau jalankan AWS CLI perintah berikut. Jika manajemen snapshot gagal, respons menyertakan FAILED status dengan pesan yang menjelaskan penyebab kegagalan.

aws s3tables get-table-maintenance-job-status \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table

Anda hanya dapat mengonfigurasi manajemen snapshot di tingkat tabel. Untuk informasi selengkapnya, lihat informasi harga di harga Amazon S3.

Contoh Manajemen Snapshot

Contoh berikut menunjukkan konfigurasi untuk manajemen snapshot tabel.

Untuk mengkonfigurasi manajemen snapshot dengan menggunakan AWS CLI

Contoh berikut akan mengatur MinimumSnapshots ke 10 dan MaximumSnapshotAge ke 2500 jam menggunakan PutTableMaintenanceConfiguration API.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}'
Untuk menonaktifkan manajemen snapshot dengan menggunakan AWS CLI

Contoh berikut akan menonaktifkan manajemen snapshot menggunakan PutTableMaintenanceConfiguration API.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'

Untuk informasi selengkapnya, lihat put-table-maintenance-configuration dalam AWS CLI Referensi Perintah.

Pertimbangan dan keterbatasan

Untuk mempelajari lebih lanjut tentang pertimbangan dan batasan tambahan untuk pengelolaan pemadatan dan snapshot, lihatPertimbangan dan batasan untuk pekerjaan pemeliharaan.

catatan

Tabel S3 menerapkan ukuran parket baris-group-default 128 MB.