Compreender a hiperescala do banco de dados SQL

Concluído

O Banco de Dados SQL do Azure foi limitado a 4 TB de armazenamento por banco de dados por muitos anos. Esta restrição deve-se a uma limitação física da infraestrutura do Azure. O Azure SQL Database Hyperscale altera o paradigma e permite que os bancos de dados tenham 100 TB ou mais. O Hyperscale introduz novas técnicas de dimensionamento horizontal para adicionar nós de computação à medida que os tamanhos dos dados aumentam. O custo do Hyperscale é o mesmo que o custo do Banco de Dados SQL do Azure; no entanto, há um custo por terabyte para armazenamento. Você deve observar que, depois que um Banco de Dados SQL do Azure é convertido em Hyperscale, você não pode convertê-lo novamente em um Banco de Dados SQL do Azure "normal". Hiperescala é a capacidade de uma arquitetura ser dimensionada adequadamente, conforme exigido.

O Azure SQL Database Hyperscale é uma ótima opção para a maioria das cargas de trabalho de negócios, pois oferece grande flexibilidade e alto desempenho com recursos de computação e armazenamento escalonáveis independentemente.

A hiperescala separa o mecanismo de processamento de consultas, onde a semântica de vários mecanismos de dados diverge, dos componentes que fornecem armazenamento de longo prazo e durabilidade para os dados. Desta forma, a capacidade de armazenamento pode ser dimensionada sem problemas, na medida do necessário.

O escalão de serviço Hyperscale na Base de Dados SQL do Azure é o escalão de serviço mais recente no modelo de compra baseado em vCore. Esta camada de serviço é uma camada de desempenho de computação e armazenamento altamente escalável que usa o Azure para dimensionar os recursos de armazenamento e computação para um Banco de Dados SQL do Azure substancialmente além dos limites disponíveis para as camadas de serviço de Uso Geral e Críticas para os Negócios.

Benefícios

A camada de serviço Hyperscale remove muitos dos limites práticos tradicionalmente vistos em bancos de dados em nuvem. Onde a maioria dos outros bancos de dados é limitada pelos recursos disponíveis em um único nó, os bancos de dados na camada de serviço Hyperscale não têm esses limites. Com sua arquitetura de armazenamento flexível, o armazenamento cresce conforme necessário. Na verdade, os bancos de dados Hyperscale não são criados com um tamanho máximo definido. Um banco de dados Hyperscale cresce conforme necessário - e você é cobrado apenas pela capacidade usada. Para cargas de trabalho de leitura intensiva, a camada de serviço Hyperscale fornece escalabilidade horizontal rápida provisionando réplicas extras conforme necessário para descarregar cargas de trabalho de leitura.

Além disso, o tempo necessário para criar backups de banco de dados ou para aumentar ou diminuir a escala não está mais vinculado ao volume de dados no banco de dados. É possível fazer backup instantâneo de bancos de dados de hiperescala. Você também pode dimensionar um banco de dados em dezenas de terabytes para cima ou para baixo em minutos. Esta funcionalidade liberta-o de preocupações sobre ser encaixotado pelas suas escolhas de configuração iniciais. O Hyperscale também fornece restaurações rápidas de banco de dados que são executadas em minutos, em vez de horas ou dias.

O Hyperscale fornece escalabilidade rápida com base na sua demanda de carga de trabalho.

  • Escalonamento para cima/para baixo – Você pode aumentar o tamanho da computação primária em termos de recursos, como CPU e memória, e depois reduzir a escala em tempo constante. Como o armazenamento é compartilhado, o dimensionamento e a redução não estão vinculados ao volume de dados no banco de dados.

  • Dimensionamento de entrada/saída – Você também tem a capacidade de provisionar uma ou mais réplicas de computação que podem ser usadas para atender às suas solicitações de leitura. Isso significa que você pode usar réplicas de computação extras como réplicas somente leitura para descarregar sua carga de trabalho de leitura da computação primária. Além de somente leitura, essas réplicas também servem como hot-standbys para failover do primário.

O provisionamento de cada uma dessas réplicas de computação extra pode ser feito em tempo constante e é uma operação online. Você pode se conectar a réplicas de computação somente leitura definindo o argumento ApplicationIntent em sua cadeia de conexão como ReadOnly. Todas as conexões com a intenção do aplicativo ReadOnly são automaticamente roteadas para uma das réplicas de computação somente leitura.

O Hyperscale separa o mecanismo de processamento de consultas dos componentes que fornecem armazenamento de longo prazo e durabilidade para os dados. Essa arquitetura oferece a capacidade de dimensionar suavemente a capacidade de armazenamento na medida do necessário (o destino inicial é de 100 TB) e a capacidade de dimensionar recursos de computação rapidamente.

Hyperscale Architecture

Considerações de segurança

A camada de serviço Security for Hyperscale compartilha os mesmos ótimos recursos que as outras camadas do Banco de Dados SQL do Azure. Eles são protegidos pela abordagem de defesa em camadas profunda, como mostrado na figura abaixo, e se movem de fora para dentro:

