Clustering em nosql

Video: Amazon DynamoDB Overview, a fully managed NoSQL database service

bancos de dados NoSQL são bem adequados para grandes conjuntos de dados. clones Bigtable como HBase não são excepção. Você provavelmente vai querer usar vários servidores de baixo custo das matérias-primas em um único cluster, em vez de uma máquina muito poderosa. Isso é porque você pode obter em geral melhor desempenho por dólar usando muitos servidores de commodities, em vez de um único servidor, poderosa muito mais caro.

Video: Clustering (4): Gaussian Mixture Models and EM

Além de ser capaz de escalar rapidamente, servidores de commodities de baixo custo também pode fazer o seu serviço de banco de dados mais resiliente e, assim, ajudar a evitar falhas de hardware. Isso é porque você tem outros servidores para assumir o serviço se mãe de um único servidor falhar. Este não é o caso com um único servidor grande.

A figura mostra uma configuração HBase altamente disponível com um exemplo de dados divididos entre os servidores.

Video: Gaussians and EM Clustering

O diagrama mostra dois nós (HRegionServers) numa configuração altamente disponível, cada um actuando como um apoio para o outro.

Em muitas configurações de produção, você pode querer pelo menos três nós de alta disponibilidade para garantir duas falhas no servidor perto no tempo uns com os outros pode ser tratado. Isto não é tão raro quanto você pensa! Conselhos varia por Bigtable- por exemplo, HBase recomenda cinco nós, pelo menos para um cluster:

  • Cada servidor da região gere o seu próprio conjunto de chaves.

    Projetando uma estratégia de alocação de chave de linha é importante porque determina como a carga é espalhada em todo o cluster.



  • | Cada região mantém o seu próprio log de gravação e armazenar na memória.

    Em HBase, todos os dados são gravados em uma loja na memória, e mais tarde esta loja é descarregado para o disco. No disco, essas lojas são chamados armazenar arquivos.

    HBase interpreta armazenar arquivos como arquivos individuais, mas na realidade, eles são distribuídos em pedaços através de um Hadoop Distributed File System (HDFS). Este prevê alta ingerir e velocidade de recuperação, porque todas as operações de E / S grandes estão espalhadas por muitas máquinas.

Para maximizar a disponibilidade de dados, por padrão, o Hadoop mantém três cópias de cada arquivo de dados. Grandes instalações têm

  • A cópia primária

  • Uma réplica dentro da mesma cremalheira

  • Outra réplica em um rack diferente

Antes de Hadoop 2.0, Namenodes não poderia ser feito altamente disponível. Estes mantida uma lista de todos os servidores ativos no cluster. Eram, portanto, um ponto único de falha. Desde Hadoop 2.0, esse limite não existe mais.


Publicações relacionadas