Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meja 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 inkremental, Anda juga dapat menjalankan VAKUM perintah, baik terhadap seluruh database atau terhadap tabel individual.
catatan
Hanya pengguna dengan izin tabel yang diperlukan yang dapat menyedot meja secara efektif. 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 sarankan menyedot debu masing-masing meja sesuai kebutuhan. Kami juga merekomendasikan pendekatan ini karena menyedot debu seluruh database berpotensi merupakan operasi yang mahal.
Pengurutan tabel otomatis
Amazon Redshift secara otomatis mengurutkan data di latar belakang untuk mempertahankan data tabel dalam urutan kunci pengurutannya. Amazon Redshift melacak kueri pemindaian Anda untuk menentukan bagian tabel mana yang akan mendapat manfaat dari penyortiran. Amazon Redshift juga melacak kueri pemindaian dari cluster penskalaan konkurensi. Untuk arsitektur multi cluster yang menggunakan Amazon Redshift Data Sharing, Amazon Redshift juga melacak kueri pemindaian yang berasal dari konsumen clusters/workgroups di jaring data Anda, termasuk clusters/workgroups di berbagai wilayah. Statistik pemindaian dari cluster utama, cluster penskalaan konkurensi, dan cluster konsumen dikumpulkan untuk menentukan bagian tabel mana yang akan mendapat manfaat dari penyortiran.
Bergantung pada beban pada sistem, Amazon Redshift secara otomatis memulai pengurutan. Urutan otomatis ini mengurangi kebutuhan untuk menjalankan perintah VACUUM untuk menjaga data dalam urutan kunci pengurutan. Jika Anda membutuhkan data yang sepenuhnya diurutkan dalam urutan kunci, 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 pengurutan 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 pada tabel. 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% secara fisik tidak disortir, 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% secara fisik tidak disortir. Tetapi dampak kinerja kueri 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 beban berkurang dan menjeda operasi selama periode beban tinggi.
Topik
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 ditunjuk.
-
Jalankan perintah VACUUM di luar jendela pemeliharaan. Untuk informasi selengkapnya, lihat Men jadwalkan 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 diatur ulang.
-
VACUUM adalah operasi I/O intensif, jadi semakin lama waktu yang dibutuhkan untuk penyelesaian vakum Anda, semakin besar dampaknya pada kueri bersamaan dan operasi database lain yang berjalan di cluster Anda.
-
VACUUM membutuhkan waktu lebih lama untuk tabel yang menggunakan penyortiran interleaved. Untuk mengevaluasi apakah tabel yang disisipkan harus disortir ulang, kueri tampilan. SVV_INTERLEAVED_COLUMNS
Urutkan tahap dan gabungkan tahap
Amazon Redshift melakukan operasi vakum dalam dua tahap: pertama, mengurutkan baris di wilayah yang tidak disortir, kemudian, jika perlu, 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 oleh 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. Urutan inkremental 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, lihatKurangi volume baris gabungan.
Pengguna dapat mengakses tabel saat sedang disedot debu. Anda dapat melakukan kueri dan operasi penulisan saat tabel sedang disedot, tetapi ketika DML 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 inkremental memblokir sementara operasi UPDATE dan DELETE bersamaan, dan operasi UPDATE dan DELETE pada gilirannya memblokir sementara langkah-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 setiap tabel di mana lebih dari 95 persen baris tabel sudah diurutkan. Melewatkan fase pengurutan dapat secara signifikan meningkatkan kinerja VACUUM. Untuk mengubah ambang pengurutan default untuk satu tabel, sertakan nama tabel dan parameter TO ambang batas PERSEN saat Anda menjalankan perintah VACUUM.
Jenis vakum
Untuk informasi tentang berbagai jenis vakum, lihatVAKUM.