Baixa latência ou alta largura de banda, o que é mais importante para a replicação de banco de dados?

1

Ao considerar o posicionamento de um banco de dados escravo externo, que é mais importante em uma conexão de rede para manter a replicação atualizada: baixa latência ou alta largura de banda?

    
por Jake McGraw 08.06.2009 / 19:40

5 respostas

4

Se a quantidade de dados a ser replicada ultrapassar a largura de banda disponível, a replicação não será muito bem-sucedida. Portanto, alta largura de banda seria importante.

No entanto, a baixa latência seria importante se você estiver fazendo muitas pequenas atualizações. Então, depende do que está sendo escrito para esse banco de dados.

    
por 08.06.2009 / 19:47
3

O principal determinante de um requisito de latência é se o aplicativo principal aguarda a resposta / confirmação dos dados que estão sendo postados no escravo. Se tal confirmação for necessária, a baixa latência é necessária para não prejudicar o aplicativo. Se o aplicativo não se importar, a latência provavelmente não será um problema.

O principal determinante de um requisito de largura de banda é o volume de dados sendo alterados e a quantidade de tempo que você está disposto a suportar com o escravo estando por trás de uma explosão de mudanças.

    
por 08.06.2009 / 20:01
1

Isso pode depender de quanta atividade seu banco de dados receberá ou de mudanças que serão produzidas no banco de dados de origem.

Se houver uma grande quantidade de dados mudando no banco de dados de origem, eu optaria por uma largura de banda maior para acompanhar as alterações.

A menos que a latência seja realmente alta, não acho que isso seja uma grande preocupação.

    
por 08.06.2009 / 19:45
1

Basicamente, isso depende.

Isso depende do banco de dados, do tipo de replicação e da quantidade de dados que estão sendo replicados (carga de trabalho / transações por unidade de tempo, atualizações de log, etc.).

O envio de log geralmente significa que sua unidade de replicação é razoavelmente grande (vários KB), e você provavelmente se beneficiará de mais largura de banda do que de menor latência.

Se você estiver fazendo a replicação de transações individuais (pode ser feito por meios diferentes com diferentes mecanismos de banco de dados), você pode estar gerando tráfego que é pequenos pacotes em rajadas.

Sua melhor aposta é fazer uma simulação da medida mais próxima possível de uma implementação do mundo real. Você pode conversar com pessoas que usam softwares semelhantes e com cargas de trabalho semelhantes para ter uma ideia da escala. No final, você provavelmente precisará fazer para ver como funciona.

    
por 08.06.2009 / 20:06
1

Minha regra geral para isso é que você deseja uma conexão de baixa latência para um sistema do tipo OLTP [processamento de transações on-line] com espelhamento ativo (muitas transações pequenas) ou um ODS [armazenamento de dados operacional] espelhado ativamente, mas vai querer uma conexão de largura de banda maior para um data-warehouse (ou qualquer outro tipo de configuração) onde você está espelhando em lotes.

    
por 08.06.2009 / 23:24