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

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

Mengedit konfigurasi ini membutuhkan 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 urutan tabel Anda.

Tabel S3 mendukung strategi pemadatan ini untuk tabel:

  • Otomatis (Default)

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

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

    • Untuk tabel tanpa urutan pengurutan, auto akan default menggunakan binpack pemadatan.

  • Binpack

    • 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 pada kolom tertentu. Saat Anda menggunakan strategi ini, Tabel S3 secara otomatis menerapkan pengurutan hierarkis pada kolom saat a sort_order didefinisikan dalam properti tabel.

  • Urutan Z

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

Pemadatan akan dikenakan biaya tambahan. Strategi z-order dan sort pemadatan dapat 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 API. PutTableMaintenanceConfiguration

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, sort atau z-order

catatan

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

  • Urutan pengurutan yang ditentukan dalam properti Iceberg tabel Anda.

  • s3tables:GetTableDataIzin.

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 hanya direferensikan oleh snapshot itu sebagai noncurrent. Objek noncurrent ini dihapus setelah jumlah hari yang ditentukan oleh NoncurrentDays properti dalam kebijakan penghapusan file yang tidak direferensikan.

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 Kontak 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 konfigurasikan sebagai properti Apache Iceberg tabel dalam metadata.json file atau melalui perintah ALTER TABLE SET TBLPROPERTIES SQL. Jika salah satu kondisi berikut ada, manajemen snapshot akan gagal untuk seluruh tabel dan Amazon S3 tidak akan kedaluwarsa atau menghapus snapshot apa pun:

  • Tag atau cabang yang ditentukan pengguna - Jika ada tag atau cabang yang ditentukan pengguna ada 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 mengembalikan 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 2500 jam menggunakan PutTableMaintenanceConfiguration API. MaximumSnapshotAge

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 manajemen pemadatan dan snapshot, lihat. Pertimbangan dan batasan untuk pekerjaan pemeliharaan

catatan

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