SQL do Azure. Expanda o banco de dados para melhorar o desempenho (somente leitura)

SQL do Azure. Expanda o banco de dados para melhorar o desempenho (somente leitura)

Temos um banco de dados que é bastante utilizado (quase 100% das solicitações são selecionadas) e agora o banco de dados se torna um gargalo.

Estávamos procurando uma solução que nos permitisse dimensionar esse banco de dados (horizontalmente) e solicitar o balanceamento de carga em várias instâncias

Em um cenário perfeito, o que procuramos é uma maneira de adicionar e remover instâncias dinamicamente (de maneira semelhante a como você poderia dimensionar instâncias do Azure Web App).

Até agora, a melhor solução que encontrei é 'Leitura escalonada usando réplicas somente leitura':https://docs.microsoft.com/en-us/azure/azure-sql/database/read-scale-out. E esta parece uma solução perfeita, o único problema é que não vejo como poderia adicionar mais réplicas aí?

Responder1

Um RDBMS geralmente não pode ser expandido horizontalmente sem fragmentar os dados de alguma forma. Além disso, os dados em um RDBMS devem ser normalizados, o que não é apropriado para todos os conjuntos de dados.

Outra coisa a observar é que a escalabilidade dinâmica é diferente da escala automática. O dimensionamento automático ocorre quando um serviço é dimensionado automaticamente com base em critérios, enquanto a escalabilidade dinâmica permite o dimensionamento manual com um tempo de inatividade mínimo.

Uma solução possível pode ser estaScript do PowerShell para monitorar e dimensionar um único banco de dados SQL

Além disso, uma migração para o Cosmos DB também pode ser uma solução.

informação relacionada