Sistemas DistribuídosVisão geral
Bancos de Dados Distribuídos
Um banco de dados distribuído é um conjunto de itens em servidores independentes, sem memória compartilhada, que ainda precisa parecer um único repositório.
Controle de concorrência, commit atômico e modelos de consistência deste tópico — e redundância e sistemas de arquivos nos seguintes — partem dessa coleção e da coordenação entre os nós.
As páginas se agrupam em quatro blocos. O primeiro escolhe, para cada operação concorrente, se ela executa agora, espera ou aborta.
O segundo trata a transação que atualiza vários servidores como uma só unidade: ACID, plana ou aninhada, e o commit em duas fases.
O terceiro restringe quando a leitura numa réplica pode ver a escrita noutra: linearizável, sequencial, causal ou eventual.
O quarto decide onde cada item fica e quantas cópias existem, e se a escrita espera as réplicas ou propaga depois.
Crescimento e encolhimento de bloqueios (2PL), wait-die, wound-wait e validação OCC estão em Controle de Concorrência. Prepare e commit entre servidores (2PC), transação plana e filhos paralelos estão em Transações Distribuídas.
O contrato sobre quando a leitura numa réplica vê a escrita está em Modelos de Consistência. Esperar as cópias antes de devolver sucesso, ou responder e propagar depois, está em Distribuição de Dados.
Serializabilidade — efeito equivalente a alguma ordem serial das transações — está em Controle de Concorrência. Linearizabilidade — cada operação num instante entre invocação e resposta — está em Modelos de Consistência.
Partir as chaves entre nós está em Distribuição de Dados. O commit atômico da transação que atravessa vários desses nós está em Transações Distribuídas.
Páginas deste tópico
Controle de Concorrência
ProAlta incidência no POSCOMP10 min de leitura · 7ª mais cobrada em Sistemas Distribuídos
2PL conservador/estático livre de deadlock; espera cautelosa vs wait-die/wound-wait; OCC leitura/validação/escrita.
Transações Distribuídas
ProMédia incidência no POSCOMP12 min de leitura · 15ª mais cobrada em Sistemas Distribuídos
ACID; transação plana (sequência, um lock) vs aninhada (filhos paralelos); 2PC prepare/commit.
Modelos de Consistência
ProBaixa incidência no POSCOMP12 min de leitura · 24ª mais cobrada em Sistemas Distribuídos
Linearizabilidade vs sequencial vs causal vs eventual; CAP em uma frase.
Distribuição de Dados
ProMédia incidência no POSCOMP14 min de leitura · 16ª mais cobrada em Sistemas Distribuídos
Replicação síncrona vs assíncrona e particionamento; consistência e 2PC só por ponte.