Aplica-se a:Banco de Dados SQL do Azure
Este artigo fornece respostas a perguntas frequentes para clientes que consideram um banco de dados na camada de serviço da Hiperescala do Banco de Dados SQL do Azure, chamado apenas de Hiperescala no restante dessas perguntas frequentes. Este artigo descreve os cenários e recursos compatíveis com a Hiperescala.
- Esta FAQ destina-se a leitores que tenham uma breve compreensão do nível de serviço Hiperescala e que desejam ter suas dúvidas e preocupações específicas respondidas.
- Estas perguntas frequentes não pretendem ser um guia ou responder a perguntas sobre como usar um banco de dados de Hiperescala. Para obter uma introdução à Hiperescala, consulte hiperescala do Banco de Dados SQL do Azure.
Perguntas gerais
O que é um banco de dados Hiperescala?
Um banco de dados de hiperescala é um banco de dados no Banco de Dados SQL do Azure que é apoiado pela tecnologia de armazenamento de expansão hiperescala. Um banco de dados de Hiperescala dá suporte a até 128 TB de dados e oferece alta taxa de transferência e desempenho, bem como escala rápida para se adaptar aos requisitos de carga de trabalho. Conectividade, processamento de consultas, recursos do mecanismo de banco de dados e assim por diante, funcionam como em qualquer outro banco de dados no Banco de Dados SQL do Azure.
Quais camadas de computação e modelos de compra dão suporte à Hiperescala?
A camada de serviço hiperescala está disponível para bancos de dados individuais (provisionados e sem servidor) e para pools elásticos usando o modelo de compra baseado em vCore. Ele não está disponível no modelo de compra baseado em DTU.
Como a camada de serviço da Hiperescala difere das camadas de serviço Uso Geral e Comercialmente Crítico?
As camadas de serviço baseadas em vCore são diferenciadas com base na disponibilidade e no tipo de armazenamento do banco de dados, no desempenho e no tamanho máximo do armazenamento, conforme descrito na comparação de limite de recursos.
Quem deve usar a camada de serviço Hiperescala?
A camada de serviço de Hiperescala é para todos os clientes que buscam maior desempenho e disponibilidade, backup e restauração rápidos, armazenamento rápido e escalabilidade de computação. Isso inclui os clientes que estão começando pequeno e crescendo, os que estão executando bancos de dados críticos para a missão, os que estão migrando para a nuvem para modernizar seus aplicativos e os que já estão usando outras camadas de serviço no Banco de Dados SQL do Azure.
Com em Hiperescala, você obtém:
- Tamanho do banco de dados que pode crescer de 10 GB até 128 TB, independentemente do tamanho da computação.
- Compute recursos vCore de 2 vCores até 128 vCores.
- Backups rápidos de banco de dados, independentemente do tamanho do banco de dados (os backups são baseados em instantâneos de armazenamento).
- Restaurações rápidas do banco de dados, independentemente do tamanho do banco de dados (as restaurações são feitas a partir de instantâneos de armazenamento).
- Maior taxa de transferência do log de transações, independentemente do tamanho do banco de dados e do número de vCores.
- Expansão de leitura usando uma ou mais réplicas somente leitura, usadas para descarregamento de leitura ou como bancos de dados em espera ativa.
- Escala vertical rápida de computação, de forma constante, para conseguir acomodar a carga de trabalho pesada e depois reduzir verticalmente, de forma constante. As operações de escala levam minutos de um só dígito para computação provisionada e menos de um segundo para computação sem servidor, independentemente do tamanho do banco de dados.
- A opção de pagar pelo que você usa com computação sem servidor, em que a computação é cobrada de acordo com o uso.
Quais regiões dão suporte ao Hiperescala no momento?
A camada de serviço de Hiperescala está disponível em todas as regiões em que o Banco de Dados SQL do Azure está disponível.
Posso criar vários bancos de dados da Hiperescala por servidor?
Sim. Para obter mais informações e ver os limites do número de bancos de dados por servidor, confira Limites de recursos do Banco de Dados SQL para bancos de dados individuais e em pool em um servidor.
Quais são as características de desempenho de um banco de dados da Hiperescala?
A arquitetura da Hiperescala oferece alto desempenho e taxa de transferência, dando suporte a grandes banco de dados.
O que é a escalabilidade de um banco de dados em Hiperescala?
A Hiperescala fornece escalabilidade rápida com base na demanda de carga de trabalho.
Dimensionamento para cima/para baixo
A Hiperescala permite escalar verticalmente o tamanho da computação primária em termos de recursos como CPU e memória e, em seguida, reduzir verticalmente em tempo constante. Como o armazenamento é remoto, escalar verticalmente e reduzir verticalmente não é uma operação de tamanho de dados.
O suporte para de computação sem servidor fornece escala vertical e horizontal automática e cobrança de computação com base no uso.
Dimensionamento In/Out
Com a hiperescala, você pode usar três tipos de réplicas secundárias para atender aos requisitos de expansão de leitura, alta disponibilidade e replicação geográfica. Isso inclui:
- Até quatro réplicas de alta disponibilidade com o mesmo tamanho da computação que as réplicas primárias. Elas servem como réplicas em espera ativa para fazer failover rapidamente da réplica primária. Você também pode usá-las para descarregar cargas de trabalho de leitura da réplica primária.
- Até 30 réplicas nomeadas tendo um tamanho da computação igual ou diferente da réplica primária, para atender a diversos cenários de expansão de leitura.
- Uma réplica geográfica em uma região diferente do Azure para proteger contra interrupções regionais e habilitar a expansão de leitura geográfica.
Perguntas de aprofundamento
Posso misturar bancos de dados hiperescala e não hiperescala no mesmo servidor lógico sql?
Sim, você pode.
A Hiperescala requer que meu modelo de programação de aplicativo mude?
Não, seu modelo de programação de aplicativo permanece igual em qualquer outro banco de dados MSSQL. Você usa a cadeia de conexão como de costume e os outros modos regulares para interagir com o banco de dados da Hiperescala. Depois de usar o banco de dados de Hiperescala, seu aplicativo pode aproveitar recursos como réplicas secundárias.
Qual nível de isolamento da transação é o padrão em um banco de dados da Hiperescala?
Na réplica primária, o nível de isolamento da transação padrão é READ COMMITTED
com a opção de banco de dados READ_COMMITTED_SNAPSHOT
(RCSI) habilitada. Nas réplicas secundárias, o nível de isolamento é SNAPSHOT
. Isso é o mesmo que ocorre em qualquer outro banco de dados SQL do Azure.
Posso trazer minha licença local ou IaaS SQL Server para a Hiperescala?
Com o novo preço simplificado em vigor desde 15 de dezembro de 2023, o preço da computação foi reduzido para bancos de dados de Hiperescala recém-criados, para todos os bancos de dados de Hiperescala sem servidor e para todos os pools elásticos de Hiperescala. Com o novo preço simplificado, não há necessidade de aplicar o AHB (Benefício Híbrido do Azure) para obter economias equivalentes. O Benefício Híbrido do Azure (AHB) só pode ser aplicado a bancos de dados individuais de Hiperescala mais antigos (criados antes de 15 de dezembro de 2023) com computação provisionada. Para esses bancos de dados mais antigos, o AHB só é aplicável até dezembro de 2026, após o qual esses bancos de dados também serão cobrados conforme o novo preço simplificado.
Para obter mais informações, consulte blog de preços da Hiperescala e Hiperescala do Banco de Dados SQL do Azure – preços mais baixos e simplificados.
Para qual tipo de cargas de trabalho a Hiperescala foi criada?
A Hiperescala funciona bem com todos os tipos de carga de trabalho, incluindo cargas de trabalho OLTP, híbridas (HTAP) e analíticas (data mart).
Como escolher entre o Azure Synapse Analytics e a Hiperescala do Banco de Dados SQL do Azure?
Se você estiver executando consultas analíticas no momento usando o SQL Server como um data warehouse, a Hiperescala é uma ótima opção, pois é possível hospedar data warehouses pequenos e médios (como de alguns TB até 128 TB) a um custo menor e você pode migrar cargas de trabalho do data warehouse do SQL Server para a Hiperescala com alterações mínimas no código T-SQL.
Se você estiver executando a análise de dados em grande escala com consultas complexas e taxas de ingestão sustentadas maiores que 100 MB/s ou usando o PDW (Data Warehouse Paralelo), Teradata ou outros data warehouses de MPP (Processamento Paralelo Massivo) como o Azure Synapse Analytics, o Microsoft Fabric pode ser a melhor opção.
A taxa de ingestão ou geração de logs de 150 MB/s está disponível como uma versão prévia do recurso opcional. Para obter mais informações e optar por 150 MB/s, veja Blog: Melhorias em Hiperescala de novembro de 2024.
Perguntas sobre a computação da Hiperescala
Posso pausar minha computação a qualquer momento?
Não no momento. No entanto, é possível reduzir a escala de sua computação e o número de réplicas para diminuir o custo fora dos horários de pico, ou usar a tecnologia sem servidor para dimensionar automaticamente a computação com base no uso.
Posso provisionar uma réplica de computação com RAM adicional para minha carga de trabalho com uso intensivo de memória?
Para cargas de trabalho de leitura, você pode criar uma réplica nomeada com um tamanho da computação maior (mais núcleos e memória) do que a réplica primária. Para obter mais informações sobre tamanhos de computação disponíveis, confira Armazenamento e tamanhos da computação de Hiperescala.
Posso provisionar várias réplicas de computação de tamanhos diferentes?
Para cargas de trabalho de leitura, isso pode ser obtido usando réplicas nomeadas.
Quantas réplicas de expansão de leitura são compatíveis?
Você pode escalar o número de réplicas secundárias de HA entre 0 e 4 usando o portal do Azure ou a API REST. Além disso, você pode criar até 30 réplicas nomeadas para muitos cenários de expansão de leitura. Cada réplica nomeada pode ter até 4 réplicas secundárias de HA.
Para obter alta disponibilidade, preciso provisionar réplicas de computação adicionais?
Nos bancos de dados da Hiperescala, a resiliência de dados é fornecida no nível de armazenamento. Você só precisa de uma réplica (a primária) para fornecer resiliência. Se a réplica de computação falhar ou estiver em manutenção, uma nova réplica será criada automaticamente sem perda de dados.
No entanto, se houver apenas a réplica primária, poderá levar um minuto ou dois para criar uma nova réplica, versus segundos no caso em que uma réplica secundária de HA está disponível. Inicialmente, a nova réplica terá caches frios, o que pode resultar em maior latência de armazenamento e desempenho de consulta reduzido imediatamente após o failover.
Para aplicativos críticos que exigem alta disponibilidade com impacto mínimo de failover, você deve provisionar pelo menos uma réplica secundária de HA para garantir que uma réplica de espera ativa esteja disponível para servir como um destino de failover.
Perguntas sobre o tamanho e o armazenamento de dados
Qual é o tamanho máximo de banco de dados compatível com a Hiperescala?
O tamanho máximo de um banco de dados de Hiperescala é atualmente de 128 TB, independentemente do tamanho da computação. Atualmente, o tamanho máximo de um banco de dados em um pool elástico de Hiperescala é de 100 TB.
Qual é o tamanho do log de transações com a Hiperescala?
Em Hiperescala, o log de transações é praticamente infinito, com uma restrição de que a parte ativa do log não pode exceder 1 TB. A parte ativa do log pode aumentar devido a transações com execução prolongada ou se o processamento da Captura de dados de alterações não conseguir acompanhar a taxa de alteração de dados. Evite transações desnecessariamente muito longas e grandes para você ficar abaixo desse limite. Além dessa restrição, você não precisa se preocupar em ficar sem espaço de log em um sistema com alta taxa de transferência de log. No entanto, a taxa de geração de log pode ser reduzida para cargas de trabalho de gravação contínua agressiva. A taxa de pico da geração de log sustentada é de 100 MB/s.
A taxa de geração de logs de 150 MB/s está disponível como uma versão prévia do recurso opcional. Para obter mais informações e optar por 150 MB/s, veja Blog: Melhorias em Hiperescala de novembro de 2024.
Meu tempdb escala à medida que meu banco de dados cresce?
O banco de dados tempdb
está localizado no armazenamento SSD local e é dimensionado proporcionalmente ao tamanho da computação (o número de núcleos) provisionada. O tamanho de tempdb
não é configurável, sendo gerenciado para você. Para determinar o tamanho máximo de tempdb
do banco de dados, confira Armazenamento da hiperescala e tamanhos da computação.
O tamanho do meu banco de dados aumenta automaticamente ou preciso gerenciar o tamanho dos arquivos de dados?
O tamanho do seu banco de dados aumenta automaticamente à medida que você insere / ingressa mais dados.
Qual é o menor tamanho de banco de dados compatível com a Hiperescala?
10 GB. Um banco de dados de Hiperescala é criado com um tamanho inicial de 10 GB e cresce conforme necessário.
Em que incrementos o tamanho do meu banco de dados aumenta?
Cada arquivo de dados aumenta em 10 GB. É possível ter vários arquivos de dados aumentando ao mesmo tempo.
O armazenamento da Hiperescala é local ou remoto?
Na Hiperescala, os arquivos de dados são armazenados no armazenamento padrão do Azure. Os dados são totalmente armazenados em cache no armazenamento SSD local, em servidores de página com réplicas de computação remotas. Além disso, as réplicas de computação têm caches de dados no SSD local e na memória, para reduzir a frequência de busca de dados nos servidores de página remotos.
Posso gerenciar ou definir arquivos ou grupos de arquivos com a Hiperescala?
Não. Os arquivos de dados são adicionados automaticamente ao grupo de arquivos PRIMARY
. Os motivos comuns para a criação de grupos de arquivos adicionais não se aplicam à arquitetura de armazenamento de Hiperescala nem ao Banco de Dados SQL do Azure mais amplamente.
Posso provisionar um limite rígido no crescimento de dados para meu banco de dados?
Não.
Há suporte para a redução do banco de dados?
Sim, as operações de redução de banco de dados e arquivo estão atualmente em versão prévia. Para obter mais informações sobre a visualização, consulte Reduzir para o banco de dados SQL do Azure em hiperescala.
Há suporte para a compactação de dados?
Sim, assim como em qualquer outro banco de dados SQL do Azure. Isso incluide compactação de
Se tiver uma tabela enorme, os dados da minha tabela serão espalhados por vários arquivos de dados?
Sim. As páginas de dados associadas a uma determinada tabela podem acabar em vários arquivos de dados, que fazem parte do mesmo grupo de arquivos. O mecanismo de banco de dados do MSSQL usa a estratégia de preenchimento proporcional para distribuir dados nos arquivos de dados.
Questões de migração de dados
Posso migrar meus bancos de dados existentes no Banco de Dados SQL do Azure para a camada de serviço da Hiperescala?
Sim. Para POCs (provas de conceito), é recomendável fazer uma cópia do banco de dados e migrar a cópia para a Hiperescala.
O tempo necessário para migrar um banco de dados existente para a Hiperescala consiste no tempo de copiar os dados e no tempo de reproduzir as alterações feitas no banco de dados de origem durante a cópia. O tempo de cópia de dados é proporcional ao tamanho dos dados. O tempo de reprodução das alterações será menor, se a migração for feita durante um período de baixa atividade de gravação.
Obtenha um código de exemplo para migrar Bancos de Dados SQL do Azure existentes para a Hiperescala no portal do Azure, na CLI do Azure, no PowerShell e no Transact-SQL em Migrar um banco de dados existente para a Hiperescala.
A migração reversa para a camada de serviço de Uso Geral permite que os clientes que migraram recentemente um banco de dados existente no Banco de Dados SQL do Azure para a camada de serviço de Hiperescala retornem caso a Hiperescala não atenda às necessidades deles. Embora a migração reversa seja iniciada por uma alteração da camada de serviço, é essencialmente uma operação de dimensionamento dos dados entre arquiteturas diferentes. Da mesma forma que a migração para a Hiperescala, a migração reversa será mais rápida se realizada durante um período de baixa atividade de gravação. Conheça as limitações para migração reversa.
Posso migrar meus bancos de dados da Hiperescala para camadas de serviço?
Se você já migrou um Banco de Dados SQL do Azure existente para a camada de serviço de Hiperescala, é possível reverter a migração para a camada de serviço de Uso Geral até 45 dias após a migração original para a Hiperescala. Se você quiser migrar o banco de dados para outra camada de serviço, como Comercialmente Crítico, primeiro faça a migração reversa para a camada de serviço de Uso Geral e, em seguida, modifique a camada de serviço. A migração reversa é uma operação de tamanho de dados.
Os bancos de dados criados na camada de serviço de Hiperescala não podem ser movidos para outras camadas de serviço.
Saiba como fazer a migração reversa da Hiperescala, incluindo as limitações da migração reversa e as políticas de backup.
Perco alguma funcionalidade ou recursos após a migração para a camada de serviço Hiperescala?
Sim. Não há suporte para alguns recursos do Banco de Dados SQL do Azure na Hiperescala. Se alguns desses recursos estiverem habilitados para seu banco de dados, a migração para a Hiperescala poderá ser bloqueada ou esses recursos deixarão de funcionar após a migração. Para obter detalhes, confira Limitações conhecidas.
Posso mover meu banco de dados do SQL Server local ou meu banco de dados do SQL Server em uma máquina virtual de nuvem para a Hiperescala?
Sim. Você pode usar muitas tecnologias de migração existentes para migrar para a Hiperescala, incluindo a replicação transacional e todas as outras tecnologias de movimentação de dados (cópia em massa, Azure Data Factory, Azure Databricks, SSIS). Confira também o Serviço de Migração de Banco de Dados do Azure, que dá suporte a vários cenários de migração.
Qual é o meu tempo de inatividade durante a migração de um ambiente local ou de máquina virtual para a Hiperescala e como posso minimizá-lo?
O tempo de inatividade da migração para a Hiperescala é igual ao tempo de inatividade da migração dos bancos de dados para outras camadas de serviço do Banco de Dados SQL do Azure. Você pode usar a replicação transacional para minimizar a migração do tempo de inatividade para bancos de dados com poucos TB de tamanho. Para bancos de dados muito grandes (mais de 10 TB), considere implementar o processo de migração usando ADF, Spark ou outras tecnologias de movimentação de dados em massa.
Quanto tempo levaria para trazer X volume de dados para a Hiperescala?
A hiperescala é capaz de consumir 100 MB/s de dados novos/alterados, mas o tempo necessário para mover dados para bancos de dados no Banco de Dados SQL do Azure também é afetado pela taxa de transferência de rede disponível, velocidade de leitura de origem, o tipo de carga (em massa versus linha por linha) e o objetivo de nível de serviço do banco de dados de destino. A taxa de geração de logs de 150 MB/s está disponível como uma versão prévia do recurso opcional. Para obter mais informações e optar por 150 MB/s, veja Blog: Melhorias em Hiperescala de novembro de 2024.
Posso ler os dados do armazenamento de blobs e fazer uma carga rápida (como PolyBase no Azure Synapse Analytics)?
Você pode fazer com que um aplicativo cliente leia os dados do Armazenamento do Azure e carregue a carga de dados em um banco de dados da Hiperescala (assim como você pode fazer com qualquer outro banco de dado no Banco de Dados SQL do Azure). No momento, o Polybase não é compatível com o Banco de Dados SQL do Azure. Como alternativa para fornecer carga rápida, você pode usar o Azure data Factory ou um trabalho do Spark no Azure Databricks com o conector do Spark para SQL. O conector do Spark SQL dá suporte à inserção em massa.
Também é possível ler em massa os dados do Armazenamento de Blobs do Azure usando BULK INSERT ou OPENROWSET: exemplos de acesso em massa aos dados no Armazenamento de Blobs do Azure.
Modelos de recuperação simples ou em massa registrados em massa não têm suporte na Hiperescala. O modelo de recuperação completa é necessário para fornecer alta disponibilidade e recuperação pontual. No entanto, a arquitetura de log da Hiperescala fornece uma melhor taxa de ingestão de dados em comparação a outras camadas de serviço do Banco de Dados SQL do Azure.
A Hiperescala permite o provisionamento de vários nós para ingestão paralela de grandes volumes de dados?
Não. A Hiperescala é uma arquitetura de SMP (multiprocessamento simétrico) e não de MPP (processamento paralelo massivo) ou uma arquitetura de vários mestres. Você pode criar várias réplicas para escalar horizontalmente cargas de trabalho somente leitura.
A Hiperescala dá suporte à migração de outras fontes de dados, como Amazon Aurora, MySQL, PostgreSQL, Oracle, DB2 e outras plataformas de banco de dados?
Sim. O Serviço de Migração de Banco de Dados do Azure dá suporte a vários cenários de migração.
Perguntas sobre continuidade de negócios e recuperação de desastres
Quais SLAs são fornecidos para um banco de dados da Hiperescala?
Confira SLA para Banco de Dados SQL do Azure. Recomendamos adicionar réplicas secundárias de HA em cargas de trabalho críticas. Isso fornece failover mais rápido e reduz o impacto potencial no desempenho imediatamente após o failover.
Os backups de banco de dados são gerenciados para mim pelo Banco de Dados SQL do Azure?
Sim.
A Hiperescala dá suporte a Zonas de Disponibilidade?
Sim, a Hiperescala dá suporte à configuração com redundância de zona. É necessário pelo menos uma réplica secundária de HA e o uso de armazenamento com redundância de zona ou do armazenamento com redundância de zona geográfica para habilitar a configuração redundante de zona para Hiperescala.
A Hiperescala oferece suporte a pools elásticos?
Sim. Para obter mais informações, consulte Pools elásticos de Hiperescala e Blog: Pools Elásticos de Hiperescala agora estão em disponibilidade geral.
Com qual frequência os backups de banco de dados são feitos?
Não há backups tradicionais completos, diferenciais e de log de transações para bancos de dados da Hiperescala. Em vez disso, há instantâneos de armazenamento regulares de arquivos de dados, com uma cadência de instantâneo separada para cada arquivo. O log de transações gerado é mantido no estado em que se encontram no período de retenção configurado. No momento da restauração, os registros de log de transações relevantes são aplicados aos instantâneos de armazenamento restaurados. Independentemente da cadência do instantâneo, isso resulta em um banco de dados transacionalmente consistente a partir do ponto especificado no tempo dentro do período de retenção, sem nenhuma perda de dados. Na verdade, o backup de banco de dados na Hiperescala é contínuo.
A Hiperescala dá suporte à restauração pontual?
Sim.
Qual é o RPO (objetivo de ponto de recuperação)/RTO (objetivo de tempo de recuperação) para restauração de banco de dados na Hiperescala?
O RPO para restauração pontual é de 0 min. A maioria das operações de restauração pontual é concluída em 60 minutos, independentemente do tamanho do banco de dados. O tempo de restauração pode ser mais longo para bancos de dados maiores e se o banco de dados enfrentar níveis significativos de atividade de gravação antes e até o ponto de restauração no tempo. Emitir uma restauração após uma alteração recente de redundância de armazenamento pode resultar em tempos de restauração mais longos porque a restauração pode ser uma operação de tamanho de dados nesse caso, e o tempo de restauração pode ser proporcional ao tamanho do banco de dados.
O backup do banco de dados afeta o desempenho de computação em minhas réplicas primárias ou secundárias?
Não. Os backups são gerenciados pelo subsistema de armazenamento e usam instantâneos de armazenamento. Eles não afetam as cargas de trabalho do usuário.
Posso realizar a restauração geográfica com um banco de dados da Hiperescala?
Sim. A restauração geográfica terá suporte total se o armazenamento com redundância geográfica ou com redundância de zona geográfica for usado. O armazenamento com redundância geográfica é o padrão para novos bancos de dados. Diferentemente da restauração pontual, a restauração geográfica requer uma operação do tamanho dos dados. Os arquivos de dados são copiados paralelamente, de modo que a duração dessa operação depende principalmente do tamanho do maior arquivo no banco de dados, em vez do tamanho total do banco de dados. O tempo de restauração geográfica será significativamente menor, se o banco de dados for restaurado na região do Azure emparelhada com a região do banco de dados de origem.
Posso configurar a replicação geográfica ou usar grupos de failover com um banco de dados de Hiperescala?
Sim. de replicação geográfica e grupos de failover podem ser configurados para bancos de dados de Hiperescala.
Posso fazer um backup do banco de dados da Hiperescala e restaurá-lo no meu servidor local ou no SQL Server em uma VM?
Não. O formato de armazenamento dos bancos de dados da Hiperescala é diferente de qualquer versão de lançamento do SQL Server e você não controla os backups nem tem acesso a eles. Para tirar seus dados de um banco de dados de Hiperescala, você pode extrair dados usando tecnologias de movimentação de dados, como Azure Data Factory, Azure Databricks, SSIS etc.
Serei cobrado pelos custos de armazenamento de backup na Hiperescala?
Sim. A partir de 4 de maio de 2022, os backups de todos os novos bancos de dados serão cobrados com base no armazenamento de backup consumido e na redundância de armazenamento selecionada, de acordo com as taxas capturadas na página de preços do Banco de Dados SQL do Azure. Para bancos de dados em Hiperescala criados antes de 4 de maio de 2022, só haverá cobrança de backups se a retenção de backup estiver definida para ser superior a 7 dias. Para saber mais, confira Backups e redundância de armazenamento de Hiperescala.
Como posso medir o tamanho do armazenamento de backup no meu banco de dados de Hiperescala?
Para obter detalhes sobre como medir o tamanho do armazenamento de backup, consulte Backups Automatizados.
Como saber qual será minha fatura de backup?
Para determinar sua fatura de armazenamento de backup, o tamanho do armazenamento de backup é calculado periodicamente e multiplicado pela taxa de armazenamento de backup e pelo número de horas desde o último cálculo. Para estimar sua fatura de backup em um período de tempo, multiplique o tamanho do armazenamento de backup faturável em cada hora do período pela taxa de armazenamento de backup e adicione todos os valores por hora. Para consultar as métricas relevantes do Azure Monitor de vários intervalos por hora de modo programático, use a API REST do Azure Monitor. A cobrança de backup na camada de computação sem servidor é a mesma da camada de computação provisionada.
Como minha carga de trabalho influenciará meus custos de armazenamento de backup?
Os custos de backup serão mais altos para cargas de trabalho que adicionam, modificam ou excluem grandes volumes de dados no banco de dados. Por outro lado, as cargas de trabalho que sejam principalmente somente leitura podem ter custos menores de backup.
Como posso minimizar os custos de armazenamento de backup?
Para obter detalhes sobre como minimizar os custos de armazenamento de backup, consulte Backups Automatizados.
Posso restaurar geograficamente meu banco de dados com hiperescala em outra camada de serviço ou vice-versa?
Atualmente, as camadas de serviço não hiperescala (Basic/Standard/Premium/General Purpose/Business Critical) não podem ser restauradas geograficamente em uma camada de serviço de Hiperescala e vice-versa. Para converter um banco de dados sem hiperescala em um banco de dados com hiperescala, altere a camada de serviço após uma restauração.
Perguntas de desempenho
Quanto de taxa de transferência de gravação posso enviar por push em um banco de dados da Hiperescala?
O limite de taxa de transferência do log de transações é de 100 MB/s para qualquer tamanho de computação de Hiperescala. A capacidade de atingir essa taxa depende de vários fatores, incluindo, entre outros, o tipo de carga de trabalho, a configuração e o desempenho do cliente, e ter uma capacidade de computação suficiente na réplica de computação primária para produzir o log de registro a essa taxa. A taxa de geração de logs de 150 MB/s está disponível como uma versão prévia do recurso opcional. Para obter mais informações e optar por 150 MB/s, veja Blog: Melhorias em Hiperescala de novembro de 2024.
Quanta IOPS posso obter na maior computação?
O IOPS e a latência de E/S variam dependendo dos padrões de carga de trabalho. Se os dados acessados forem armazenados em cache no armazenamento SSD local na réplica de computação, você verá um desempenho de E/S semelhante ao das camadas de serviço ComercialMente Crítico ou Premium.
Meu rendimento é afetado por backups?
Não. A computação é separada da camada de armazenamento. Isso elimina o impacto no desempenho do backup.
Minha taxa de transferência é afetada à medida que provisiono réplicas de computação adicionais?
Como o armazenamento é compartilhado e não há nenhuma replicação física direta acontecendo entre réplicas de computação primárias e secundárias, a taxa de transferência na réplica primária não é diretamente afetada pela adição de réplicas secundárias. No entanto, a taxa de log para cargas de trabalho de gravação contínuas e agressivas pode ser limitada no primário para permitir que o log se aplique a réplicas secundárias e servidores de página para atualizar. Isso evita que haja um desempenho de leitura ruim em réplicas secundárias e uma recuperação longa após o failover para uma réplica secundária de HA.
A Hiperescala é adequada para consultas e transações de longa execução com uso intensivo de recursos?
Sim. No entanto, assim como em outros bancos de dados SQL do Azure, as conexões podem ser encerradas por erros transitórios muito pouco frequentes, que podem anular consultas de execução longa e reverter transações. Uma causa de erros transitórios é quando o sistema muda rapidamente o banco de dados para um nó de computação diferente para garantir a disponibilidade contínua dos recursos de computação e armazenamento ou para executar a manutenção planejada. A maioria desses eventos de reconfiguração termina em menos de 10 segundos. Os aplicativos que se conectam ao seu banco de dados devem ser criados para esperar e tolerar esses erros transitórios pouco frequentes implementando a lógica de repetição. Além disso, considere configurar uma janela de manutenção que corresponda à sua agenda de carga de trabalho para evitar erros transitórios devido à manutenção planejada.
Como fazer para diagnosticar e solucionar problemas de desempenho em um banco de dados da Hiperescala?
Para a maioria dos problemas de desempenho, particularmente aqueles que não estão enraizados no desempenho de armazenamento, são aplicadas etapas comuns de diagnóstico e solução de problemas do MSSQL. Para diagnósticos de armazenamento específicos da Hiperescala, confira Diagnóstico de solução de problemas de desempenho da Hiperescala do SQL.
Como o limite máximo de memória na camada sem servidor se compara à camada de computação provisionada?
O valor máximo de memória que um banco de dados sem servidor pode escalar verticalmente é 3 GB/vCore vezes o número máximo de vCores configurados em comparação com mais de 5 GB/vCore vezes o mesmo número de vCores na computação provisionada. Confira Limites de recursos da Hiperescala sem servidor para saber mais.
Questões de escalabilidade
Quanto tempo leva para escalar ou reduzir verticalmente uma réplica de computação?
A expansão ou redução vertical na camada de computação provisionada geralmente demora até dois minutos, independentemente do tamanho dos dados. Na camada de computação sem servidor, na qual a computação é dimensionada automaticamente com base na demanda da carga de trabalho, normalmente o tempo de dimensionamento é inferior a um segundo. Ocasionalmente, pode demorar tanto quanto o dimensionamento na computação provisionada.
Meu banco de dados fica offline enquanto a operação de escala/redução vertical está em andamento?
Não. Um banco de dados permanece online durante operações de aumento ou redução.
Devo esperar uma queda de conexão quando as operações de escala estão em andamento?
A expansão ou redução da computação provisionada resulta na remoção de conexões em caso de um failover no final da operação de dimensionamento. Na computação sem servidor, a escala automática normalmente não resulta na remoção de uma conexão, mas isso pode ocorrer ocasionalmente. A adição ou remoção de réplicas secundárias não resulta em quedas de conexão na primária.
A escala ou a redução vertical das réplicas de computação é automática ou uma operação acionada pelo usuário final?
O dimensionamento na computação provisionada é executado pelo usuário final. O dimensionamento automático na computação sem servidor é executado pelo serviço.
O tamanho do meu banco de dados tempdb e do cache do SSD de computação também aumenta à medida que a computação é ampliada?
Sim. O banco de dados tempdb
e o cache SSD de computação tamanho em nós de computação aumentam automaticamente à medida que o número de núcleos é aumentado. Para obter detalhes, confira Armazenamento da hiperescala e tamanhos da computação.
Posso provisionar várias réplicas de computação primárias, como um sistema de vários mestres, em que vários cabeçotes de computação primários podem gerar um nível mais alto de simultaneidade?
Não. Apenas a réplica de computação primária aceita solicitações de leitura/gravação. As réplicas de computação secundárias aceitam apenas solicitações somente leitura.
Perguntas sobre escala de leitura
Que tipos de réplicas secundárias (expansão de leitura) estão disponíveis na Hiperescala?
A Hiperescala dá suporte para réplicas de HA (alta disponibilidade), réplicas nomeadas e réplicas geográficas. Confira mais detalhes em Réplicas secundárias da Hiperescala.
Quantas réplicas de HA secundárias posso provisionar?
Entre 0 e 4. Se você quiser ajustar o número de réplicas, pode fazer isso usando o portal do Azure ou a API REST.
Como fazer para se conectar a uma réplica secundária de HA?
Você pode se conectar a essas réplicas de computação adicionais somente leitura configurando a propriedade ApplicationIntent
na cadeia de conexão como ReadOnly
. Todas as conexões marcadas com ReadOnly
são roteadas automaticamente para uma das réplicas secundárias de HA, se houver. Para obter detalhes, confira Usar réplicas somente leitura para descarregar cargas de trabalho de consulta somente leitura.
Como validar se eu me conectei com êxito a uma réplica de computação secundária usando o SQL Server Management Studio (SSMS) ou outras ferramentas de cliente?
Você pode executar a seguinte consulta T-SQL: SELECT DATABASEPROPERTYEX ('<database_name>', 'Updateability')
. O resultado será READ_ONLY
se você estiver conectado a uma réplica secundária somente leitura e READ_WRITE
se estiver conectado à réplica primária. O contexto do banco de dados precisa ser definido como o nome do seu banco de dados, não como o banco de dados master
.
Posso criar um ponto de extremidade dedicado para uma réplica secundária de HA?
Não. Você só pode se conectar a réplicas secundárias de HA especificando ApplicationIntent=ReadOnly
. No entanto, você pode usar pontos de extremidade dedicados para réplicas nomeadas.
O sistema faz o balanceamento inteligente da carga de trabalho somente leitura em réplicas secundárias de alta disponibilidade?
Não. Uma nova conexão com a intenção somente leitura é redirecionada para uma réplica secundária de HA arbitrária.
Posso escalar ou reduzir verticalmente as réplicas secundárias de HA independentemente da réplica primária?
Não está na camada de computação provisionada. As réplicas secundárias de HA são usadas como destinos de failover de alta disponibilidade, portanto, elas precisam ter a mesma configuração que as réplicas primárias para fornecer o desempenho esperado após o failover. No caso da camada sem servidor, a computação é dimensionada automaticamente para cada réplica de HA com base na demanda de carga de trabalho individual. Cada réplica secundária de HA ainda pode ser dimensionada automaticamente para os núcleos máximos configurados a fim de acomodar a função pós-failover. réplicas nomeadas fornecem a capacidade de dimensionar cada réplica nomeada de forma independente.
O dimensionamento do tempdb é diferente para a computação primária e as réplicas secundárias de HA?
Não. O banco de dados tempdb
é configurado com base no tamanho da computação provisionada. As réplicas secundárias de HA são do mesmo tamanho que a computação primária, incluindo tempdb
. Em réplicas nomeadas, tempdb
é dimensionado de acordo com o tamanho da computação da réplica, portanto, ela pode ser menor ou maior do que tempdb
na primária.
Posso adicionar índices e exibições nas minhas réplicas de computação secundárias?
Não. As réplicas de computação de bancos de dados de Hiperescala compartilham armazenamento, o que significa que todas as réplicas de computação veem as mesmas tabelas, índices e outros objetos de banco de dados. Se você quiser índices adicionais otimizados para leituras nas secundárias, deve adicioná-los na primária. Você ainda pode criar tabelas temporárias (nomes de tabela prefixados com # ou ##) em cada réplica secundária para armazenar dados temporários no banco de dados tempdb
. As tabelas temporárias são de leitura-gravação.
Qual é o atraso entre as réplicas de computação primária e secundária?
A latência de dados do momento em que uma transação é confirmada na primária até o momento em que pode ser lida em uma secundária depende da taxa de geração de log atual, do tamanho da transação, da carga na réplica e de outros fatores. A latência de dados normal para transações pequenas ocorre em dezenas de milissegundos, no entanto, não há limite superior na latência de dados. Os dados de uma determinada réplica secundária têm sempre consistência transacional, portanto, transações maiores levam mais tempo para serem propagadas. Em um determinado momento, a latência de dados e o estado do banco de dados podem ser diferentes para réplicas secundárias diferentes. As cargas de trabalho que precisam ler dados confirmados imediatamente devem ser executadas na réplica primária.
Uma réplica nomeada pode ser usada como um destino de failover?
Não, as réplicas nomeadas não podem ser usadas como destinos de failover para a réplica primária. Adicione réplicas de HA para a réplica primrary para essa finalidade.
Como posso distribuir uma carga de trabalho somente leitura em minhas réplicas nomeadas?
Como cada réplica nomeada pode ter um objetivo de nível de serviço diferente e, portanto, ser usada para diferentes casos de uso. Não há uma forma interna de direcionar o tráfego somente leitura enviado às réplicas primárias para um conjunto de réplicas nomeadas. Por exemplo, você pode ter oito réplicas nomeadas e talvez queira direcionar a carga de trabalho OLTP somente para réplicas nomeadas de 1 a 4, enquanto as cargas de trabalho analíticas do Power BI usam as réplicas nomeadas 5 e 6 e a carga de trabalho de ciência de dados usa as réplicas 7 e 8. Dependendo de qual ferramenta ou linguagem de programação você usa, as estratégias para distribuir tal carga de trabalho podem variar. Para ver um exemplo de criação de uma solução de roteamento de carga de trabalho para permitir que um back-end REST seja escalado horizontalmente, confira a amostra de expansão de OLTP.
Uma réplica nomeada pode estar em uma região diferente da região da réplica primária?
Não, como as réplicas nomeadas usam os mesmos servidores de página da réplica primária, elas precisam estar na mesma região. No entanto, se você criou uma réplica geográfica para a réplica primária em uma região diferente, poderá criar réplicas nomeadas para a réplica geográfica.
Uma réplica nomeada pode afetar a disponibilidade ou o desempenho da réplica primária?
Uma réplica nomeada não pode afetar a disponibilidade da réplica primária. É improvável que as réplicas nomeadas, sob circunstâncias normais, afetem o desempenho das principais, mas isso poderá acontecer se houver cargas de trabalho intensivas em execução. Assim como uma réplica de HA, uma réplica nomeada é mantida em sincronia com a primária por meio do serviço de log de transações. Se uma réplica nomeada, por qualquer motivo, não for capaz de consumir o log de transações com rapidez suficiente, ela começará a solicitar à réplica primária para reduzir sua taxa de geração de log, para que ela possa se atualizar. Embora esse comportamento não afete a disponibilidade do primário, ele pode afetar o desempenho das cargas de trabalho de gravação no primário. Para evitar essa situação, certifique-se de que suas réplicas nomeadas tenham espaço de cabeçalho de recurso suficiente - principalmente CPU - para processar o log de transações sem demora. Por exemplo, se o primário estiver processando várias alterações de dados, é recomendável ter réplicas nomeadas com pelo menos o mesmo tamanho de computação que o primário para evitar saturar a CPU nas réplicas e forçar o primário a diminuir a velocidade.
O que acontecerá com as réplicas nomeadas se a réplica primária não estiver disponível, por exemplo, devido a uma manutenção planejada?
As réplicas nomeadas ainda estão disponíveis para acesso somente leitura, como de costume.
Como posso aprimorar a disponibilidade de réplicas nomeadas?
Por padrão, as réplicas nomeadas não possuem suas próprias réplicas de alta disponibilidade. Um failover de uma réplica nomeada requer primeiro a criação de uma nova réplica, o que normalmente leva cerca de 1 a 2 minutos. No entanto, as réplicas nomeadas também podem tirar proveito da maior disponibilidade e dos failovers mais curtos fornecidos pelas réplicas de alta disponibilidade. Você pode adicionar réplicas de HA para uma réplica nomeada no portal do Azure ou usando o parâmetro ha-replicas
com da CLI do AZ ou o parâmetro HighAvailabilityReplicaCount
com do PowerShell ou a propriedade highAvailabilityReplicaCount
com a API REST. O número de réplicas de HA pode ser definido durante a criação de uma réplica nomeada e pode ser alterado a qualquer momento após a criação da réplica nomeada. O preço das réplicas de HA para réplicas nomeadas é o mesmo das réplicas de HA para réplicas primárias.
Se o Always Encrypted estiver habilitado no banco de dados de Hiperescala, a rotação da CMK (Chave Mestra de Coluna) no banco de dados primário também atualizará a chave em réplicas secundárias?
Sim. A Chave Mestra da Coluna é armazenada no banco de dados de usuário e pode ser validada executando a consulta SELECT * FROM sys.column_master_keys
. As réplicas nomeadas e as réplicas secundárias de alta disponibilidade leem dados da mesma camada de armazenamento/servidores de página que o banco de dados de Hiperescala primário. Ambos os tipos de réplicas são sincronizados com o banco de dados de Hiperescala primário por meio do serviço de log. Uma alteração de chave é considerada uma transação e é replicada automaticamente para todas as réplicas secundárias.
Posso determinar o nome de uma réplica nomeada associada a um valor na coluna replica_id em sys.dm_database_replica_states?
Não quando você consulta sys.dm_database_replica_states
na réplica primária. No entanto, você pode se conectar a uma réplica nomeada para determinar sua ID de réplica e outros detalhes usando a seguinte consulta de exemplo:
SELECT replica_id,
DB_NAME() AS named_replica_database_name,
synchronization_state_desc,
log_send_queue_size / 1024.0 / 1024.0 AS log_send_queue_size_gb,
last_sent_time,
last_received_time,
last_commit_time,
redo_queue_size / 1024.0 / 1024.0 AS redo_queue_size_gb,
redo_rate,
secondary_lag_seconds
FROM sys.dm_database_replica_states
WHERE is_local = 1
AND
replica_id = DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID');
Conteúdo relacionado
Para obter mais informações sobre a camada de serviço da Hiperescala, confira Camada de serviço da Hiperescala.