Arquitetura HBase: tudo o que você precisa saber [2022]
Publicados: 2021-01-06Tanto os dados estruturados quanto os não estruturados estão crescendo exponencialmente, e o Apache Hadoop provou sua excelência no tratamento de dados tão vastos. O Apache Hadoop, portanto, ganhou muita força no mundo do big data. No entanto, existem certas limitações na arquitetura HDFS do Hadoop.
O HDFS produz operações de alta latência e não pode lidar com um grande volume de solicitações de leitura e gravação simultaneamente. Outra limitação é que o HDFS é uma arquitetura de gravação única e leitura muitas vezes, o que significa que ele precisa reescrever um arquivo completamente para alterar um conjunto de dados. Essas limitações da arquitetura HDFS levantaram a necessidade da arquitetura HBase .
Índice
O que é HBase?
O HBase é uma arquitetura de armazenamento de dados orientada a colunas formada sobre o HDFS para superar suas limitações. Ele aproveita os recursos básicos do HDFS e se baseia nele para fornecer escalabilidade ao lidar com um grande volume de solicitações de leitura e gravação em tempo real. Embora a arquitetura HBase seja um banco de dados NoSQL, ela facilita o processo de manutenção dos dados distribuindo-os uniformemente pelo cluster. Isso agiliza o acesso e a alteração de dados no modelo de dados do HBase. Saiba mais sobre o HBase.
Quais são os componentes do modelo de dados HBase?
Como o modelo de dados HBase é um banco de dados NoSQL, os desenvolvedores podem facilmente ler e gravar dados conforme e quando necessário, tornando-o mais rápido que a arquitetura HDFS. É composto pelos seguintes componentes:
1. Tabelas HBase : A arquitetura HBase é orientada a colunas; portanto, os dados são armazenados em tabelas que estão no formato baseado em tabela.
2. RowKey : Uma RowKey é atribuída a cada conjunto de dados que é gravado. Isso facilita a pesquisa de dados específicos nas tabelas do HBase.

3. Colunas : Colunas são os diferentes atributos de um conjunto de dados. Cada RowKey pode ter colunas ilimitadas.
4. Família de colunas: As famílias de colunas são uma combinação de várias colunas. Uma única solicitação para ler uma família de colunas dá acesso a todas as colunas dessa família, tornando a leitura de dados mais rápida e fácil.
5. Qualificadores de coluna: os qualificadores de coluna são como títulos de colunas ou nomes de atributos em uma tabela normal.
6. Célula : É uma tupla linha-coluna que é identificada usando RowKey e qualificadores de coluna.
7. Timestamp : Sempre que um dado é armazenado no modelo de dados do HBase, ele é armazenado com um timestamp.
Leia: Componentes do ecossistema Hadoop
Quais são os componentes da arquitetura HBase?
A arquitetura HBase compreende três componentes principais, HMaster, Region Server e ZooKeeper.
1. H Mestre
HMaster opera semelhante ao seu nome. É o master que atribui as regiões ao Region Server (slave). A arquitetura HBase usa um processo de Auto Sharding para manter os dados. Nesse processo, sempre que uma tabela HBase fica muito longa, ela é distribuída pelo sistema com o auxílio do HMaster. Algumas das responsabilidades típicas do HMaster incluem:
- Controlar o failover
- Gerenciar o servidor de região e o cluster do Hadoop
- Lidar com as operações DDL, como criar e excluir tabelas
- Gerenciar alterações nas operações de metadados
- Gerenciar e atribuir regiões a servidores de região
- Aceita solicitações e as envia para o Region Server relevante
2. Servidor Regional
Os Servidores Regionais são os nós finais que tratam de todas as solicitações do usuário. Várias regiões são combinadas em um único Servidor de Região. Essas regiões contêm todas as linhas entre as chaves especificadas. O tratamento de solicitações de usuários é uma tarefa complexa de executar e, portanto, os Servidores de região são divididos em quatro componentes diferentes para facilitar o gerenciamento de solicitações.
- Write-Ahead Log (WAL) : O WAL é anexado a cada Region Server e armazena tipos de dados temporários que ainda não foram confirmados na unidade.
- Block Cache : É um cache de requisição de leitura; todos os dados lidos recentemente são armazenados no cache de bloco. Os dados que não são usados com frequência são removidos automaticamente do estoque quando ele está cheio.
- MemStore : É um cache de gravação responsável por armazenar dados ainda não gravados no disco.
- HFile : O HFile armazena todos os dados reais após a confirmação.
3. Zelador
O ZooKeeper atua como a ponte entre a comunicação da arquitetura HBase . Ele é responsável por acompanhar todos os Servidores Regionais e as regiões que estão dentro deles. Monitorar quais Servidores Regionais e HMaster estão ativos e quais falharam também faz parte dos deveres do ZooKeeper. Quando descobre que uma região de servidor falhou, ele aciona o HMaster para executar as ações necessárias. Por outro lado, se o próprio HMaster falhar, ele acionará o HMaster inativo que se tornará ativo após o alerta. Todos os usuários e até mesmo o HMaster precisam passar pelo ZooKeeper para acessar os Region Servers e os dados neles contidos. O ZooKeeper armazena um arquivo .Meta , que contém uma lista de todos os Servidores Regionais. As responsabilidades do ZooKeeper incluem:

