Perguntas e respostas mais comuns em entrevistas do HBase [Guia definitivo]

Publicados: 2020-09-21

O Apache HBase é uma excelente solução de big data para quando você deseja que seu aplicativo envie ou extraia dados em tempo real. É conhecido principalmente por seu esquema flexível e alta velocidade. Este artigo tem como objetivo fornecer as respostas para algumas das principais perguntas da entrevista do HBase . Os entrevistadores querem testar o conhecimento técnico e geral dos candidatos. Portanto, seu esforço deve ser comunicar os conceitos de forma precisa e completa.

Muitas empresas líderes usam a tecnologia Hbase em todo o mundo, incluindo Adobe, HubSpot, Facebook, Twitter, Yahoo!, OpenLogic e StumbleUpon. Para aspirantes a desenvolvedores da Web que desejam criar sites escaláveis, ferramentas de masterização como Hadoop e HBase podem ser imensamente úteis.

Aprenda ciência de dados das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Leia: Ideias do Projeto Hadoop

Índice

Principais perguntas e respostas da entrevista do HBase

1. O que é HBase?

É um banco de dados orientado a colunas desenvolvido pela Apache Software Foundation. Executado em cima de um cluster Hadoop, o HBase é usado para armazenar dados semiestruturados e não estruturados. Portanto, não possui um esquema rígido como o de um banco de dados relacional tradicional. Além disso, ele não suporta uma estrutura de sintaxe SQL. O HBase armazena e opera os dados por meio de um nó mestre que regula os servidores de cluster e região.

2. Quais são as razões para usar o Hbase?

O HBase oferece um sistema de armazenamento de alta capacidade e operações aleatórias de leitura e gravação. Ele pode lidar com grandes conjuntos de dados, realizando várias operações por segundo. O design distribuído e escalável horizontalmente torna o HBase uma escolha popular para aplicativos em tempo real.

3. Explique os principais componentes do HBase.

As partes de trabalho do HBase incluem Zookeeper, HBase Master, RegionServer, Region e Catalog Tables. A finalidade de cada elemento pode ser descrita da seguinte forma:

  • O Zookeeper coordena entre o cliente e o HBase Master
  • O HBase Master monitora o RegionServer e cuida das funções administrativas
  • RegionServer supervisiona a região
  • A região contém o MemStore e o HFile
  • As Tabelas de Catálogo compreendem ROOT e META

Basicamente, o Hbase consiste em um conjunto de tabelas com cada tabela tendo linhas, colunas e uma chave primária. É a coluna HBase que denota o atributo de um objeto.

4. Quais são os diferentes tipos de comandos operacionais no HBase?

Existem cinco comandos operacionais cruciais no HBase: Get, Delete, Put, Increment e Scan.

Get é usado para ler a tabela. Executado via HTable.get, ele retorna dados ou atributos de uma linha específica da tabela. Delete remove linhas de uma tabela, enquanto Put adiciona ou atualiza linhas. O incremento permite operações de incremento em uma única linha. Por fim, Scan é usado para iterar em várias linhas para determinados atributos.

5. O que você entende por WAL e Hlog?

  • WAL significa Write Ahead Log e é bastante semelhante ao log BIN no MySQL. Ele registra todas as alterações nos dados.
  • HLog é o arquivo de sequência na memória padrão do Hadoop que mantém o armazenamento HLogkey.

WAL e HLog servem como salva-vidas nos eventos de falha do servidor e perda de dados. Se o RegionServer travar ou ficar indisponível, os arquivos WAL garantem que as alterações de dados possam ser reproduzidas.

6. Descreva algumas situações em que você usaria o Hbase.

É adequado usar o HBase quando:

  • O tamanho dos seus dados é vasto, exigindo que você opere em milhões de registros.
  • Você está implementando um redesenho completo e reformulando o RDBMS convencional.
  • Você tem os recursos para realizar investimentos em infraestrutura em clusters.
  • Existem comandos específicos sem SQL, como transações, colunas digitadas, linhas internas, etc.

7. O que você quer dizer com famílias de colunas e chaves de linha?

As famílias de colunas constituem as unidades básicas de armazenamento no HBase. Estes são definidos durante a criação da tabela e armazenados juntos no disco, permitindo posteriormente a aplicação de recursos como compressão.

Uma chave de linha permite o agrupamento lógico de células. Ele é prefixado à chave combinada, permitindo que o aplicativo defina a ordem de classificação. Dessa forma, todas as células com a mesma chave de linha podem ser salvas no mesmo servidor.

8. Como o HBase difere de um banco de dados relacional?

O HBase é diferente de um banco de dados relacional, pois é um armazenamento de dados orientado a colunas e sem esquema, contendo tabelas pouco preenchidas. Um banco de dados relacional é baseado em esquema, orientado a linhas e armazena dados normalizados em tabelas finas. Além disso, o HBase tem a vantagem de particionamento automatizado, enquanto não há suporte embutido no RDBMS.

Leia: DBMS vs. RDBMS: Diferença entre DBMS e RDBMS

9. O que constitui uma célula em HBase?

