Regole di assegnazione delle code WLM - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Regole di assegnazione delle code WLM

Con Amazon Redshift puoi controllare l’allocazione di risorse di memoria e CPU alle query degli utenti definendo le regole di assegnazione delle code in una configurazione di gestione dei carichi di lavoro. Nella sezione seguente vengono descritte la creazione e la gestione delle regole di assegnazione delle code WLM per ottenere un’allocazione efficiente delle risorse e soddisfare gli accordi sui livelli di servizio per diversi carichi di lavoro in Amazon Redshift.

Quando un utente esegue una query, WLM assegna la query alla prima coda corrispondente, in base alle regole di assegnazione delle code WLM:

  1. Se un utente ha effettuato l'accesso come utente con privilegi avanzati ed esegue una query nel gruppo di query con l'etichetta superuser, la query viene assegnata alla coda dell'utente con privilegi avanzati.

  2. Se un utente fa parte di un ruolo, appartiene a un gruppo di utenti elencato o esegue una query in un gruppo di utenti elencato, la query viene assegnata alla prima coda corrispondente.

  3. Se una query non soddisfa alcun criterio, viene assegnata alla coda predefinita, ossia l'ultima definita nella configurazione WLM.

Lo schema seguente illustra il funzionamento di queste regole.

Diagramma di flusso che illustra le regole utilizzate da WLM per assegnare le query alle code.

Esempio di assegnazione delle code

La seguente tabella mostra una configurazione WLM con la coda dell'utente con privilegi avanzati e quattro code definite dall'utente.

Queue Simultaneità Ruoli utente Gruppi di utenti Gruppi di query

Superuser

1

superuser

1

5

test_db_rw

UG_1

2

5

QG_B

3

5

UG_2

QG_C

Predefinita

5

L'immagine seguente mostra come le query vengono assegnate alle code della tabella precedente in base ai gruppi di utenti e ai gruppi di query. Per informazioni su come assegnare le query ai gruppi di utenti e ai gruppi di query in fase di runtime, vedi Assegnazione delle query alle code più avanti in questa sezione.

Elenco di esempio delle query assegnate alle code in base ai gruppi di utenti e ai gruppi di query.

In questo esempio WLM esegue le seguenti assegnazioni:

  1. La prima serie di istruzioni mostra tre modi per assegnare gli utenti ai gruppi di utenti. Le istruzioni sono eseguite dall'utente adminuser che non è un membro di un gruppo di utenti elencato in una coda WLM. Nessun gruppo di query è impostato, quindi le istruzioni vengono indirizzate alla coda predefinita.

  2. L'utente adminuser è un utente con privilegi avanzati e il gruppo di query è impostato su 'superuser', pertanto la query viene assegnata alla coda dell'utente con privilegi avanzati.

  3. All'utente test_user è assegnato il ruolo test_db_rw elencato nella coda 1, pertanto la query viene assegnata alla coda 1.

  4. L'utente admin1 è un membro del gruppo di utenti elencato nella coda 1, pertanto la query viene assegnata alla coda 1.

  5. L'utente vp1 non è un membro di alcun gruppo di utenti elencato. Il gruppo di query è impostato su 'QG_B', quindi la query viene assegnata alla coda 2.

  6. L'utente analyst1 è un membro del gruppo di utenti elencato nella coda 3, ma 'QG_B' corrisponde alla coda 2, quindi la query viene assegnata alla coda 2.

  7. L'utente ralph non è un membro di alcun gruppo di utenti elencato e il gruppo di query è stato reimpostato, pertanto non è presente alcuna coda corrispondente. La query viene assegnata alla coda predefinita.