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 VACUUM DELETE operasi pada tabel di latar belakang. Untuk membersihkan tabel setelah pemuatan atau serangkaian pembaruan tambahan, Anda juga dapat menjalankan VACUUM 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 agar dapat dijalankan secara efektifVACUUM, lihatVACUUM.

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 VACUUM perintah 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 VACUUM perintah secara manual. Untuk menentukan apakah tabel Anda akan mendapat manfaat dengan menjalankan VACUUMSORT, 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 berjalan secara manual VACUUM SORT di atas meja. unsortedKolom mencerminkan urutan fisik dari sebuah 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 berlari VACUUMSORT.

Hapus vakum otomatis

Saat Anda melakukan penghapusan, baris ditandai untuk dihapus, tetapi tidak dihapus. Amazon Redshift secara otomatis menjalankan VACUUM DELETE operasi 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.

VACUUMfrekuensi

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

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

  • Jalankan VACUUM perintah 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.

  • VACUUMadalah 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.

  • VACUUMmembutuhkan 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 inkremental 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 kapan DML dan vakum berjalan secara bersamaan, keduanya mungkin membutuhkan waktu lebih lama. Jika Anda menjalankan UPDATE dan DELETE pernyataan selama vakum, kinerja sistem mungkin berkurang. Penggabungan inkremental untuk sementara memblokir konkuren UPDATE dan DELETE operasi, UPDATE dan DELETE operasi pada gilirannya memblokir sementara langkah penggabungan tambahan pada tabel yang terpengaruh. DDLoperasi, seperti ALTERTABLE, diblokir sampai operasi vakum selesai dengan meja.

catatan

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

Ambang vakum

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

Jenis vakum

Untuk informasi tentang berbagai jenis vakum, lihatVACUUM.