Clustering em NoSQL

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 vários servidores de commodities, em vez de um único servidor, poderosa muito mais caro.

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íveis com um exemplo de dados divididos entre os servidores.

image0.jpg

O diagrama mostra dois nós (HRegionServers) numa configuração altamente disponível, cada uma delas actuando como uma reserva 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 de servidor próximos no tempo uns com os outros pode ser tratado. Isto não é tão rara quanto se pensa! Aconselhamento varia de acordo com 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 # 8208-alocação 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 em # loja 8208 memória.

    Em HBase, todos os dados são gravados em um em # loja 8208-memory, e mais tarde esta loja é liberado para o disco. No disco, essas lojas são chamadosarmazenar 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 ingest e velocidade de recuperação, porque todas as operações de E / S grandes estão espalhados por várias máquinas.

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

  • A cópia primária

  • Uma réplica dentro do mesmo rack

  • Outra réplica em um rack diferente

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

menu