As células são as menores unidades das tabelas HBase, mantendo os dados na forma de tuplas. Uma tupla é uma estrutura de dados com várias partes. No HBase, consiste em {linha, coluna, versão}.

10. Defina compactação em HBase.

A compactação é o processo usado para mesclar HFiles em um único arquivo antes que os arquivos antigos sejam removidos do banco de dados.

11. Você pode acessar o HFile diretamente sem usar o HBase?

Sim, existe uma técnica única para acessar o HFile diretamente sem o auxílio do HBase. O método HFile.main pode ser usado para esta finalidade.

12. Discuta os marcadores de exclusão e lápide no HBase.

No HBase, um processo de deleção normal resulta em um marcador de lápide. As células excluídas tornam-se invisíveis, mas os dados representados por elas são, na verdade, removidos durante a compactação. O HBase tem três tipos de marcadores de lápide:

  • Marcador de exclusão de versão: marca uma única versão de uma coluna para exclusão
  • Marcador de exclusão de coluna: marca todas as versões de uma coluna
  • Marcador de exclusão de família: configura todas as colunas de uma família de colunas para exclusão

Aqui, deve-se notar que uma linha no HBase seria totalmente excluída após grande compactação. Portanto, quando você exclui e adiciona mais dados, o Gets pode ser mascarado por marcadores de marca de exclusão e você não pode ver os valores inseridos até depois das compactações.

13. O que acontece quando você altera o tamanho do bloco de uma família de colunas?

Se seu banco de dados já está ocupado e você deseja alterar o tamanho do bloco da família de colunas no HBase, os dados antigos podem permanecer no tamanho do bloco antigo. Durante a compactação, os dados antigos e novos se comportariam assim:

  • Os dados existentes levariam o novo tamanho de bloco e continuariam a ser lidos corretamente.
  • Novos arquivos teriam o novo tamanho de bloco.

Dessa forma, todos os dados se transformam no tamanho de bloco desejado antes da próxima grande compactação.

14. Defina os diferentes modos que o HBase pode executar.

O HBase pode ser executado no modo autônomo ou no modo distribuído. Standalone é o modo padrão do HBase que usa o sistema de arquivos local em vez do HDFS. Quanto ao modo distribuído, ele pode ser subdividido em:

  • Modo pseudodistribuído: todos os daemons são executados em um único nó
  • Modo totalmente distribuído: Daemons são executados em todos os nós do cluster

15. Como você implementaria junções no HBase?

O HBase usa tarefas MapReduce para processar terabytes de dados de maneira escalável. Ele não suporta junções diretamente, mas as consultas de junção são implementadas recuperando dados de tabelas HBase.

Checkout: perguntas da entrevista do Hadoop

16. Discuta o propósito dos filtros no HBase.

Os filtros foram introduzidos no Apache HBase 0.92 para ajudar os usuários a acessar o HBase sobre Shell ou Thrift. Assim, eles cuidam de suas necessidades de filtragem do lado do servidor. Há também filtros de decoração que estendem os usos dos filtros para obter controle adicional sobre os dados retornados. Aqui estão alguns exemplos de filtros no HBase:

  • Filtro Bloom: Normalmente usado para consultas em tempo real, é uma maneira eficiente de saber se um HFile inclui uma linha ou célula específica
  • Filtro de página: Aceitando o tamanho da página como parâmetro, o Filtro de página pode otimizar a verificação de HRegions individuais

17. Compare HBase com (i) Cassandra (ii) Hive.

(i) HBase e Cassandra: Tanto o Cassandra quanto o HBase são bancos de dados NoSQL projetados para gerenciar grandes conjuntos de dados. No entanto, a sintaxe do Cassandra Query Language (CQL ) é modelada após SQL. Em ambos os armazenamentos de dados, a chave de linha forma o índice primário. Cassandra pode criar índices secundários em valores de coluna. Assim, pode melhorar o acesso a dados em colunas com altos níveis de repetição. O HBase não possui essa provisão, mas tem outros mecanismos para trazer a funcionalidade de índice secundário. Esses métodos podem ser facilmente encontrados em guias de referência online.

(ii) HBase e Hive: Ambos são tecnologias baseadas em Hadoop. Conforme discutido acima, o HBase é um banco de dados de chave/valor NoSQL. Por outro lado, o Hive é um mecanismo semelhante ao SQL capaz de executar trabalhos sofisticados do MapReduce. Você pode executar operações de leitura e gravação de dados do Hive para o HBase e vice-versa. Embora o Hive seja mais adequado para tarefas analíticas, o HBase é uma excelente solução para consultas em tempo real.

Leia também: Arquitetura HBase: tudo o que você precisa saber

Conclusão

Essas perguntas de entrevista e casos de uso do HBase nos levam ao final deste artigo. Tentamos cobrir diferentes tópicos para atender aos níveis básico, intermediário e avançado. Portanto, continue revisando para causar uma boa impressão no seu recrutador!

Se você está curioso para aprender sobre ciência de dados, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1 -on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

Domine a tecnologia do futuro

SOLICITE O PROGRAMA DE CERTIFICADO AVANÇADO EM CIÊNCIA DE DADOS