O que é o Apache HBase no Azure HDInsight

O Apache HBase é uma base de dados NoSQL de código aberto criada no Apache Hadoop e modelada após o Google BigTable. O HBase fornece acesso aleatório e consistência forte para grandes quantidades de dados numa base de dados sem esquema. A base de dados está organizada por famílias de colunas.

Do ponto de vista do utilizador, o HBase é semelhante a uma base de dados. Os dados são armazenados nas linhas e colunas de uma tabela e os dados numa linha são agrupados por família de colunas. O HBase é uma base de dados sem esquema. As colunas e os tipos de dados podem ser indefinidos antes de os utilizar. O código open source é dimensionado linearmente para processar petabytes de dados em milhares de nós. Pode depender da redundância de dados, do processamento em lotes e de outras funcionalidades fornecidas por aplicações distribuídas no ambiente do Hadoop.

Como é implementado o Apache HBase no Azure HDInsight?

O HBase do HDInsight é fornecido como um cluster gerido que está integrado no ambiente do Azure. Os clusters estão configurados para armazenar dados diretamente no Armazenamento do Azure, o que proporciona baixa latência e maior elasticidade nas opções de desempenho e custos. Esta propriedade permite que os clientes criem sites interativos que funcionam com grandes conjuntos de dados. Para criar serviços que armazenam dados de sensor e telemetria a partir de milhões de pontos finais. E para analisar estes dados com tarefas do Hadoop. O HBase e o Hadoop são bons pontos de partida para o projeto de macrodados no Azure. Os serviços podem permitir que as aplicações em tempo real funcionem com grandes conjuntos de dados.

A implementação do HDInsight utiliza a arquitetura de escalamento horizontal do HBase para fornecer fragmentação automática de tabelas. Consistência forte para leituras e escritas e ativação pós-falha automática. O desempenho é melhorado graças à colocação em cache dentro da memória para as operações de leitura e à transmissão em fluxo de alto débito para as operações de escrita. O cluster HBase pode ser criado no interior da rede virtual. Para obter detalhes, veja Create HDInsight clusters on Azure Rede Virtual (Criar clusters do HDInsight no Azure Rede Virtual).

Como são geridos os dados no HBase do HDInsight?

É possível gerir os dados no HBase ao utilizar os comandos create, get, put e scan da shell do HBase. Os dados são escritos na base de dados através do comando put e lidos através do comando get. O comando scan é utilizado para obter dados de várias linhas numa tabela. É possível ainda gerir os dados através da API C# do HBase, que fornece uma biblioteca de cliente sobre a API REST do HBase. Uma base de dados HBase também pode ser consultada com o Apache Hive. Para obter uma introdução a estes modelos de programação, veja Introdução à utilização do Apache HBase com o Apache Hadoop no HDInsight. Os coprocessadores também estão disponíveis, o que permite o processamento de dados nos nós que alojam a base de dados.

Nota

O thrift não é suportado pelo HBase no HDInsight.

Casos de utilização do Apache HBase

O caso de utilização canónica para o qual a BigTable (e por extensão, HBase) foi criada a partir da pesquisa na Web. Os motores de busca criam índices que mapeiam termos para as páginas Web que os contêm. No entanto, o HBase é adequado para muitos outros casos de utilização, sendo que vários deles estão descritos nesta secção.

Cenário Descrição
Arquivo de chave-valor O HBase pode ser utilizado como um arquivo chave-valor e é adequado para gerir sistemas de mensagens. O Facebook utiliza o HBase para o seu sistema de mensagens e é ideal para armazenar e gerir comunicações na Internet. O WebTable utiliza o HBase para procurar e gerir tabelas extraídas de páginas Web.
Dados de sensores O HBase é útil para capturar os dados que são recolhidos de forma incremental a partir de várias origens. Estes dados incluem análise social e série temporal. Além disso, mantenha os dashboards interativos atualizados com tendências e contadores e a gestão de sistemas de registo de auditoria. Os exemplos incluem o terminal de traders da Bloomberg e a Base de Dados Open Time Series (OpenTSDB). O OpenTSDB armazena e fornece acesso às métricas recolhidas sobre o estado de funcionamento dos sistemas de servidores.
Consulta em tempo real O Apache Phoenix é um motor de consulta SQL para o Apache HBase. É acedido como um controlador JDBC e permite consultar e gerir tabelas HBase com o SQL.
HBase como uma plataforma As aplicações podem ser executadas sobre o HBase ao utilizá-lo como um arquivo de dados. Os exemplos incluem Phoenix, OpenTSDB e KijiTitan. As aplicações também podem ser integradas no HBase. Os exemplos incluem: Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark, Gangliae Apache Drill.

Passos seguintes