Plataformas e Ferramentas Analíticas
08. Bancos de dados distribuídos
8º capítulo da apostila Plataformas e Ferramentas Analíticas: estudo contínuo e em linguagem simples sobre Bancos de dados distribuídos, com conceitos conectados, aplicações e mapa mental.
Neste capítulo · 13 seções⌄
- O fio condutor
- Visão lógica, arquiteturas e transparências
- Fragmentação e correção do desenho
- Alocação e replicação
- Consultas e concorrência distribuídas
- Commit atômico: 2PC e seu bloqueio
- 3PC, CAP e relógios
- Caso integrado e raciocínio aplicado
- Resumo para revisão
- Ligando as partes em uma análise completa
- Como estudar e aplicar o capítulo
- Síntese e passagem para o próximo capítulo
- Base de cobertura
Um banco distribuído organiza dados relacionados em diferentes nós e procura oferecer uma visão lógica integrada. Distribuir pode ampliar escala e disponibilidade, mas acrescenta comunicação, coordenação e falhas parciais. O capítulo conecta fragmentação, replicação, consultas e protocolos de commit aos compromissos de consistência.
Com o fluxo analítico completo em mente, estudamos linguagens, bibliotecas, motores distribuídos e produtos corporativos. O objetivo é compreender o papel de cada ferramenta dentro de uma arquitetura. Este é o capítulo 8 de 19 da disciplina Plataformas e Ferramentas Analíticas. Ele retoma TensorFlow e Keras e utiliza essa base para avançar. Na sequência, estudaremos Apache HBase.
O fio condutor
Ciência de Dados começa com uma pergunta e termina com uma decisão que precisa ser compreendida, avaliada e acompanhada. Entre esses dois pontos, dados são coletados, examinados e transformados; métodos são escolhidos; resultados são validados; e limitações são comunicadas. Nenhuma etapa compensa automaticamente uma falha grave ocorrida na etapa anterior.
Neste capítulo, use Bancos de dados distribuídos para acompanhar três dimensões: o problema que se deseja resolver, a evidência disponível e o critério usado para avaliar o resultado. Essa separação ajuda a evitar soluções tecnicamente sofisticadas que não respondem à necessidade real.
Visão lógica, arquiteturas e transparências
Começamos por Visão lógica, arquiteturas e transparências, pois essa base organiza os conceitos e exemplos que aparecerão no restante do capítulo.
Um banco distribuído reúne dados logicamente relacionados e fisicamente dispersos, com gerenciamento coordenado. Sistemas homogêneos usam tecnologias semelhantes; heterogêneos integram diferenças de produtos, modelos e dialetos. Cliente-servidor separa funções de consumo e serviço; peer-to-peer permite maior simetria entre nós. Autonomia local é um objetivo clássico para operações locais, mas não elimina dependências de transações globais ou restrições da implementação.
Transparência de localização oculta onde os dados estão; de fragmentação oculta como uma relação foi dividida; de replicação oculta a existência e a gestão de cópias. O grau efetivamente oferecido varia. Distribuição pode favorecer crescimento incremental e disponibilidade quando há desenho adequado, mas aumenta complexidade e não impede que uma falha de nó torne um fragmento sem réplica indisponível.
Fragmentação e correção do desenho
Depois de compreender Visão lógica, arquiteturas e transparências, passamos a Fragmentação e correção do desenho. A nova seção acrescenta outra etapa ao mesmo raciocínio e mostra como as decisões anteriores influenciam as próximas.
Fragmentação horizontal divide linhas por predicados e preserva colunas; vertical divide colunas, mantendo chave para reconstrução. A híbrida combina ambas. Horizontal primária usa atributos da própria relação; derivada acompanha a fragmentação de uma relação relacionada, como pedidos junto aos clientes. Sharding corresponde, em essência, a particionamento horizontal e alocação entre nós conforme uma chave.
Completude exige que todo dado seja contemplado; reconstrução exige recompor a relação sem perda; disjunção evita sobreposição indevida. Na vertical, a chave repetida é uma exceção intencional necessária ao join de reconstrução. Na horizontal disjunta, a recomposição usa união. Predicados saldo<5000 e saldo≥5000 evitam sobreposição e lacuna; faixas com ambos os limites inclusivos duplicariam o valor de fronteira.
Continue lendo de graça
O capítulo inteiro está liberado no plano gratuito
Criar conta leva menos de um minuto e não pede cartão. Você destrava o texto completo, o mapa mental, o PDF para estudar off-line e ainda resolve questões inéditas todo dia.
Leu o resumo? Agora pratique.
São 60 questões inéditas de Bancos de dados distribuídos, todas comentadas alternativa por alternativa.
Você volta para este capítulo depois de criar a conta.
Fontes consultadas
- Microsoft Research: consenso e commit
- Google Research: Spanner
- Google Research: Spanner e CAP
- Database System Concepts: bancos distribuídos
- Acervo publicado de Ciência de Dados: 60 questões deste tópico; conceitos revisados e organizados nas seções.