Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do Azure
Banco de Dados SQL do Azure Hiperescala é uma camada de serviço de banco de dados de alto desempenho e econômica. Este artigo detalha a arquitetura altamente escalonável da Hiperescala, com camadas de armazenamento e computação separadas, dimensionamento rápido, backups quase instantâneos e restaurações rápidas, expansão de leitura e alta taxa de transferência de leitura e gravação.
Visão geral da arquitetura de hiperescala
Os mecanismos de banco de dados tradicionais centralizam as funções de gerenciamento de dados em um único processo: mesmo os chamados bancos de dados distribuídos em produção hoje têm várias cópias de um mecanismo de dados monolítico.
Os bancos de dados de hiperescala seguem uma abordagem diferente. A Hiperescala separa o mecanismo de processamento de consulta, onde a semântica de diversos mecanismos de dados divergem, dos componentes que fornecem armazenamento de longo prazo e durabilidade para os dados. Dessa forma, a capacidade de armazenamento pode ser escalonada sem problemas até onde for necessário, até 128 TB para um único banco de dados de Hiperscala.
Um banco de dados da Hiperescala contém os seguintes tipos de componentes: nós de computação, servidores de página, o serviço de log e o armazenamento do Azure. Toda a comunicação de rede entre os componentes do Hyperscale usa a infraestrutura de rede do Azure com redundância integrada.
Réplicas secundárias de alta disponibilidade e réplicas nomeadas são nós de computação opcionais que podem ser adicionados sob demanda. Ambas compartilham os mesmos componentes de armazenamento, portanto, não é necessário ter nenhuma cópia de dados para ativar uma nova réplica. Uma réplica geográfica secundária pode ser adicionada sob demanda na mesma região ou em uma região diferente do Azure. Para fins de proteção e redundância de dados, as réplicas secundárias geográficas têm componentes de armazenamento separados daqueles usados pela réplica primária.
O diagrama a seguir ilustra a arquitetura funcional da Hiperescala:
O diagrama mostra os seguintes componentes:
A.
Compute: a Hiperescala (Hyperscale) separa o mecanismo de banco de dados principal, conhecido como Compute, dos componentes de registro de transações e armazenamento de dados.
B.
Armazenamento: os componentes que fornecem armazenamento de longo prazo e durabilidade para dados são separados do mecanismo de banco de dados principal. Os arquivos de dados são armazenados em blobs de armazenamento do Azure separados. Os dados no armazenamento do Azure fornecem redundância para recuperar um servidor de página de uma falha.
C.
Servidores de Página: os servidores de página recuperam dados de arquivos de dados na camada de armazenamento, armazenam os dados em um cache SSD local e fornecem os dados para o mecanismo principal. O cache SSD local é alocado com base no tamanho do processamento para manter as páginas de dados ativas/quentes. Os servidores de página crescem à medida que o tamanho do banco de dados aumenta. Cada servidor de página gerencia até 128 GB de dados.
D.
Serviço de log: Um banco de dados de hiperescala usa o serviço de log para coordenar a propagação do log de transações para réplicas e servidores de página.
E.
Réplicas nomeadas: as réplicas nomeadas têm sua própria computação, mas usam o mesmo serviço de log. Você pode ter até 30 réplicas nomeadas. Cada réplica nomeada pode ter até 4 réplicas de alta disponibilidade.
F.
Réplicas de alta disponibilidade: réplicas de alta disponibilidade são cópias de espera opcionais de uma réplica primária, geográfica ou nomeada, prontas para failover e disponíveis para cargas de trabalho somente leitura. Cada réplica primária e réplica nomeada pode ter até 4 réplicas de alta disponibilidade.
Computação
O nó de computação é onde reside o mecanismo relacional. O nó de computação é onde ocorre o processamento da linguagem, da consulta e da transação. Todas as interações do usuário com um banco de dados da Hiperescala ocorrem por meio de nós de computação. Os nós de computação podem ser configurados para usar a computação sem servidor ou provisionada.
Os nós de computação têm caches locais com base em SSD chamados cache de dados RBPEX (Resilient Buffer Pool Extension). O Cache de Dados RBPEX é um cache inteligente de dados de baixa latência que minimiza a necessidade de buscar dados de servidores de páginas remotas.
Os bancos de dados de hiperescala têm um nó de computação primário onde a carga de trabalho de leitura e gravação e as transações são processadas. Até quatro nós de computação secundários de alta disponibilidade podem ser adicionados sob demanda. Eles atuam como nós de espera ativos para fins de failover e podem servir como nós de computação somente leitura para descarregar cargas de trabalho de leitura quando desejado. As réplicas nomeadas são nós de computação secundários elaborados para habilitar vários cenários de expansão de leitura OLTP adicionais e para oferecer melhor suporte a cargas de trabalho de HTAP (processamento analítico e transacional híbrido). Um nó de computação secundário geográfico pode ser adicionado para fins de recuperação de desastres e para servir como um nó somente leitura a fim de descarregar cargas de trabalho de leitura em uma região diferente do Azure.
No modelo sem servidor, a réplica primária e quaisquer réplicas de alta disponibilidade ou réplicas nomeadas são escaladas automaticamente, cada uma de forma independente, com base no uso. O intervalo de dimensionamento automático de computação para a réplica primária e todas as réplicas nomeadas são configurados de forma independente. O intervalo de dimensionamento automático de todas as réplicas de alta disponibilidade é herdado da configuração de dimensionamento automático especificada por sua réplica nomeada ou réplica primária associada.
O mecanismo de banco de dados em execução nos nós de computação de Hiperescala é o mesmo que das outras camadas de serviço do Banco de Dados SQL do Azure. Quando os usuários interagem com o mecanismo de banco de dados nos nós de computação do Hyperscale, a superfície com suporte e o comportamento do mecanismo são os mesmos das outras camadas de serviço, exceto pelas limitações conhecidas.
Servidor de página
Servidores de página são sistemas que representam um mecanismo de armazenamento dimensionado. Cada servidor de páginas é responsável por um subconjunto das páginas no banco de dados. Cada servidor de página também tem uma réplica que é mantida para redundância e disponibilidade.
O trabalho de um servidor de páginas é servir páginas de banco de dados para os nós de computação sob demanda e manter as páginas atualizadas à medida que as transações atualizam dados. Os servidores de páginas são mantidos atualizados pela reprodução dos registros de log de transação do serviço de log.
Servidores de páginas também mantêm caches em SSD abrangentes para melhorar o desempenho. Armazenamento de longo prazo de páginas de dados é mantido no Armazenamento do Azure para durabilidade.
Serviço de log
O serviço de log aceita registros de log de transações que correspondem a alterações de dados da réplica de computação primária. Em seguida, os servidores da página recebem os registros de log do serviço de log e aplicam as alterações às respectivas fatias de dados. Além disso, as réplicas secundárias de computação recebem registros de log do serviço de log e reproduz apenas as alterações nas páginas que já estão no pool de buffers ou no cache RBPEX local. Todas as alterações de dados da réplica de computação primária são propagadas por meio do serviço de log para todas as réplicas de computação secundária e para os servidores da página.
Por fim, os registros de log de transação são enviados para o armazenamento de longo prazo no Armazenamento do Microsoft Azure, que é um repositório de armazenamento virtualmente infinito. Esse mecanismo elimina a necessidade de truncamento frequente de logs. Os motivos comuns para o crescimento do log, como backups de log não realizados ou a replicação lenta de dados para réplicas secundárias, não se aplicam ao Hyperscale. O serviço de log tem memória local e caches SSD para acelerar o acesso aos registros de log.
Armazenamento do Azure
O Armazenamento do Microsoft Azure contém todos os arquivos de dados em um banco de dado. Os servidores de páginas mantêm atualizados os arquivos de dados no Armazenamento do Microsoft Azure. Esse armazenamento também é usado para fins de backup e pode ser replicado entre regiões com base na escolha da redundância de armazenamento.
Os backups são implementados usando instantâneos de armazenamento dos arquivos de dados. As operações de restauração usando instantâneos são rápidas, independentemente do tamanho dos dados. Um banco de dados pode ser restaurado para qualquer data/hora dentro do período de retenção do backup.
A Hiperescala dá suporte à redundância de armazenamento configurável. Ao criar um banco de dados de Hiperescala, você pode escolher entre os seguintes tipos de armazenamento padrão do Azure:
- LRS (armazenamento com redundância local)
- ZRS (armazenamento com redundância de zona)
- armazenamento com redundância geográfica com acesso para leitura (RA-GRS)
- RA-GZRS (armazenamento com redundância de zona geográfica com acesso de leitura)
As opções de armazenamento com redundância de zona estão disponíveis nas regiões do Azure com zonas de disponibilidade.
A opção de redundância de armazenamento selecionada será usada durante o tempo de vida do banco de dados para redundância de armazenamento de dados e de armazenamento de backup.