- Estabelecendo comunicação no cluster do Hadoop
- Como manter as informações de configuração
- Rastreamento do servidor da região e falha do HMaster
- Mantendo as informações do servidor de região
Como as solicitações são tratadas na arquitetura HBase?
Agora, já que conhecemos os principais componentes da arquitetura HBase e suas funções, vamos nos aprofundar em como as solicitações são tratadas em toda a arquitetura.
1. Iniciar a Pesquisa na Arquitetura HBase
As etapas para inicializar a pesquisa são:
- O usuário recupera a tabela Meta do ZooKeeper e, em seguida, solicita a localização do Region Server relevante.
- Em seguida, o usuário solicitará os dados exatos do Region Server com a ajuda de RowKey.
2. Mecanismo de gravação na arquitetura HBase
As etapas para escrever na arquitetura HBase são:
- O cliente terá primeiro que encontrar o Region Server e, em seguida, a localização dos dados para alterá-lo. (Esta etapa está envolvida apenas na conversão de dados e não na gravação de novas informações)
- A solicitação de gravação real começa no WAL, onde o cliente grava os dados.
- O WAL transfere os dados para o MemStore e envia uma confirmação ao usuário.
- Quando o MemStore é preenchido com dados, ele submete os dados ao HFile, onde são armazenados.
3. Mecanismo de leitura na arquitetura HBase
Para ler quaisquer dados, o usuário terá primeiro que acessar o Region Server relevante. Uma vez que o Region Server é conhecido, o outro processo inclui:

- A primeira varredura é feita no cache de leitura, que é o cache de bloco.
- O próximo local de varredura é MemStore, que é o cache de gravação.
- Se os dados não forem encontrados no cache de bloco ou MemStore, o scanner irá recuperar os dados do HFile.
Como a recuperação de dados opera na arquitetura HBase?
A arquitetura Hbase divide os dados por meio de compactação e divisão de região para reduzir a carga de dados no cluster. No entanto, se houver uma falha e a recuperação for necessária, é assim que é feito:
- O ZooKeeper aciona o HMaster quando ocorre uma falha no servidor.
- O HMaster distribui regiões com falha e WAL para servidores de região ativos.
- Esses servidores de região executam novamente o WAL e criam o MemStore.
- Quando todos os Region Servers executam novamente o WAL, todos os dados junto com as famílias de colunas são recuperados.
Confira: Ecossistema e componentes do Hadoop
Resultado final
Os dados se tornaram o novo petróleo em vários setores. Portanto, existem várias oportunidades de carreira no Hadoop. Você pode aprender tudo sobre Hadoop e Big Data em upGrad .
Se você estiver interessado em saber mais sobre Hbase, Big Data, confira nosso programa PG Diploma in Software Development Specialization in Big Data, projetado para profissionais que trabalham e fornece mais de 7 estudos de caso e projetos, abrange 14 linguagens e ferramentas de programação, mãos práticas -em workshops, mais de 400 horas de aprendizado rigoroso e assistência para colocação de emprego com as principais empresas.
Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.