A replicação consome menos recursos do que as leituras de alta frequência?

1

Estou começando o desenvolvimento de um novo aplicativo da Web que precisa ser projetado para escalar desde o começo.

Estou investigando a replicação de banco de dados e o conceito de replicação mestre / escravo (ou editor / assinante - acho que são as mesmas coisas, mas corrija-me se estiver errado).

A topologia sobre a qual tenho lido envolve o mestre manipulando todas as gravações do banco de dados e o escravo lidando com todas as leituras.

Minha pergunta é:

Em um cenário em que o escravo deve ter o mais próximo possível dos dados em tempo real, a replicação transacional será menos carregada no banco de dados mestre do que se estivesse sendo lida diretamente?

Além disso, o desempenho do escravo não será afetado pela replicação transacional como se estivesse sendo gravada?

Geralmente, parece que o número de operações está sendo multiplicado pela introdução da replicação

por exemplo,

  • os dados são gravados no banco de dados principal (por cliente)
  • os dados são lidos do banco de dados mestre (para replicação)
  • os dados são gravados no banco de dados escravo (para replicação)
  • os dados são lidos do banco de dados escravo (por cliente)

Para mim, parece que qualquer benefício recebido pela adição de um servidor adicional será perdido na adição do processo extra de leitura e gravação.

Estou vendo isso de maneira muito simplificada? ou estou faltando alguma coisa?

Obrigado

    
por Lewray 13.08.2012 / 17:52

1 resposta

0

A replicação do SQL Server no lado do editor é alimentada por meio de um aplicativo que lê dados diretamente do log de transações, não das tabelas reais do banco de dados do SQL Server.

No lado do assinante, os dados estão sendo gravados no SQL Server, linha por linha, por meio de procedimentos armazenados (por padrão).

Existem alguns aplicativos MUITO grandes que eu gerencio e que não precisam ter leituras transferidas para outro SQL Server. Há muito poucos aplicativos que precisam ser dimensionados. 99% do tempo, simplesmente configurando a indexação adequada e projetando adequadamente o servidor e o armazenamento, lidará com grandes cargas de trabalho se um servidor grande o suficiente tiver sido adquirido.

    
por 13.08.2012 / 23:57