

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Menerapkan WLM otomatis
<a name="automatic-wlm"></a>

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](query-priority.md). 

WLM otomatis menentukan jumlah sumber daya yang dibutuhkan kueri dan menyesuaikan konkurensi berdasarkan beban kerja. Ketika kueri yang membutuhkan sumber daya dalam jumlah besar ada di sistem (misalnya, hash bergabung di antara tabel besar), konkurensi 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 berjalan singkat dan ringan untuk diselesaikan bahkan saat berjalan lama, kueri intensif sumber daya aktif. Untuk informasi selengkapnya tentang SQA, lihat[Akselerasi kueri pendek](wlm-short-query-acceleration.md). 

Amazon Redshift memungkinkan WLM otomatis melalui grup parameter:
+ Jika cluster Anda menggunakan grup parameter default, Amazon Redshift mengaktifkan WLM otomatis untuk mereka.
+ Jika cluster Anda menggunakan grup parameter kustom, Anda dapat mengonfigurasi cluster untuk mengaktifkan WLM otomatis. Kami menyarankan Anda membuat 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 beberapa cluster. Untuk informasi selengkapnya, lihat [Memodifikasi konfigurasi WLM](cm-c-implementing-workload-management.md#cm-c-modifying-wlm-configuration).

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
<a name="wlm-auto-query-priority"></a>

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](query-priority.md).

## Mode penskalaan konkurensi
<a name="wlm-auto-concurrency-scaling-mode"></a>

Saat penskalaan konkurensi diaktifkan, Amazon Redshift secara otomatis menambahkan kapasitas klaster tambahan saat Anda membutuhkannya untuk memproses peningkatan kueri baca dan tulis bersamaan. Pengguna Anda melihat data terbaru, apakah kueri berjalan di klaster utama atau pada klaster 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 akan dikirim ke klaster penskalaan konkurensi alih-alih menunggu dalam antrian. Untuk informasi selengkapnya, lihat [Penskalaan konkurensi](concurrency-scaling.md).

## Grup pengguna
<a name="wlm-auto-defining-query-queues-user-groups"></a>

Anda dapat menetapkan satu set grup pengguna ke antrian dengan menentukan setiap nama grup pengguna atau dengan menggunakan wildcard. Ketika anggota grup pengguna yang terdaftar menjalankan kueri, kueri tersebut berjalan dalam antrean 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](cm-c-executing-queries.md#cm-c-executing-queries-assigning-queries-to-queues-based-on-user-groups). 

## Peran pengguna
<a name="wlm-auto-defining-query-queues-user-roles"></a>

Anda dapat menetapkan satu set peran pengguna ke antrian dengan menentukan setiap nama peran pengguna atau dengan menggunakan wildcard. Ketika anggota dari peran pengguna yang terdaftar menjalankan kueri, kueri tersebut berjalan dalam antrean 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](cm-c-executing-queries.md#cm-c-executing-queries-assigning-queries-to-queues-based-on-user-roles). 

## Grup kueri
<a name="wlm-auto-defining-query-queues-query-groups"></a>

Anda dapat menetapkan satu set grup kueri ke antrian dengan menentukan setiap nama grup kueri atau dengan menggunakan wildcard. *Grup kueri* hanyalah sebuah label. Saat runtime, Anda dapat menetapkan label grup kueri ke serangkaian kueri. Setiap kueri yang ditetapkan ke grup kueri terdaftar berjalan dalam antrean 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](cm-c-executing-queries.md#cm-c-executing-queries-assigning-a-query-to-a-query-group). 

## Wildcard
<a name="wlm-auto-wildcards"></a>

Jika wildcard diaktifkan dalam konfigurasi antrian WLM, Anda dapat menetapkan grup pengguna dan grup kueri ke antrian baik secara individual atau dengan menggunakan wildcard bergaya shell Unix. Pencocokan pola tidak peka huruf besar/kecil. 

Misalnya, karakter wildcard '\$1' cocok dengan sejumlah karakter. Jadi, jika Anda menambahkan `dba_*` ke daftar grup pengguna untuk antrian, setiap 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 apa pun. Jadi, jika antrian menyertakan grup pengguna`dba?1`, maka grup pengguna bernama `dba11` dan `dba21` cocok, tetapi `dba12` tidak cocok. 

Secara default, wildcard tidak diaktifkan.

## Aturan pemantauan kueri
<a name="wlm-auto-query-monitoring-rules"></a>

Aturan pemantauan kueri menentukan batas kinerja berbasis metrik untuk antrian WLM dan menentukan tindakan apa yang harus diambil ketika kueri melampaui batas-batas tersebut. Misalnya, untuk antrian yang didedikasikan untuk kueri berjalan pendek, 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](cm-c-wlm-query-monitoring-rules.md).

## Memeriksa WLM otomatis
<a name="wlm-monitoring-automatic-wlm"></a>

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;
```

Kueri berikut menunjukkan jumlah kueri 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;
```