Vídeo: #CPBR12 - Big Data, Arquitetura Lambda, NoSQL… Você já sabe como combinar? - Coders 2024
O HBase é um banco de dados distribuído, não-racional (em coluna) que utiliza HDFS como sua loja de persistência para grandes projetos de dados. É modelado no Google BigTable e é capaz de hospedar tabelas muito grandes (bilhões de colunas / linhas) porque está em camadas nos clusters Hadoop de hardware de commodities.
A HBase fornece acesso aleatório, em tempo real, de leitura / gravação a grandes dados. O HBase é altamente configurável, proporcionando uma grande flexibilidade para atender grandes quantidades de dados de forma eficiente. Agora, veja como o HBase pode ajudar a resolver seus grandes desafios de dados.
O HBase é um banco de dados em coluna, então todos os dados são armazenados em tabelas com linhas e colunas semelhantes aos sistemas de gerenciamento de banco de dados relacionais (RDBMSs). A interseção de uma linha e uma coluna é chamada de célula. Uma diferença importante entre as tabelas HBase e as tabelas RDBMS é o controle de versão.
Cada valor de célula inclui um atributo "versão", que não é mais do que um carimbo de data / hora identificando a célula de forma exclusiva. O controle de versão das mudanças na célula e permite recuperar qualquer versão do conteúdo se for necessário. O HBase armazena os dados nas células em ordem decrescente (usando o carimbo de data / hora), então uma leitura sempre encontrará os valores mais recentes primeiro.
As colunas no HBase pertencem a uma família de colunas. O nome da família da coluna é usado como um prefixo para identificar os membros de sua família. Por exemplo, frutas: maçã e frutas: banana são membros da família das frutas. As implementações do HBase são sintonizadas no nível da família da coluna, por isso é importante ter consciência de como você vai acessar os dados e o tamanho que você espera que as colunas sejam.
As linhas nas tabelas HBase também possuem uma chave associada a elas. A estrutura da chave é muito flexível. Pode ser um valor calculado, uma string ou mesmo outra estrutura de dados. A chave é usada para controlar o acesso às células na linha, e elas são armazenadas em ordem de baixo valor a alto valor.
Todos esses recursos juntos compõem o esquema. O esquema é definido e criado antes que qualquer dado possa ser armazenado. Mesmo assim, as tabelas podem ser alteradas e novas famílias de colunas podem ser adicionadas após o banco de dados estar funcionando. Esta extensibilidade é extremamente útil ao lidar com dados importantes porque você nem sempre sabe sobre a variedade de seus fluxos de dados.