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

Resuma esta postagem com: