Funcionalidades de desempenho
Vamos começar examinando algumas das funcionalidades de desempenho do SQL Azure em comparação com o SQL Server.
Como o Banco de Dados SQL do Azure e a Instância Gerenciada de SQL do Azure são baseados no mecanismo de banco de dados do SQL Server, a maioria das funcionalidades fornecidas com o SQL Server também estão disponíveis com o SQL Azure. Existem algumas funcionalidades que têm um impacto no desempenho dos seus bancos de dados que você deve considerar quando estiver implantando e configurando o SQL do Azure. Isso inclui capacidades máximas, índices, OLTP na memória, partições, aprimoramentos do SQL Server e funcionalidades de desempenho inteligente.
Capacidades de memória, CPU e E/S
Escolher a implantação e a camada de serviço corretas para o Banco de Dados SQL do Azure ou a Instância Gerenciada de SQL pode ser importante para o desempenho. No segundo módulo, você aprendeu sobre as diferentes opções de implantação do SQL Azure. Considere essas capacidades máximas importantes como parte da implantação:
- O Banco de Dados SQL do Azure pode dar suporte a até 128 vCores, 4 TB de memória e 4 TB de banco de dados.
- A opção de implantação de Hiperescala dá suporte a bancos de dados de até 100 TB.
- A Instância Gerenciada de SQL do Azure pode dar suporte a até 80 vCores, 400 GB de memória e 8 TB de banco de dados.
- O número de vCores e a camada de serviço também afetam outras capacidades de recursos, como as taxas máximas do log de transações, a IOPS, a latência de E/S e a memória.
- Objetos de trabalho do Windows são usados para dar suporte a determinados limites de recursos, como a memória. Use sys.dm_os_job_object para descobrir as capacidades verdadeiras de sua implantação.
Índices
Muitas vezes, os índices são fundamentais para o desempenho de consulta do SQL Server e do SQL Azure. Estes são aspectos importantes a considerar sobre os índices e o SQL Azure:
- Todos os tipos de índice, clusterizados e não clusterizados, têm suporte no SQL Azure.
- Índices online e retomáveis têm suporte completo. Os índices online e retomáveis podem ser críticos para a disponibilidade máxima.
- Índices columnstore estão disponíveis em quase todas as camadas de serviço. Verifique na documentação as exceções.
OLTP in-memory
O fator importante que caracteriza o processamento de transações online (OLTP) é um aplicativo que faz a leitura e grava dados com muitas transações simultâneas em tempo real. O OLTP in-memory é uma funcionalidade para aplicativos sensíveis à latência da transação, como aplicativos que envolvem um grande número de usuários que modificam dados simultaneamente. Estes são alguns aspectos importantes relacionados ao OLTP in-memory e ao SQL Azure:
- As tabelas otimizadas pela memória estão disponíveis somente nas camadas Comercialmente Críticas.
- O grupo de arquivos otimizado pela memória é criado previamente no Banco de Dados SQL do Azure e na Instância Gerenciada de SQL quando um banco de dados é criado (mesmo para as camadas de uso geral).
- A quantidade de memória para as tabelas otimizadas por memória é uma percentagem do limite de memória dependente do vCore.
Partições
No SQL Server, acostume-se a usar partições para tabelas com um grande número de linhas para melhorar o desempenho, subdividindo os dados por uma coluna na tabela. Considere estes pontos relacionados às partições com o SQL Azure:
- As partições têm suporte para o Banco de Dados SQL do Azure e para a Instância Gerenciada de SQL.
- Você só pode usar grupos de arquivos com partições na Instância Gerenciada de SQL.
Aprimoramentos recentes de desempenho do SQL Server
Muitos dos recursos de desempenho introduzidos desde o SQL Server 2019, como o processamento inteligente de consultas (IQP), também estão disponíveis no Banco de Dados SQL do Azure e na Instância Gerenciada de SQL do Azure. No entanto, há algumas exceções. Por exemplo, a otimização de metadados tempdb
ainda não está disponível no SQL do Azure. Para obter uma lista definitiva de recursos IQP com suporte, confira Recursos de processamento inteligente de consultas.
Desempenho inteligente
O desempenho inteligente aborda as funcionalidades do SQL Azure que incluem o processamento inteligente de consultas, a correção automática de planos e o ajuste automático (incluindo índices). Você aprenderá mais sobre esses recursos em uma unidade posterior.