NA VISUALIZAÇÃO

A sincronização aprimorada de réplicas de consulta no Azure Analysis Services está em versão prévia

Data da publicação: 18 janeiro, 2020

Uma nova configuração do Azure Analysis Services (em versão prévia) aprimora o desempenho e a consistência da sincronização de réplicas de consulta em ambientes de expansão. A expansão de consulta distribui as consultas de cliente entre uma ou mais réplicas de consulta, reduzindo os tempos de resposta para cargas de trabalho de alta simultaneidade. A sincronização de réplicas de consulta replica dados em bancos de dados de réplicas de consulta.

Por padrão, as réplicas de consulta são reidratadas por completo (não de maneira incremental), o que ocorre em estágios. Elas são desanexadas e anexadas duas de cada vez (supondo que haja, pelo menos, três réplicas) para garantir que, no mínimo, uma réplica seja mantida online para consultas em qualquer momento especificado. Os clientes poderão precisar se reconectar a uma das réplicas online durante esse processo.

Com a nova configuração ReplicaSyncMode, agora é possível especificar a sincronização de réplicas de consulta em paralelo. A sincronização otimizada de réplicas de consulta também oferece estes benefícios:

  • Todas as réplicas serão sincronizadas em paralelo, reduzindo consideravelmente o tempo de sincronização.
  • Como todas as réplicas são sincronizadas em paralelo, é mais provável que os dados entre as réplicas sejam consistentes durante o processo de sincronização.
  • Como os bancos de dados são mantidos online em todas as réplicas durante o processo de sincronização, os clientes não precisam se reconectar.
  • O cache na memória é atualizado incrementalmente somente com os dados alterados, o que pode ser muito mais rápido que renovar completamente o modelo.

Como exemplo do benefício da sincronização otimizada, a equipe do produto conduziu testes em um banco de dados com aproximadamente 84 GB em um S8v2 com três réplicas. A sincronização demorou cerca de 2 minutos para uma sincronização incremental versus 5 minutos para uma sincronização não incremental. Para o mesmo banco de dados em um S8v2 com sete réplicas, enquanto o tempo de uma sincronização incremental permaneceu inalterado, o tempo para uma sincronização não incremental passou para 11 minutos.

Os valores possíveis para ReplicaSyncMode são:

  • 1 (padrão): reidratação completa do banco de dados de réplica em estágios.
  • 2: sincronização otimizada em paralelo.

FastReplicaSync (002)

Se você definir ReplicaSyncMode=2, a memória adicional poderá ser consumida pelas réplicas de consulta, dependendo da quantidade do cache que precisa ser atualizada. Para manter o banco de dados online e disponível para consultas, a operação pode exigir até o dobro da memória na réplica, dependendo da quantidade dos dados alterados. Isso ocorre porque os segmentos novos e antigos são mantidos na memória simultaneamente. Os nós de réplica têm a mesma alocação de memória do nó primário. Como normalmente há memória extra no nó primário para operações de atualização, é improvável que as réplicas fiquem sem memória suficiente. Além disso, um cenário comum é que o banco de dados é atualizado de maneira incremental no nó primário e, portanto, não deve haver a necessidade de dobrar a memória. Se a operação de sincronização encontrar uma mensagem de erro que indique “memória insuficiente”, ela será tentada novamente usando a técnica padrão (anexar/desanexar dois de cada vez).

Saiba mais sobre a expansão de consulta do Azure Analysis Services.

  • Analysis Services do Azure
  • Features
  • Management
  • Services

Produtos relacionados