Desbloqueie o controle granular de recursos com QMR baseado em fila no Amazon Redshift Serverless


Amazon Redshift sem servidor take away o gerenciamento de infraestrutura e os requisitos de escalonamento handbook das operações de armazenamento de dados. O gerenciamento de recursos de consulta baseado em filas sem servidor do Amazon Redshift ajuda a proteger cargas de trabalho críticas e controlar custos, isolando consultas em filas dedicadas com regras automatizadas que evitam que consultas descontroladas afetem outros usuários. Você pode criar filas de consulta dedicadas com regras de monitoramento personalizadas para diferentes cargas de trabalho, fornecendo controle granular sobre o uso de recursos. As filas permitem definir predicados baseados em métricas e respostas automatizadas, como anular automaticamente consultas que excedem os limites de tempo ou consomem recursos excessivos.

Diferentes cargas de trabalho analíticas têm requisitos distintos. Os painéis de advertising and marketing precisam de tempos de resposta rápidos e consistentes. As cargas de trabalho de ciência de dados podem executar consultas complexas e que consomem muitos recursos. Os processos de extração, transformação e carregamento (ETL) podem executar transformações demoradas fora do horário comercial.

À medida que as organizações dimensionam o uso de análises para mais usuários, equipes e cargas de trabalho, garantir desempenho consistente e controle de custos torna-se cada vez mais desafiador em um ambiente compartilhado. Uma única consulta mal otimizada pode consumir recursos desproporcionais, degradando o desempenho de painéis críticos para os negócios, trabalhos de ETL e relatórios executivos. Com as regras de monitoramento de consultas (QMR) baseadas em filas sem servidor do Amazon Redshift, os administradores podem definir limites de reconhecimento de carga de trabalho e ações automatizadas no nível da fila, uma melhoria significativa em relação ao monitoramento anterior no nível do grupo de trabalho. Você pode criar filas dedicadas para cargas de trabalho distintas, como relatórios de BI, análises advert hoc ou engenharia de dados, e depois aplicar regras específicas de fila para cancelar, registrar ou restringir automaticamente consultas que excedam os limites de tempo de execução ou de consumo de recursos. Ao isolar cargas de trabalho e impor controles direcionados, essa abordagem protege consultas de missão crítica, melhora a previsibilidade do desempenho e evita a monopolização de recursos, tudo isso enquanto mantém a flexibilidade de uma experiência sem servidor.

Nesta postagem, discutimos como você pode implementar suas cargas de trabalho com filas de consulta no Redshift Serverless.

Monitoramento baseado em fila versus monitoramento em nível de grupo de trabalho

Antes das filas de consulta, o Redshift Serverless oferecia regras de monitoramento de consulta (QMRs) apenas no nível do grupo de trabalho. Isso significava que as consultas, independentemente da finalidade ou do usuário, estavam sujeitas às mesmas regras de monitoramento.

O monitoramento baseado em fila representa um avanço significativo:

  • Controle granular – Você pode criar filas dedicadas para diferentes tipos de carga de trabalho
  • Atribuição baseada em função – Você pode direcionar consultas para filas específicas com base em funções de usuários e grupos de consultas
  • Operação independente – Cada fila mantém suas próprias regras de monitoramento

Visão geral da solução

Nas seções a seguir, examinamos como uma organização típica pode implementar filas de consulta no Redshift Serverless.

Componentes de arquitetura

Configuração do grupo de trabalho

  • A unidade elementary onde as filas de consulta são definidas
  • Contém as definições de fila, mapeamentos de funções de usuário e regras de monitoramento

Estrutura da fila

  • Várias filas independentes operando em um único grupo de trabalho
  • Cada fila tem seus próprios parâmetros de alocação de recursos e regras de monitoramento

Mapeamento de usuário/função

  • Direciona consultas para filas apropriadas com base em:
  • Funções de usuário (por exemplo, analista, etl_role, admin)
  • Grupos de consulta (por exemplo, relatórios, group_etl_inbound)
  • Consultar curingas de grupo para correspondência flexível

Regras de monitoramento de consultas (QMRs)

  • Defina limites para métricas como tempo de execução e uso de recursos
  • Especifique ações automatizadas (abortar, registrar) quando os limites forem excedidos

