Tabel penyedot debu - Amazon Redshift

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

Tabel penyedot debu

Amazon Redshift dapat secara otomatis mengurutkan dan melakukan operasi VACUUM DELETE pada tabel di latar belakang. Untuk membersihkan tabel setelah pemuatan atau serangkaian pembaruan tambahan, Anda juga dapat menjalankan VAKUM perintah, baik terhadap seluruh database atau terhadap tabel individual.

catatan

Hanya pengguna dengan izin tabel yang diperlukan yang dapat secara efektif menyedot tabel. Jika VACUUM dijalankan tanpa izin tabel yang diperlukan, operasi selesai dengan sukses tetapi tidak berpengaruh. Untuk daftar izin tabel yang valid untuk menjalankan VACUUM secara efektif, lihatVAKUM.

Untuk alasan ini, kami merekomendasikan menyedot debu tabel individual sesuai kebutuhan. Kami juga merekomendasikan pendekatan ini karena menyedot debu seluruh database berpotensi menjadi operasi yang mahal.

Penyortiran tabel otomatis

Amazon Redshift secara otomatis mengurutkan data di latar belakang untuk mempertahankan data tabel dalam urutan kunci sortir. Amazon Redshift melacak kueri pemindaian Anda untuk menentukan bagian tabel mana yang akan mendapat manfaat dari penyortiran.

Bergantung pada beban pada sistem, Amazon Redshift secara otomatis memulai pengurutan. Penyortiran otomatis ini mengurangi kebutuhan untuk menjalankan perintah VACUUM untuk menyimpan data dalam urutan kunci sortir. Jika Anda membutuhkan data yang sepenuhnya diurutkan dalam urutan kunci sortir, misalnya setelah pemuatan data yang besar, maka Anda masih dapat menjalankan perintah VACUUM secara manual. Untuk menentukan apakah tabel Anda akan mendapat manfaat dengan menjalankan VACUUM SORT, pantau vacuum_sort_benefit kolom diSVV_TABLE_INFO.

Amazon Redshift melacak kueri pemindaian yang menggunakan tombol sortir pada setiap tabel. Amazon Redshift memperkirakan persentase maksimum peningkatan dalam pemindaian dan pemfilteran data untuk setiap tabel (jika tabel diurutkan sepenuhnya). Perkiraan ini terlihat di vacuum_sort_benefit kolom diSVV_TABLE_INFO. Anda dapat menggunakan kolom ini, bersama dengan unsorted kolom, untuk menentukan kapan kueri dapat memperoleh manfaat dari menjalankan VACUUM SORT secara manual di atas meja. unsortedKolom mencerminkan urutan fisik tabel. vacuum_sort_benefitKolom menentukan dampak penyortiran tabel dengan menjalankan VACUUM SORT secara manual.

Misalnya, pertimbangkan kueri berikut:

select "table", unsorted,vacuum_sort_benefit from svv_table_info order by 1;
table | unsorted | vacuum_sort_benefit -------+----------+--------------------- sales | 85.71 | 5.00 event | 45.24 | 67.00

Untuk tabel “penjualan”, meskipun tabel ~ 86% tidak disortir secara fisik, dampak kinerja kueri dari tabel yang 86% tidak disortir hanya 5%. Ini mungkin karena hanya sebagian kecil dari tabel yang diakses oleh kueri, atau sangat sedikit kueri yang mengakses tabel. Untuk tabel “acara”, tabel ~ 45% tidak disortir secara fisik. Tetapi dampak kinerja kueri sebesar 67% menunjukkan bahwa sebagian besar tabel diakses oleh kueri, atau jumlah kueri yang mengakses tabel besar. Tabel “acara” berpotensi mendapat manfaat dari menjalankan VACUUM SORT.

Hapus vakum otomatis

Saat Anda melakukan penghapusan, baris ditandai untuk dihapus, tetapi tidak dihapus. Amazon Redshift secara otomatis menjalankan operasi VACUUM DELETE di latar belakang berdasarkan jumlah baris yang dihapus dalam tabel database. Amazon Redshift menjadwalkan VACUUM DELETE untuk berjalan selama periode pengurangan beban dan menghentikan operasi selama periode beban tinggi.

