ScholarGate
Assistente

Replicação e Consistência de Dados

A replicação de dados mantém múltiplas cópias de dados para disponibilidade e desempenho, e os protocolos de consistência governam como as leituras e escritas nessas cópias são reconciliadas.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

A replicação de dados mantém cópias de um item de dados em vários nós; um modelo de consistência especifica as garantias sobre os valores que as leituras podem retornar, dada a história das escritas, variando de forte (cada leitura vê a escrita mais recente) a eventual (as réplicas convergem se as atualizações cessarem).

Scope

Este tópico abrange estratégias de replicação (primário-backup, multi-mestre, quórum), protocolos de leitura/escrita baseados em quórum e seus requisitos de interseção, anti-entropia e gossip para convergência eventual, detecção de conflitos com vetores de versão e tipos de dados replicados sem conflito (CRDTs), e o espectro de consistência de linearizável a eventual. Ele trata da contraparte em nível de dados da replicação de máquina de estado.

Core questions

  • Como os tamanhos de quórum para leituras e escritas garantem que as leituras observem a escrita mais recente?
  • Como as réplicas convergem sob consistência eventual e como os conflitos são resolvidos?
  • Qual nível de consistência uma aplicação deve escolher, dadas suas necessidades de latência e disponibilidade?

Key theories

Consenso de quórum para dados replicados
Ao atribuir votos às réplicas e exigir quóruns de leitura e escrita cujos tamanhos somam mais do que o total, cada quórum de leitura intercepta o quórum de escrita mais recente, garantindo que as leituras observem dados atualizados.
Consistência eventual e anti-entropia
Armazenamentos de alta disponibilidade aceitam escritas em qualquer réplica e reconciliam assincronamente via gossip e vetores de versão, garantindo apenas que as réplicas convergem quando as atualizações param, como exemplificado pelo design do Dynamo.
Tipos de dados replicados sem conflito
CRDTs são tipos de dados cujas operações são projetadas para comutar ou cujos estados formam um semireticulado de junção, de modo que as atualizações concorrentes se mesclam deterministicamente sem coordenação, proporcionando forte consistência eventual.

Clinical relevance

Essas técnicas definem as garantias dos sistemas de armazenamento reais: os protocolos de quórum sustentam armazenamentos de chave-valor fortemente consistentes, enquanto a consistência eventual e os CRDTs alimentam armazenamentos de alta disponibilidade, carrinhos de compras e editores colaborativos onde a disponibilidade supera o acordo imediato.

History

O esquema de votação ponderada de Gifford de 1979 estabeleceu a replicação por quórum; o artigo Dynamo da Amazon de 2007 popularizou a consistência eventual de alta disponibilidade; e a formalização de CRDTs em 2011 deu uma base fundamentada para a convergência sem coordenação, moldando o design moderno de dados replicados.

Debates

Quanta consistência os dados replicados devem fornecer por padrão?
A consistência forte facilita o desenvolvimento de aplicações, mas limita a disponibilidade e adiciona latência, enquanto a consistência eventual maximiza a disponibilidade ao custo de expor divergências temporárias; quóruns ajustáveis e CRDTs são tentativas de permitir que as aplicações escolham por operação.

Key figures

  • David Gifford
  • Werner Vogels
  • Marc Shapiro
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • gifford1979
  • decandia2007
  • shapiro2011

Frequently asked questions

Como os quóruns de leitura e escrita garantem leituras atualizadas?
Se uma escrita deve atingir W réplicas e uma leitura deve consultar R réplicas, e R mais W excede o número total de réplicas, então qualquer quórum de leitura se sobrepõe ao quórum de escrita mais recente em pelo menos uma réplica, de modo que a leitura pode observar o valor mais recente.

Methods for this concept

Related concepts