Hyperscale security

  • A Segurança de Rede é a primeira camada de defesa e usa regras de firewall IP para permitir o acesso com base no endereço IP de origem e regras de firewall de Rede Virtual para permitir a capacidade de aceitar comunicações enviadas de sub-redes selecionadas dentro de uma rede virtual.

  • O Gerenciamento de Acesso é fornecido através dos métodos de autenticação abaixo para garantir que um usuário seja quem afirma ser:

    • Autenticação SQL
    • Autenticação do Microsoft Entra
    • Autenticação do Windows para Microsoft Entra Principals (Visualização)

    O Azure SQL Database Hyperscale também dá suporte à segurança em nível de linha. A Segurança em Nível de Linha permite que os clientes controlem o acesso a linhas em uma tabela de banco de dados com base nas características do usuário que executa uma consulta (por exemplo, associação a grupo ou contexto de execução).

    Row-Level Security

  • Capacidades de proteção contra ameaças em capacidades de auditoria e deteção de ameaças. A auditoria do Banco de Dados SQL e da Instância Gerenciada SQL rastreia as atividades do banco de dados e ajuda a manter a conformidade com os padrões de segurança registrando eventos do banco de dados em um log de auditoria em uma conta de armazenamento do Azure de propriedade do cliente. A Proteção Avançada contra Ameaças pode ser ativada por servidor por uma taxa extra e analisa seus logs para detetar comportamentos incomuns e tentativas potencialmente prejudiciais de acessar ou explorar bancos de dados. Os alertas são criados para atividades suspeitas, como injeção de SQL, potencial infiltração de dados e ataques de força bruta ou para anomalias nos padrões de acesso para capturar escalonamentos de privilégios e uso de credenciais violadas.

  • A Proteção de Informações é fornecida das seguintes maneiras:

    • Transport Layer Security (Encriptação em trânsito)
    • Criptografia de dados transparente (criptografia em repouso)
    • Gerenciamento de chaves com o Azure Key Vault
    • Sempre criptografado (criptografia em uso)
    • Máscara de dados dinâmica

Considerações de desempenho

A camada de serviço Hyperscale destina-se a clientes que têm grandes bancos de dados SQL Server locais e desejam modernizar seus aplicativos migrando para a nuvem, ou para clientes que já estão usando o Banco de Dados SQL do Azure e desejam expandir significativamente o potencial de crescimento do banco de dados. O Hyperscale também é destinado a clientes que buscam alto desempenho e alta escalabilidade.

O Hyperscale fornece os seguintes recursos de desempenho:

  • Backups de banco de dados quase instantâneos (com base em instantâneos de arquivo armazenados no armazenamento de Blob do Azure), independentemente do tamanho, sem efeito de E/S nos recursos de computação.
  • Restaurações rápidas de banco de dados (com base em instantâneos de arquivos) em minutos, em vez de horas ou dias (não um tamanho de operação de dados).
  • Maior desempenho geral devido à maior taxa de transferência do log de transações e tempos de confirmação de transações mais rápidos, independentemente dos volumes de dados.
  • Expansão rápida - você pode provisionar uma ou mais réplicas somente leitura para descarregar sua carga de trabalho de leitura e para uso como hot standbys.
  • Escalonamento rápido - você pode, em tempo constante, escalar seus recursos de computação para acomodar cargas de trabalho pesadas quando necessário e, em seguida, dimensionar os recursos de computação novamente quando não for necessário.

Nota

O SQL Database Hyperscale não oferece suporte aos seguintes recursos:

  • Instância Gerida do SQL
  • Conjuntos Elásticos
  • Georreplicação
  • Query Performance Insights (Informações de Desempenho de Consultas)

Implantando o Hiperdimensionamento do Banco de Dados SQL do Azure

Para implantar o Banco de Dados SQL do Azure com a camada Hyperscale:

  1. Navegue até a página de opção Selecionar Implantação SQL .

  2. Em Bancos de dados SQL, deixe Tipo de recurso definido como Banco de dados único e selecione Criar.

    Deploying an Azure SQL Database Hyperscale

  3. Na guia Noções básicas da página Criar Banco de Dados SQL, selecione a assinatura, o grupo de recursos e o nome do banco de dados desejados.

  4. Selecione o link Criar novo para o servidor e preencha as informações do novo servidor, como nome do servidor, login e senha do administrador do servidor e local.

  5. Em Computação + armazenamento, selecione o link Configurar banco de dados .

    Configuring an Azure SQL Database Hyperscale

  6. Em Camada de serviço, selecione Hiperescala.

    Selecting Hyperscale service tier

  7. Em Configuração de Hardware, selecione o link Alterar configuração . Analise as configurações de hardware disponíveis e selecione a configuração mais apropriada para seu banco de dados. Para este exemplo, selecionaremos a configuração Gen5 .

  8. Selecione OK para confirmar a geração de hardware.

  9. Opcionalmente, ajuste o controle deslizante vCores se quiser aumentar o número de vCores para seu banco de dados. Para este exemplo, selecionaremos 2 vCores.

  10. Ajuste o controle deslizante Réplicas secundárias de alta disponibilidade para criar uma réplica de alta disponibilidade (HA). Selecione Aplicar.

  11. Selecione Next: Networking na parte inferior da página.

    Network page when provisioning an Azure SQL Database Hyperscale

  12. Para regras de firewall na guia Rede , defina Adicionar endereço IP do cliente atual como Sim. Deixe Permitir que os serviços e recursos do Azure acessem este servidor definido como Não.

  13. Selecione Seguinte: Segurança na parte inferior da página.

  14. No separador Rever + criar, selecione Criar.

    Review and create page when provisioning an Azure SQL Database Hyperscale