O HBase é um sistema de gerenciamento de bancos de dados não relacional orientado por colunas que é executado sobre o Hadoop Distributed File System (HDFS), um componente principal do Apache Hadoop.
O HBase oferece uma maneira tolerante a falhas de armazenar conjuntos de dados esparsos, comuns em muitos casos de uso de big data. É adequado para processamento de dados em tempo real ou acesso aleatório de leitura/gravação a grandes volumes de dados.
Ao contrário dos sistemas de banco de dados relacionais, o HBase não é compatível com uma linguagem de consulta estruturada como o SQL; na verdade, o HBase não é um armazenamento de dados relacional. As aplicações do HBase são escritas em Java™ de forma muito parecida com uma aplicação do Apache MapReduce típica. O HBase é compatível com a gravação de aplicações no Apache Avro, REST e Thrift.
Um sistema do HBase é projetado para escalar de forma linear. É composto por um conjunto de tabelas padrão com linhas e colunas, muito parecido com um banco de dados tradicional. Cada tabela deve ter um elemento definido como chave primária, e todas as tentativas de acesso às tabelas do HBase devem usar essa chave primária.
O Avro, como componente, é compatível com um vasto conjunto de tipos de dados primitivos, incluindo: dados numéricos, binários e strings; e vários tipos complexos, incluindo matrizes, mapas, enumerações e registros. Uma ordem de classificação também pode ser definida para os dados.
O HBase conta com o ZooKeeper para coordenação de alto desempenho. O ZooKeeper é integrado ao HBase, mas se você estiver executando um cluster de produção, é recomendável que você tenha um cluster do ZooKeeper dedicado integrado ao cluster do HBase.
O HBase funciona bem com o Hive, um mecanismo de consulta para processamento de big data em lote, para permitir aplicações de big data tolerantes a falhas.
Uma coluna do HBase representa um atributo de um objeto; se a tabela estiver armazenando registros de diagnóstico de servidores em seu ambiente, cada linha pode ser um registro de log, e uma coluna típica pode ser a data e o horário de quando o registro de log foi gravado ou o nome do servidor onde o registro se originou.
O HBase permite que muitos atributos sejam agrupados em famílias de colunas, de modo que os elementos de uma família de colunas sejam todos armazenados juntos. Isso é diferente de um banco de dados relacional orientado por linha, onde todas as colunas de uma determinada linha são armazenadas juntas. Com o HBase, você deve predefinir o esquema da tabela e especificar as famílias de colunas. No entanto, novas colunas podem ser adicionadas às famílias a qualquer momento, tornando o esquema flexível e capaz de se adaptar às mudanças nos requisitos da aplicação.
Assim como o HDFS tem um NameNode e nós escravos, e o MapReduce tem escravos JobTracker e TaskTracker, o HBase é construído em conceitos semelhantes. No HBase, um nó mestre gerencia o cluster, e os servidores de região armazenam partes das tabelas e executam o trabalho nos dados. Da mesma forma que o HDFS tem algumas preocupações empresariais devido à disponibilidade do NameNode, o HBase também é sensível à perda de seu nó principal.
Crie uma estratégia de dados que elimine silos de dados, reduza a complexidade e melhore a qualidade de dados para proporcionar experiências excepcionais para clientes e funcionários.
O watsonx.data permite escalar a análise de dados e a IA com todos os seus dados, onde quer que estejam, por meio de um armazenamento de dados aberto, híbrido e governado.
Libere o valor dos dados empresariais com a IBM Consulting, construindo uma organização baseada em insights que ofereça vantagens para os negócios.