Regras de atribuição de fila do WLM - Amazon Redshift

Regras de atribuição de fila do WLM

Com o Amazon Redshift, é possível controlar a alocação de recursos de memória e CPU para consultas de usuários definindo regras de atribuição de fila em uma configuração do gerenciamento de workloads (WLM). A seção a seguir descreve como criar e gerenciar regras de atribuição de fila do WLM para obter uma alocação eficiente de recursos e atender a acordos de serviço referentes a diversas workloads no Amazon Redshift.

Quando um usuário executa uma consulta, o WLM a atribui à primeira fila correspondente, com base nas regras de atribuição de fila do WLM:

  1. Se um usuário estiver conectado como superusuário e executar uma consulta no grupo de consultas identificado, a consulta será atribuída à fila de superusuários.

  2. Se um usuário fizer parte de um perfil, pertencer a um grupo de usuários listado ou executar uma consulta dentro de um grupo de consultas listado, a consulta será atribuída à primeira fila correspondente.

  3. Se não atender a nenhum critério, a consulta será atribuída à fila padrão, a última fila definida na configuração do WLM.

O diagrama a seguir ilustra como essas regras funcionam.

Fluxograma ilustrando as regras que o WLM usa para atribuir consultas às filas.

Exemplo das atribuições de fila

A tabela a seguir mostra uma configuração do WLM com a fila de superusuários e quatro filas definidas pelo usuário.

Fila Simultaneidade Perfis de usuário User Groups (Grupos de usuários) Query Groups (Grupos de consultas)

Superusuário

1

superusuário

1

5

test_db_rw

UG_1

2

5

QG_B

3

5

UG_2

QG_C

Padrão

5

A ilustração a seguir mostra como consultas são atribuídas às filas na tabela anterior de acordo com grupos de usuários e grupos de consultas. Para obter informações sobre como atribuir consultas a grupos de usuários e grupos de consultas no tempo de execução, consulte Atribuir consultas a filas posteriormente nesta seção.

Lista de exemplo de consultas atribuídas a filas de acordo com grupos de usuários e grupos de consultas.

Neste exemplo, WLM faz as seguintes atribuições:

  1. O primeiro conjunto de instruções mostra três maneiras de atribuir usuários a grupos. As instruções são executadas pelo usuário adminuser, que não é membro de um grupo de usuários listado em nenhuma fila do WLM. Como nenhum grupo de consultas está definido, as instruções são roteadas para a fila padrão.

  2. Como o usuário adminuser é um superusuário e o grupo de consultas está definido como 'superuser', a consulta está atribuída à fila de superusuários.

  3. Como o usuário test_user recebeu o perfil test_db_rw listado na fila 1, a consulta é atribuída à fila 1.

  4. Como o usuário admin1 é membro do grupo de usuários listado na fila 1, a consulta é atribuída à fila 1.

  5. O usuário vp1 não é membro de nenhum grupo de usuários listado. Como o grupo de consultas é definido como 'QG_B', a consulta é atribuída à fila 2.

  6. O usuário analyst1 é membro do grupo de usuários listado na fila 3, mas 'QG_B' corresponde à fila 2, logo, consulta é atribuída à fila 2.

  7. Como o usuário ralph não é membro de nenhum grupo de usuários listado e o grupo de consultas não foi redefinido, não há fila correspondente. A consulta é atribuída à fila padrão.