Frekuensi VAKUM

Anda harus menyedot debu sesering yang diperlukan untuk mempertahankan kinerja kueri yang konsisten. Pertimbangkan faktor-faktor ini saat menentukan seberapa sering menjalankan perintah VACUUM Anda:

  • Jalankan VACUUM selama periode waktu ketika Anda mengharapkan aktivitas minimal di cluster, seperti malam hari atau selama jendela administrasi database yang ditentukan.

  • Jalankan perintah VACUUM di luar jendela pemeliharaan. Untuk informasi selengkapnya, lihat Menjadwalkan di sekitar jendela pemeliharaan.

  • Wilayah besar yang tidak disortir menghasilkan waktu vakum yang lebih lama. Jika Anda menunda penyedot debu, vakum akan memakan waktu lebih lama karena lebih banyak data harus ditata ulang.

  • VACUUM adalah operasi intensif I/O, jadi semakin lama waktu yang dibutuhkan untuk menyelesaikan vakum Anda, semakin besar dampaknya pada kueri bersamaan dan operasi database lainnya yang berjalan di cluster Anda.

  • VACUUM membutuhkan waktu lebih lama untuk tabel yang menggunakan penyortiran interleaved. Untuk mengevaluasi apakah tabel yang disisipkan harus diurutkan ulang, kueri tampilan. SVV_INTERLEAVED_COLUMNS

Urutkan tahap dan gabungkan tahap

Amazon Redshift melakukan operasi vakum dalam dua tahap: pertama, ia mengurutkan baris di wilayah yang tidak disortir, kemudian, jika perlu, ia menggabungkan baris yang baru diurutkan di akhir tabel dengan baris yang ada. Saat menyedot debu meja besar, operasi vakum berlangsung dalam serangkaian langkah yang terdiri dari jenis tambahan diikuti dengan penggabungan. Jika operasi gagal atau jika Amazon Redshift offline selama vakum, tabel atau database yang disedot sebagian akan berada dalam keadaan konsisten, tetapi Anda harus memulai ulang operasi vakum secara manual. Jenis tambahan hilang, tetapi baris gabungan yang dilakukan sebelum kegagalan tidak perlu disedot lagi. Jika wilayah yang tidak disortir besar, waktu yang hilang mungkin signifikan. Untuk informasi selengkapnya tentang tahapan pengurutan dan penggabungan, lihatMengelola volume baris gabungan.

Pengguna dapat mengakses tabel saat sedang disedot. Anda dapat melakukan kueri dan menulis operasi saat tabel sedang disedot, tetapi ketika DHTML dan vakum berjalan secara bersamaan, keduanya mungkin membutuhkan waktu lebih lama. Jika Anda menjalankan pernyataan UPDATE dan DELETE selama vakum, kinerja sistem mungkin berkurang. Penggabungan tambahan untuk sementara memblokir operasi UPDATE dan DELETE bersamaan, dan operasi UPDATE dan DELETE pada gilirannya memblokir sementara langkah penggabungan tambahan pada tabel yang terpengaruh. Operasi DDL, seperti ALTER TABLE, diblokir sampai operasi vakum selesai dengan tabel.

catatan

Berbagai pengubah untuk VACUUM mengontrol cara kerjanya. Anda dapat menggunakannya untuk menyesuaikan operasi vakum untuk kebutuhan saat ini. Misalnya, menggunakan VACUUM RECLUSTER memperpendek operasi vakum dengan tidak melakukan operasi penggabungan penuh. Untuk informasi selengkapnya, lihat VAKUM.

Ambang vakum

Secara default, VACUUM melewatkan fase pengurutan untuk tabel mana pun di mana lebih dari 95 persen baris tabel sudah diurutkan. Melewatkan fase pengurutan dapat secara signifikan meningkatkan kinerja VACUUM. Untuk mengubah ambang batas pengurutan default untuk satu tabel, sertakan nama tabel dan parameter TO threshold PERCENT saat Anda menjalankan perintah VACUUM.

Jenis vakum

Untuk informasi tentang berbagai jenis vakum, lihatVAKUM.