Sharding
Sharding é o processo de armazenamento de registros de dados em várias máquinas e é a abordagem do MongoDB para atender as demandas de crescimento de dados. À medida que o tamanho dos dados aumenta, uma única máquina pode não ser suficiente para armazenar os dados, nem fornecer uma leitura e gravação com rendimento aceitável. O Sharding resolve o problema com escala horizontal. Com sharding, você adiciona mais máquinas para suportar o crescimento de dados e as demandas de operações de leitura e escrita.
Por que Sharding?
- Na replicação todas as gravações são feitas no nó principal (Master)
- Consultas sensíveis à latência continuam sendo feitas no nó principal
- Conjunto de réplicas possuem limitações de 12 nós
- A memória pode não ser suficiente quando o dataset ativo for muito grande
- Disco local não possui espaço suficiente
- A escala vertical é muito cara
Sharding no MongoDB
No diagrama acima, existem três componentes principais que são descritos abaixo:
- Shards: Shards (fragmentos) são usados para armazenar dados. Eles fornecem alta disponibilidade e consistência dos dados. Em um ambiente de produção cada fragmento é um conjunto de réplicas separado.
- Config Servers: Config Servers armazenam os metadados do cluster. Estes dados contém um mapeamento dos dados do conjunto de cluster para os shards. O roteador consulta e usa os metadados para direcionar operações de shards específicos. Em um ambiente de produção, Sharded Clusters possuem exatamente 3 servidores de configuração.
- Query Routers: Query Routers são basicamente mongos instances que fazem a interface com os aplicativos clients e operações diretas com o shard apropriado. Os processos de consulta e de roteamento visa operações para os shards e retornar resultados para os clients. Um Sharded Cluster pode conter mais do que um roteador de consulta ( Query Router) para dividir a carga de solicitações do client. Um client envia as solicitações para um roteador consulta. Geralmente um Sharded Cluster possue muitos roteadores consulta.
0 comentários:
Postar um comentário