Pré-requisitos

Para implementar filas de consulta no Amazon Redshift Serverless, você precisa ter os seguintes pré-requisitos:

Ambiente sem servidor Redshift:

  • Grupo de trabalho sem servidor ativo do Amazon Redshift
  • Namespace associado

Requisitos de acesso:

  • Acesso ao AWS Administration Console com permissões Redshift Serverless
  • Acesso AWS CLI (opcional para implementação de linha de comando)
  • Credenciais de banco de dados administrativo para seu grupo de trabalho

Permissões necessárias:

  • Permissões IAM para operações Redshift Serverless (CreateWorkgroup, UpdateWorkgroup)
  • Capacidade de criar e gerenciar usuários e funções de banco de dados

Identifique os tipos de carga de trabalho

Comece categorizando suas cargas de trabalho. Os padrões comuns incluem:

  • Análise interativa – Painéis e relatórios que exigem tempos de resposta rápidos
  • Ciência de dados – Análise exploratória complexa e com uso intensivo de recursos
  • ETL/ELT – Processamento em lote com tempos de execução mais longos
  • Administrativo – Operações de manutenção que requerem privilégios especiais

Definir configuração da fila

Para cada tipo de carga de trabalho, defina parâmetros e regras apropriados. Para um exemplo prático, vamos supor que queremos implementar três filas:

  • Fila do painel – Usado por funções de usuário analista e visualizador, com um limite de tempo de execução estrito definido para interromper consultas com mais de 60 segundos
  • Fila ETL – Usado por funções de usuário etl_role, com um limite de 100.000 blocos no derramamento de disco (query_temp_blocks_to_disk) para controlar o uso de recursos durante operações de processamento de dados
  • Fila de administração – Usado por funções de usuário administrador, sem limite de monitoramento de consulta aplicado

Para implementar isso usando o Console de gerenciamento da AWSconclua as seguintes etapas:

  1. No console do Redshift Serverless, acesse seu grupo de trabalho.
  2. No Limites guia, em Filas de consultaescolher Habilitar filas.
  3. Configure cada fila com parâmetros apropriados, conforme mostrado na captura de tela a seguir.

Cada fila (dashboard, ETL, admin_queue) é mapeada para funções de usuário e grupos de consulta específicos, criando limites claros entre regras de consulta. As regras de monitoramento de consultas implementam governança automatizada de recursos — por exemplo, a fila do painel interrompe automaticamente as consultas que excedem 60 segundos (short_timeout), ao mesmo tempo que permite processos de ETL com tempos de execução mais longos e limites diferentes. Essa configuração ajuda a evitar a monopolização de recursos, estabelecendo vias de processamento separadas com proteções apropriadas, para que processos de negócios críticos possam manter os recursos computacionais necessários e, ao mesmo tempo, limitar o impacto de operações que consomem muitos recursos.

Desbloqueie o controle granular de recursos com QMR baseado em fila no Amazon Redshift Serverless

Alternativamente, você pode implementar a solução usando o Interface de linha de comando da AWS (AWS CLI).

No exemplo a seguir, nós criar um novo grupo de trabalho nomeado test-workgroup dentro de um namespace existente chamado test-namespace. Isto permite criar filas e estabelecer regras de monitoramento associadas para cada fila usando o seguinte comando:

aws redshift-serverless create-workgroup 
  --workgroup-name test-workgroup 
  --namespace-name test-namespace 
  --config-parameters '({"parameterKey": "wlm_json_configuration", "parameterValue": "({"title":"dashboard","user_role":("analyst","viewer"),"query_group":("reporting"),"query_group_wild_card":1,"guidelines":({"rule_name":"short_timeout","predicate":({"metric_name":"query_execution_time","operator":">","worth":60}),"motion":"abort"})},{"title":"ETL","user_role":("etl_role"),"query_group":("group_etl_inbound","group_etl_outbound"),"guidelines":({"rule_name":"long_timeout","predicate":({"metric_name":"query_execution_time","operator":">","worth":3600}),"motion":"log"},{"rule_name":"memory_limit","predicate":({"metric_name":"query_temp_blocks_to_disk","operator":">","worth":100000}),"motion":"abort"})},{"title":"admin_queue","user_role":("admin"),"query_group":("admin")})"})' 

