Vantagens, desvantagens e gargalo de desempenho do HBase

A arquitetura HBase sempre tem “Ponto unico de falha”Recurso e não há nenhum mecanismo de tratamento de exceções associado a ele.

Aqui, aprenderemos quais são os prós e os contras do HBase e dos gargalos de desempenho:

Gargalos de desempenho no HBase

  • Em qualquer ambiente de produção, o HBase está rodando com um cluster de mais de 5000 nós, apenas o Hmaster atua como mestre para todos os servidores da região escravos. Se o Hmaster cair, ele só poderá ser recuperado depois de muito tempo. Mesmo que o cliente seja capaz de conectar o servidor da região. É possível ter outro master, mas apenas um estará ativo. Levará muito tempo para ativar o segundo Hmaster se o Hmaster principal falhar. Portanto, o Hmaster é um gargalo de desempenho.
  • No HBase, não podemos implementar nenhuma operação de dados cruzados e operações de junção, é claro, podemos implementar as operações de junção usando MapaReduzir, o que levaria muito tempo para ser projetado e desenvolvido. As operações de junção de tabelas são difíceis de executar no HBase. Em alguns casos de uso, é impossível criar operações de junção relacionadas a tabelas presentes no HBase
  • O HBase exigiria um novo design quando quiséssemos migrar dados de fontes externas RDBMS para servidores HBase. No entanto, esse processo leva muito tempo.
  • O HBase é realmente difícil de consultar. Talvez tenhamos que integrar o HBase com alguns SQL camadas como apache Phoenix, onde podemos escrever consultas para acionar os dados no HBase. É muito bom ter o Apache Phoenix no topo do HBase.
  • Outra desvantagem do HBase é que não podemos ter mais de uma indexação na tabela, apenas a coluna-chave da linha atua como chave primária. Portanto, o desempenho seria lento quando quiséssemos pesquisar em mais de um campo ou em outra chave que não a linha. Este problema podemos superar escrevendo código MapReduce, integrando com Apache SOLRName e com Apache Phoenix.
  • Melhorias lentas na segurança para os diferentes usuários acessarem os dados do HBase.
  • HBase não suporta chaves parciais completamente
  • HBase permite apenas uma classificação padrão por tabela
  • É muito difícil armazenar grandes arquivos binários no HBase
  • O armazenamento do HBase limitará consultas e classificação em tempo real
  • Pesquisa de chave e pesquisa de intervalo em termos de pesquisa de conteúdo da tabela usando valores-chave, limitará as consultas executadas em tempo real
  • A indexação padrão não está presente no HBase. Os programadores precisam definir várias linhas de código ou script para executar a funcionalidade de indexação no HBase
  • Caro em termos de requisitos de hardware e alocações de blocos de memória.
    • Mais servidores devem ser instalados para ambientes de cluster distribuídos (como cada servidor para NameNode, DataNodes, Funcionário do zoológicoe servidores de região)
    • Em termos de desempenho, requer máquinas com muita memória
    • Em termos de custo e manutenção, também é mais alto

Vantagem HBase, limitações e gargalo de desempenho

Vantagens do HBase

Aqui, aprenderemos quais são os prós/benefícios do HBase:

  • Pode armazenar grandes conjuntos de dados sobre o armazenamento de arquivos HDFS e agregar e analisar bilhões de linhas presentes nas tabelas HBase
  • No HBase, o banco de dados pode ser compartilhado
  • Operações como leitura e processamento de dados levarão pouco tempo em comparação com modelos relacionais tradicionais
  • Operações aleatórias de leitura e gravação
  • Para operações analíticas online, o HBase é amplamente utilizado.
  • Por exemplo: Em aplicações bancárias, como atualizações de dados em tempo real em caixas eletrônicos, o HBase pode ser usado.

Desvantagens do HBase

Aqui estão os contras/limitações importantes do HBase:

  • Não podemos esperar usar completamente o HBase como substituto dos modelos tradicionais. Alguns dos recursos dos modelos tradicionais não podem ser suportados pelo HBase
  • O HBase não pode executar funções como SQL. Não suporta estrutura SQL, portanto não contém nenhum otimizador de consulta
  • O HBase consome muita CPU e memória, com grande acesso sequencial de entrada ou saída, enquanto os trabalhos de redução de mapa são principalmente de entrada ou saída vinculados à memória fixa. HBase integrado com trabalhos de redução de mapa resultará em latências imprevisíveis
  • HBase integrado com pig e Colméia jobs resulta em alguns problemas de memória de tempo no cluster
  • Em um ambiente de cluster compartilhado, a configuração requer menos slots de tarefas por nó para alocar para requisitos de CPU HBase