MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

No Mongo, qual é a diferença entre sharding e replicação?


No contexto de dimensionamento do MongoDB:

  • replicação cria cópias adicionais dos dados e permite o failover automático para outro nó. A replicação pode ajudar no dimensionamento horizontal de leituras se você estiver OK para ler dados que potencialmente não são os mais recentes.

  • fragmentação permite o dimensionamento horizontal de gravações de dados particionando dados em vários servidores usando uma chave de fragmentação . É importante escolher uma boa chave de fragmentação. Por exemplo, uma má escolha de chave de estilhaço pode levar a "pontos de acesso" de dados sendo gravados apenas em um único estilhaço.

Um ambiente fragmentado adiciona mais complexidade porque o MongoDB agora precisa gerenciar a distribuição de dados e solicitações entre fragmentos - configuração adicional e processos de roteamento são adicionados para gerenciar esses aspectos.

Replicação e fragmentação normalmente são combinados para criar um cluster fragmentado onde cada shard é suportado por um conjunto de réplicas.

Do ponto de vista do aplicativo cliente, você também tem algum controle em relação à interação replicação/sharding, em particular:
  • Preferências de leitura
  • Escreva preocupações