Mostrando postagens com marcador Shard. Mostrar todas as postagens
Mostrando postagens com marcador Shard. Mostrar todas as postagens

quinta-feira, 22 de maio de 2014

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


sharding

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.


 

Categories

Blog Archive

SmarttNet Solution Provider. Tecnologia do Blogger.

Postagens populares

Twitter MongoDBBrazil

Total de visualizações de página