Todos os produtos
Search
Central de documentação

Database Autonomy Service:Limitação automática de SQL

Última atualização: Jun 27, 2026

A limitação automática de SQL detecta instruções SQL anômalas durante eventos de sobrecarga do banco de dados e restringe a concorrência. Assim, a maioria dos serviços continua em execução enquanto o sistema contém um pequeno conjunto de consultas problemáticas.

Esse recurso automatiza todo o ciclo de resposta: detecta a anomalia, identifica as instruções SQL responsáveis, aplica a limitação com extração precisa de características e reverte a ação caso a carga de trabalho não se recupere conforme o esperado.

Como funciona

Processo completo:Entire process

Coleta de métricas de monitoramento

Por padrão, o DAS coleta métricas de desempenho do host e do mecanismo para instâncias do ApsaraDB RDS implantadas no Alibaba Cloud, incluindo:

  • Utilização de CPU

  • Operações de entrada/saída por segundo (IOPS)

  • Consultas por segundo (QPS)

  • Sessões ativas

Esses dados em tempo real alimentam as etapas de detecção de anomalias e análise de causa raiz.

Detecção de anomalias

O DAS utiliza algoritmos de machine learning para treinar um modelo offline com base em dados históricos de desempenho. Esse modelo avalia métricas em tempo real para detectar exceções à medida que ocorrem e aciona alertas com base no comportamento real do sistema, em vez de limiares fixos.

Análise de causa raiz

Ao detectar uma exceção, o DAS subscreve o evento, coleta dados da sessão atual e usa o recurso de análise completa de solicitações de auditoria de SQL junto com estatísticas do performance_schema para identificar as instruções SQL responsáveis.

O DAS classifica instruções SQL anômalas em quatro tipos:

Tipo

Descrição

Resposta do DAS

SQL bloqueante

Instruções que causam alterações DDL, esperas de bloqueio ou transações grandes

Encerra sessões se muitas forem afetadas ou se o tempo de execução for excessivo — não aplica limitação

SQL com uso intenso de recursos

Instruções que consomem muitos recursos de CPU, E/S ou rede e são enviadas continuamente, mesmo com baixa concorrência

Limitada automaticamente

SQL com uso intenso de tráfego

Instruções normais que causam gargalos de desempenho quando a concorrência aumenta abruptamente (por exemplo, consultas simples de chave-valor que ficam lentas sob carga)

Limitada automaticamente

Outras SQL

Instruções que causam exceções no banco de dados, mas não se enquadram nas categorias acima

—

Extração de características

Para instruções SQL com uso intenso de recursos e de tráfego, o DAS extrai características identificadoras para aplicar uma limitação precisa. Há suporte a duas estratégias de limitação:

Estratégia

Quando usar

Como funciona

Limitação baseada em modelo SQL

Um padrão SQL específico causa exceções independentemente dos valores dos parâmetros

O DAS extrai o modelo SQL (parâmetros substituídos por ?) e limita todas as instruções correspondentes a esse modelo

Limitação baseada em instrução SQL

A distorção de dados causa exceções — valores de parâmetros específicos em um modelo compartilhado consomem recursos desproporcionais

O DAS extrai características tanto do modelo SQL quanto dos valores específicos dos parâmetros

Exemplo de limitação baseada em modelo SQL

O DAS gera modelos SQL substituindo valores literais por ?:

/* SQL Statement 1 */
select id,name,age from students where name='Bob';

/* SQL Template 1 */
select id,name,age from students where name=?

/* SQL Statement 2 */
select id,name,age from students where name='Bob' and sid='Unique ID';

/* SQL Template 2 */
select id,name,age from students where name=? and sid=?

Se o DAS aplicar limitação com base no Modelo SQL 1, ele terá como alvo instruções cujas características correspondam a select id, name, age from students where name. Como o Modelo SQL 2 contém todas as características do Modelo SQL 1, a Instrução SQL 2 também será limitada, o que pode não ser o comportamento desejado.

Quando um ID de modelo está disponível — seja um ID SQL gerado pelo middleware do banco de dados ou um SQL hint adicionado pelos desenvolvedores — o DAS o utiliza para definir o escopo da limitação com precisão. Instruções sem o ID do modelo (por exemplo, aquelas enviadas diretamente pela linha de comando) não são afetadas e continuam em execução.

Otimização automática

Após detectar uma instrução SQL anômala passível de otimização durante a análise de causa raiz, o DAS implementa a limitação como resposta de emergência e, simultaneamente, aciona a otimização automática. O DAS cria índices automaticamente nas tabelas afetadas para resolver a causa raiz.

Rastreamento e reversão

Depois de aplicar a limitação, o DAS continua monitorando o desempenho do banco de dados. Se a carga de trabalho não diminuir ou o tráfego não reduzir conforme o esperado, o DAS reverte a operação de limitação e reinicia a análise de causa raiz.

O que aciona eventos de sobrecarga

Os eventos de sobrecarga do banco de dados geralmente se enquadram em três categorias:

  • Picos de tráfego: Penetração de cache, padrões de chamada anômalos ou eventos promocionais causam um aumento abrupto na concorrência de SQL.

  • Distorção de dados: Poucas solicitações — como consultas de um único usuário com pedidos grandes — consomem uma parcela desproporcional dos recursos do banco de dados e tornam as respostas mais lentas para todos os usuários.

  • Consultas com uso intenso de recursos: Consultas em tabelas sem índice ou outros padrões pesados consomem CPU, E/S ou memória suficientes para degradar todo o sistema.

Pré-requisitos

Antes que a limitação automática de SQL possa aplicar restrições em seu nome, conceda as permissões necessárias ao DAS.

Próximos passos

  • Saiba mais sobre a detecção de anomalias no DAS

  • Saiba mais sobre a otimização automática de SQL no DAS