Partilhar via


O que é o Apache HBase no Azure HDInsight

O Apache HBase é um banco de dados NoSQL de código aberto que é construído no Apache Hadoop e modelado de acordo com o Google BigTable. O HBase fornece acesso aleatório e forte consistência para grandes quantidades de dados em um banco de dados sem esquema. O banco de dados é organizado por famílias de colunas.

Do ponto de vista do usuário, o HBase é semelhante a um banco de dados. Os dados são armazenados nas linhas e colunas de uma tabela e os dados dentro de uma linha são agrupados por família de colunas. O HBase é um banco de dados sem esquema. As colunas e os tipos de dados podem ser indefinidos antes de usá-los. O código open source é dimensionado linearmente para processar petabytes de dados em milhares de nós. Ele pode contar com redundância de dados, processamento em lote e outros recursos fornecidos por aplicativos distribuídos no ambiente Hadoop.

Como o Apache HBase é implementado no Azure HDInsight?

O HDInsight HBase é oferecido como um cluster gerenciado integrado ao ambiente do Azure. Os clusters são configurados para armazenar dados diretamente no Armazenamento do Azure, o que fornece baixa latência e maior elasticidade nas opções de desempenho e custo. Essa propriedade permite que os clientes criem sites interativos que funcionam com grandes conjuntos de dados. Para criar serviços que armazenam dados de sensores e telemetria de milhões de pontos finais. E para analisar esses dados com tarefas do Hadoop. O HBase e o Hadoop são bons pontos de partida para projetos de big data no Azure. Os serviços podem permitir que aplicativos em tempo real trabalhem com grandes conjuntos de dados.

A implementação do HDInsight usa a arquitetura de expansão do HBase para fornecer fragmentação automática de tabelas. E forte consistência para leituras e gravações e failover automático. O desempenho é melhorado graças ao cache em memória para leitura e ao streaming de alta capacidade para escrita. O cluster HBase pode ser criado no interior da rede virtual. Para obter mais detalhes, veja Create HDInsight clusters on Azure Virtual Network (Criar clusters do HDInsight na Rede Virtual do Azure).

Como os dados são gerenciados no HDInsight HBase?

Os dados podem ser geridos no HBase usando os comandos create, get, put e scan do shell do HBase. Os dados são gravados no banco de dados usando put e lidos usando get. O scan comando é usado para obter dados de várias linhas em uma tabela. Os dados também podem ser gerenciados usando a API C# do HBase, que fornece uma biblioteca de cliente sobre a API REST do HBase. Um banco de dados do HBase também pode ser consultado usando o Apache Hive. Para obter uma introdução a esses modelos de programação, consulte Introdução ao uso do Apache HBase com Apache Hadoop no HDInsight. Também estão disponíveis coprocessadores, que permitem o processamento de dados nos nós que hospedam o banco de dados.

Observação

Thrift não é suportado pelo HBase no HDInsight.

Casos de uso do Apache HBase

O caso de uso canônico para o qual o BigTable (e, por extensão, o HBase) foi criado a partir da pesquisa na web. Os mecanismos de pesquisa criam índices que mapeiam termos para as páginas da Web que os contêm. Mas há muitos outros casos de uso para os quais o HBase é adequado — vários dos quais são detalhados nesta seção.

Cenário Descrição
Armazém de chave-valor O HBase pode ser usado como um armazenamento de chave-valor e é adequado para gerenciar sistemas de mensagens. O Facebook usa o HBase para seu sistema de mensagens e é ideal para armazenar e gerenciar comunicações pela Internet. O WebTable usa o HBase para pesquisar e gerenciar tabelas extraídas de páginas da Web.
Dados do sensor O HBase é útil para capturar dados coletados incrementalmente de várias fontes. Esses dados incluem análises sociais e séries temporais. E manter atualizados os painéis interativos com tendências e contadores, e fazer a gestão dos sistemas de log de auditoria. Exemplos incluem o terminal de trader Bloomberg e o Open Time Series Database (OpenTSDB). O OpenTSDB armazena e fornece acesso a métricas coletadas sobre a integridade dos sistemas de servidor.
Consulta em tempo real Apache Phoenix é um mecanismo de consulta SQL para Apache HBase. Ele é acessado como um driver JDBC e permite consultar e gerenciar tabelas do HBase usando SQL.
HBase como uma plataforma As aplicações podem ser executadas sobre o HBase ao utilizá-lo como um arquivo de dados. Exemplos incluem Phoenix, KijiOpenTSDB e Titan. As aplicações também podem ser integradas no HBase. Exemplos incluem: Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark Gangliae Apache Drill.

Próximos passos