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
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

