Replicação & Sharding

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MyrinNew
    Senior Member
    • Feb 2024
    • 5168

    #1

    Replicação & Sharding

    📘 Replicação e Sharding: Conceitos, Diferenças e Vantagens

    1. Introdução

    Sistemas de banco de dados distribuídos muitas vezes precisam lidar com grandes volumes de dados, alta disponibilidade e tolerância a falhas. Para atender essas demandas, duas técnicas fundamentais são amplamente utilizadas: replicação e sharding.





    2. O que é Replicação?

    Replicação é o processo de copiar e manter os mesmos dados em múltiplos servidores


    🔧 Como funciona:

    • Um servidor principal aceita operações de escrita.
    • Um ou mais servidores secundários Replicas mantêm cópias sincronizadas dos dados.
    • As réplicas geralmente são atualizadas de forma assíncrona ou semissíncrona.


    ✅ Vantagens:

    • Alta disponibilidade: se o servidor principal falhar, uma réplica pode assumir seu papel.
    • Melhor desempenho de leitura: consultas podem ser distribuídas entre os nós.
    • Backups mais seguros: réplicas podem ser usadas para realizar backups sem impactar o sistema principal.





    3. O que é Sharding?

    Sharding é o processo de dividir os dados em partes menores chamadas (Região, tipo ou por hashing) de "shards", que são armazenadas em diferentes servidores.


    🔧 Como funciona:

    • Cada shard contém uma fração dos dados, baseada em uma chave (ex: ID do cliente).
    • Cada servidor armazena apenas uma parte dos dados totais.
    • Consultas são roteadas ao shard correto com base nessa chave.


    ✅ Vantagens:

    • Escalabilidade horizontal: mais servidores podem ser adicionados conforme o volume de dados cresce.
    • Melhor desempenho de escrita e leitura: reduz a sobrecarga em cada servidor.
    • Capacidade de armazenamento distribuída: dados grandes são particionados entre servidores.





    4. Pode-se usar os dois juntos?

    Sim! Em sistemas grandes, é comum combinar sharding + replicação:
    • Cada shard pode ter suas próprias réplicas.
    • Isso oferece escalabilidade e alta disponibilidade ao mesmo tempo.





    5. Conclusão

    Tanto replicação quanto sharding são técnicas essenciais no design de sistemas distribuídos modernos.
    • Use replicação se seu foco for tolerância a falhas e desempenho de leitura.
    • Use sharding se seu foco for escalabilidade e desempenho com grandes volumes de dados.


    A escolha correta depende das necessidades específicas da aplicação e da infraestrutura disponível.




    More...
Working...