Você também pode modificar um grupo de trabalho existente usando grupo de trabalho de atualização usando o seguinte comando:

aws redshift-serverless update-workgroup 
  --workgroup-name test-workgroup 
  --config-parameters '({"parameterKey": "wlm_json_configuration", "parameterValue": "({"title":"dashboard","user_role":("analyst","viewer"),"query_group":("reporting"),"query_group_wild_card":1,"guidelines":({"rule_name":"short_timeout","predicate":({"metric_name":"query_execution_time","operator":">","worth":60}),"motion":"abort"})},{"title":"ETL","user_role":("etl_role"),"query_group":("group_etl_load","group_etl_replication"),"guidelines":({"rule_name":"long_timeout","predicate":({"metric_name":"query_execution_time","operator":">","worth":3600}),"motion":"log"},{"rule_name":"memory_limit","predicate":({"metric_name":"query_temp_blocks_to_disk","operator":">","worth":100000}),"motion":"abort"})},{"title":"admin_queue","user_role":("admin"),"query_group":("admin")})"})'

Melhores práticas para gerenciamento de filas

Considere as seguintes práticas recomendadas:

  • Comece simples – Comece com um conjunto mínimo de filas e regras
  • Alinhe-se com as prioridades de negócios – Configure filas para refletir processos de negócios críticos
  • Monitore e ajuste – Revise regularmente o desempenho da fila e ajuste os limites
  • Teste antes da produção – Valide o comportamento das métricas de consulta em um ambiente de teste antes de aplicá-las à produção

Limpar

Para limpar seus recursos, exclua os grupos de trabalho e namespaces do Amazon Redshift Serverless. Para obter instruções, consulte Excluindo um grupo de trabalho.

Conclusão

As filas de consulta no Amazon Redshift Serverless preenchem a lacuna entre a simplicidade sem servidor e o controle refinado da carga de trabalho, permitindo regras de monitoramento de consulta específicas da fila, adaptadas a diferentes cargas de trabalho analíticas. Ao isolar cargas de trabalho e impor limites de recursos direcionados, você pode proteger consultas críticas para os negócios, melhorar a previsibilidade do desempenho e limitar consultas descontroladas, ajudando a minimizar o consumo inesperado de recursos e a controlar melhor os custos, ao mesmo tempo em que se beneficia do escalonamento automático e da simplicidade operacional do Redshift Serverless.

Comece a usar o Amazon Redshift sem servidor hoje.


Sobre os autores

Srini Ponnada

Srini é arquiteto de dados sênior na Amazon Internet Providers (AWS). Ele tem ajudado clientes a criar soluções escaláveis ​​de armazenamento de dados e massive knowledge há mais de 20 anos. Ele adora projetar e construir soluções completas e eficientes na AWS.

Niranjan Kulkarni

Niranjan é engenheiro de desenvolvimento de software program do Amazon Redshift. Ele se concentra na adoção do Amazon Redshift Serverless e nos recursos relacionados à segurança do Amazon Redshift. Fora do trabalho, ele passa tempo com a família e gosta de assistir séries de TV de alta qualidade.

Ashish Agrawal

Ashish atualmente é gerente técnico principal de produtos do Amazon Redshift, construindo knowledge warehouses baseados em nuvem e soluções de serviços analíticos em nuvem. Ashish tem mais de 24 anos de experiência em TI. Ashish tem experiência em knowledge warehouses, knowledge lakes e plataforma como serviço. Ashish é palestrante em conferências técnicas mundiais.

Davide Pagano

David é gerente de desenvolvimento de software program do Amazon Redshift, especializado na construção de knowledge warehouses inteligentes baseados em nuvem e soluções de serviços analíticos em nuvem, como gerenciamento automático de carga de trabalho, layouts de dados multidimensionais e dimensionamento e otimizações orientados por IA para Amazon Redshift Serverless. Ele tem mais de 10 anos de experiência com bancos de dados, incluindo 8 anos de experiência sob medida para Amazon Redshift.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *