Sem categoria

Bancos de dados distribuídos e projeto de replicação

Um dos elementos mais importantes da arquitetura de banco de dados distribuído é a replicação. De fato, ela define a arquitetura do banco de dados. Ela determina se os dados são consistentes/disponíveis ou não.

Mestre / Escravo

As gravações são executadas nos nós mestres, replicadas para os nós escravos. Se a consistência for necessária, as leituras são executadas nos nós mestres. Caso contrário, as leituras são executadas nos nós mestres e/ou nos nós escravos.

Qual é o problema?

Vamos supor que a) haja um nó por servidor físico e b) as gravações sejam replicadas para dois escravos.

O problema é que dois terços dos nós são passivos, dois terços dos nós não respondem a solicitações de gravação e podem não responder a solicitações de leitura. O problema é que... há três vezes o número de nós necessários para atender aos requisitos de throughput/latência.

Sem mestre

As gravações são executadas em vários nós. Se a consistência for necessária, as leituras serão executadas em vários nós.

Qual é o problema?

Vamos supor que a) haja um nó por servidor físico e b) as gravações sejam replicadas em dois nós.

O problema é que... leituras/gravações consistentes são executadas em vários nós. Isso requer várias solicitações, uma do cliente para o servidor e duas do servidor para outros dois servidores. O nó que recebe a solicitação de gravação deve enviar solicitações de gravação para os outros dois nós, resultando em maior latência e menor taxa de transferência.

Proprietário principal

É o melhor de ambos: as leituras/gravações são executadas no proprietário principal e replicadas, e as leituras/gravações são executadas em todos os nós. Como em um projeto mestre/escravo, a consistência é mantida pela execução de leituras/gravações no nó primário. Como em um projeto sem mestre, cada nó é um nó primário.

Um deles é um design ruim. Um desses é um bom design. Um desses é um ótimo design.

O que você acha?

Discutir sobre Notícias Hacker
Discutir sobre Reddit

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Shane Johnson, diretor de marketing de produtos da Couchbase

Shane K Johnson foi diretor de marketing de produtos da Couchbase. Antes da Couchbase, ele ocupou várias funções de desenvolvimento e evangelismo com experiência em Java e sistemas distribuídos. Ele prestou consultoria a organizações dos setores financeiro, de varejo, telecomunicações e mídia para elaborar e implementar arquiteturas que dependiam de sistemas distribuídos para dados e análises.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.