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