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.

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.

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. 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 didefinisikan 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 tabel Iceberg dalam metadata.json file atau melalui perintah ALTER TABLE SET TBLPROPERTIES SQL, termasuk retensi berbasis cabang atau tag. Manajemen snapshot dinonaktifkan saat Anda mengonfigurasi kebijakan penyimpanan berbasis cabang atau tag, atau mengonfigurasi kebijakan penyimpanan pada metadata.json file yang lebih panjang dari nilai yang dikonfigurasi melalui API. PutTableMaintenanceConfiguration Dalam kasus ini S3 tidak akan kedaluwarsa atau menghapus snapshot dan Anda perlu menghapus snapshot secara manual atau menghapus properti dari tabel Iceberg Anda untuk menghindari biaya penyimpanan.

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.