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