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.
Menerapkan WLM otomatis
Dengan manajemen beban kerja otomatis (WLM), Amazon Redshift mengelola konkurensi kueri dan alokasi memori. Anda dapat membuat hingga delapan antrian dengan pengidentifikasi kelas layanan 100-107. Setiap antrian memiliki prioritas. Untuk informasi selengkapnya, lihat Prioritas kueri.
WLM otomatis menentukan jumlah sumber daya yang dibutuhkan kueri dan menyesuaikan konkurensi berdasarkan beban kerja. Ketika kueri yang membutuhkan sejumlah besar sumber daya ada dalam sistem (misalnya, hash bergabung di antara tabel besar), konkurensinya lebih rendah. Ketika kueri yang lebih ringan (seperti sisipan, penghapusan, pemindaian, atau agregasi sederhana) dikirimkan, konkurensi lebih tinggi.
WLM otomatis terpisah dari akselerasi kueri pendek (SQA) dan mengevaluasi kueri secara berbeda. WLM dan SQA otomatis bekerja sama untuk memungkinkan kueri yang berjalan pendek dan ringan diselesaikan bahkan saat kueri intensif sumber daya aktif dalam waktu lama. Untuk informasi lebih lanjut tentang SQA, lihatAkselerasi kueri singkat.
Amazon Redshift mengaktifkan WLM otomatis melalui grup parameter:
Jika cluster Anda menggunakan grup parameter default, Amazon Redshift mengaktifkan WLM otomatis untuknya.
Jika cluster Anda menggunakan grup parameter khusus, Anda dapat mengonfigurasi cluster untuk mengaktifkan WLM otomatis. Sebaiknya buat grup parameter terpisah untuk konfigurasi WLM otomatis Anda.
Untuk mengkonfigurasi WLM, edit wlm_json_configuration parameter dalam grup parameter yang dapat dikaitkan dengan satu atau lebih cluster. Untuk informasi selengkapnya, lihat Memodifikasi konfigurasi WLM.
Anda menentukan antrian kueri dalam konfigurasi WLM. Anda dapat menambahkan antrian kueri tambahan ke konfigurasi WLM default, hingga total delapan antrian pengguna. Anda dapat mengonfigurasi berikut ini untuk setiap antrian kueri:
-
Prioritas
-
Mode penskalaan konkurensi
-
Grup pengguna
-
Grup kueri
-
Aturan pemantauan kueri
Prioritas
Anda dapat menentukan kepentingan relatif kueri dalam beban kerja dengan menetapkan nilai prioritas. Prioritas ditentukan untuk antrian dan diwarisi oleh semua kueri yang terkait dengan antrian. Untuk informasi selengkapnya, lihat Prioritas kueri.
Mode penskalaan konkurensi
Saat penskalaan konkurensi diaktifkan, Amazon Redshift secara otomatis menambahkan kapasitas cluster tambahan saat Anda membutuhkannya untuk memproses peningkatan kueri baca dan tulis bersamaan. Pengguna Anda melihat data terbaru, apakah kueri berjalan di cluster utama atau pada cluster penskalaan konkurensi.
Anda mengelola kueri mana yang dikirim ke cluster penskalaan konkurensi dengan mengonfigurasi antrian WLM. Saat Anda mengaktifkan penskalaan konkurensi untuk antrian, kueri yang memenuhi syarat dikirim ke cluster penskalaan konkurensi alih-alih menunggu dalam antrian. Untuk informasi selengkapnya, lihat Penskalaan konkurensi.
Grup pengguna
Anda dapat menetapkan satu set grup pengguna ke antrian dengan menentukan setiap nama grup pengguna atau dengan menggunakan wildcard. Ketika anggota grup pengguna terdaftar menjalankan kueri, kueri tersebut berjalan dalam antrian yang sesuai. Tidak ada batasan yang ditetapkan pada jumlah grup pengguna yang dapat ditetapkan ke antrian. Untuk informasi selengkapnya, lihat Menetapkan kueri ke antrian berdasarkan grup pengguna.
Peran pengguna
Anda dapat menetapkan satu set peran pengguna ke antrian dengan menentukan setiap nama peran pengguna atau dengan menggunakan wildcard. Ketika anggota peran pengguna terdaftar menjalankan kueri, kueri tersebut berjalan dalam antrian yang sesuai. Tidak ada batasan yang ditetapkan pada jumlah peran pengguna yang dapat ditetapkan ke antrian. Untuk informasi selengkapnya, lihat Menetapkan kueri ke antrian berdasarkan peran pengguna.
Grup kueri
Anda dapat menetapkan kumpulan grup kueri ke antrian dengan menentukan setiap nama grup kueri atau dengan menggunakan wildcard. Grup query hanyalah sebuah label. Saat runtime, Anda dapat menetapkan label grup kueri ke serangkaian kueri. Setiap kueri yang ditetapkan ke grup kueri terdaftar dijalankan dalam antrian yang sesuai. Tidak ada batasan yang ditetapkan untuk jumlah grup kueri yang dapat ditetapkan ke antrian. Untuk informasi selengkapnya, lihat Menetapkan kueri ke grup kueri.
Wildcard
Jika wildcard diaktifkan dalam konfigurasi antrian WLM, Anda dapat menetapkan grup pengguna dan grup kueri ke antrian baik secara individual atau dengan menggunakan wildcard gaya shell Unix. Pencocokan pola tidak peka huruf besar/kecil.
Misalnya, karakter wildcard '*' cocok dengan sejumlah karakter. Jadi, jika Anda menambahkan dba_* ke daftar grup pengguna untuk antrian, kueri yang dijalankan pengguna yang termasuk dalam grup dengan nama yang dimulai dengan dba_ ditetapkan ke antrian tersebut. Contohnya adalah dba_admin atau DBA_primary. Yang '?' karakter wildcard cocok dengan karakter tunggal mana pun. Jadi, jika antrian menyertakan grup penggunadba?1, maka grup pengguna diberi dba11 nama dan dba21 cocok, tetapi dba12 tidak cocok.
Secara default, wildcard tidak diaktifkan.
Aturan pemantauan kueri
Aturan pemantauan kueri menentukan batas kinerja berbasis metrik untuk antrian WLM dan menentukan tindakan apa yang harus diambil ketika kueri melampaui batas tersebut. Misalnya, untuk antrian yang didedikasikan untuk kueri berjalan singkat, Anda dapat membuat aturan yang membatalkan kueri yang berjalan selama lebih dari 60 detik. Untuk melacak kueri yang dirancang dengan buruk, Anda mungkin memiliki aturan lain yang mencatat kueri yang berisi loop bersarang. Untuk informasi selengkapnya, lihat Aturan pemantauan kueri WLM.
Memeriksa WLM otomatis
Untuk memeriksa apakah WLM otomatis diaktifkan, jalankan kueri berikut. Jika kueri mengembalikan setidaknya satu baris, maka WLM otomatis diaktifkan.
select * from stv_wlm_service_class_config where service_class >= 100;
Query berikut menunjukkan jumlah query yang melewati setiap antrian kueri (kelas layanan). Ini juga menunjukkan waktu eksekusi rata-rata, jumlah kueri dengan waktu tunggu pada persentil ke-90, dan waktu tunggu rata-rata. Kueri WLM otomatis menggunakan kelas layanan 100 hingga 107.
select final_state, service_class, count(*), avg(total_exec_time), percentile_cont(0.9) within group (order by total_queue_time), avg(total_queue_time) from stl_wlm_query where userid >= 100 group by 1,2 order by 2,1;
Untuk menemukan kueri mana yang dijalankan oleh WLM otomatis, dan berhasil diselesaikan, jalankan kueri berikut.
select a.queue_start_time, a.total_exec_time, label, trim(querytxt) from stl_wlm_query a, stl_query b where a.query = b.query and a.service_class >= 100 and a.final_state = 'Completed' order by b.query desc limit 5;