O que é Apache HBase em Azure HDInsightWhat is Apache HBase in Azure HDInsight

Apache HBase é uma base de dados noSQL de código aberto que é construída em Apache Hadoop e modelada após o Google BigTable.Apache HBase is an open-source, NoSQL database that is built on Apache Hadoop and modeled after Google BigTable. A HBase fornece acesso aleatório e forte consistência para grandes quantidades de dados numa base de dados sem esquemas.HBase provides random access and strong consistency for large amounts of data in a schemaless database. A base de dados é organizada por famílias de colunas.The database is organized by column families.

Do ponto de vista do utilizador, o HBase é semelhante a uma base de dados.From user perspective, HBase is similar to a database. Os dados são armazenados nas linhas e colunas de uma tabela, e os dados dentro de uma linha são agrupados pela família das colunas.Data is stored in the rows and columns of a table, and data within a row is grouped by column family. HBase é uma base de dados sem esquemas.HBase is a schemaless database. As colunas e os tipos de dados podem ser indefinidos antes de as utilizar.The columns and data types can be undefined before using them. O código open source é dimensionado linearmente para processar petabytes de dados em milhares de nós.The open-source code scales linearly to handle petabytes of data on thousands of nodes. Pode contar com a redundância de dados, o processamento de lotes e outras funcionalidades que são fornecidas por aplicações distribuídas no ambiente Hadoop.It can rely on data redundancy, batch processing, and other features that are provided by distributed applications in the Hadoop environment.

Como é implementada a Apache HBase no Azure HDInsight?How is Apache HBase implemented in Azure HDInsight?

O HBase do HDInsight é fornecido como um cluster gerido que está integrado no ambiente do Azure.HDInsight HBase is offered as a managed cluster that is integrated into the Azure environment. Os clusters estão configurados para armazenar dados diretamente no Armazenamento Azure,que proporciona baixa latência e maior elasticidade no desempenho e nas escolhas de custos.The clusters are configured to store data directly in Azure Storage, which provides low latency and increased elasticity in performance and cost choices. Esta propriedade permite que os clientes construam websites interativos que trabalham com grandes conjuntos de dados.This property enables customers to build interactive websites that work with large datasets. Para construir serviços que armazenam dados de sensores e telemetria de milhões de pontos finais.To build services that store sensor and telemetry data from millions of end points. E analisar estes dados com empregos hadoop.And to analyze this data with Hadoop jobs. HBase e Hadoop são bons pontos de partida para o projeto big data em Azure.HBase and Hadoop are good starting points for big data project in Azure. Os serviços podem permitir que aplicações em tempo real funcionem com grandes conjuntos de dados.The services can enable real-time applications to work with large datasets.

A implementação do HDInsight utiliza a arquitetura de escala-out da HBase para fornecer sharding automático de tabelas.The HDInsight implementation uses the scale-out architecture of HBase to provide automatic sharding of tables. E forte consistência para leituras e escritos, e falha automática.And strong consistency for reads and writes, and automatic failover. 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.Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. O cluster HBase pode ser criado no interior da rede virtual.HBase cluster can be created inside virtual network. Para obter mais detalhes, veja Create HDInsight clusters on Azure Virtual Network (Criar clusters do HDInsight na Rede Virtual do Azure).For details, see Create HDInsight clusters on Azure Virtual Network.

Como são geridos os dados no HBase do HDInsight?How is data managed in HDInsight HBase?

É possível gerir os dados no HBase ao utilizar os comandos create, get, put e scan da shell do HBase.Data can be managed in HBase by using the create, get, put, and scan commands from the HBase shell. Os dados são escritos na base de dados através do comando put e lidos através do comando get.Data is written to the database by using put and read by using get. O comando scan é utilizado para obter dados de várias linhas numa tabela.The scan command is used to obtain data from multiple rows in a table. É 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.Data can also be managed using the HBase C# API, which provides a client library on top of the HBase REST API. Uma base de dados HBase também pode ser consultada utilizando a Hive Apache.An HBase database can also be queried by using Apache Hive. Para uma introdução a estes modelos de programação, consulte Get started using Apache HBase with Apache Hadoop in HDInsight.For an introduction to these programming models, see Get started using Apache HBase with Apache Hadoop in HDInsight. Também estão disponíveis coprocessadores, que permitem o processamento de dados nos nós que acolhem a base de dados.Coprocessors are also available, which allow data processing in the nodes that host the database.

Nota

O thrift não é suportado pelo HBase no HDInsight.Thrift is not supported by HBase in HDInsight.

Utilize casos para Apache HBaseUse cases for Apache HBase

O caso canónico de utilização para o qual o BigTable (e por extensão, HBase) foi criado a partir da pesquisa web.The canonical use case for which BigTable (and by extension, HBase) was created from web search. Os motores de busca criam índices que mapeiam termos para as páginas Web que os contêm.Search engines build indexes that map terms to the web pages that contain them. No entanto, o HBase é adequado para muitos outros casos de utilização, sendo que vários deles estão descritos nesta secção.But there are many other use cases that HBase is suitable for—several of which are itemized in this section.

CenárioScenario DescriçãoDescription
Arquivo de chave-valorKey-value store O HBase pode ser usado como uma loja de valor-chave, e é adequado para gerir sistemas de mensagens.HBase can be used as a key-value store, and it's suitable for managing message systems. O Facebook utiliza hbase para o seu sistema de mensagens, e é ideal para armazenar e gerir comunicações de Internet.Facebook uses HBase for their messaging system, and it's ideal for storing and managing Internet communications. O WebTable utiliza o HBase para procurar e gerir tabelas extraídas de páginas Web.WebTable uses HBase to search for and manage tables that are extracted from webpages.
Dados de sensoresSensor data O HBase é útil para capturar os dados que são recolhidos de forma incremental a partir de várias origens.HBase is useful for capturing data that is collected incrementally from various sources. Estes dados incluem análise social e séries temporais.This data includes social analytics, and time series. E manter os dashboards interativos atualizados com tendências e contadores, e gerir sistemas de registo de auditoria.And keeping interactive dashboards up to date with trends and counters, and managing audit log systems. Exemplos incluem o terminal de trader bloomberg e a Base de Dados de Séries de Tempo Aberto (OpenTSDB).Examples include Bloomberg trader terminal and the Open Time Series Database (OpenTSDB). As lojas OpenTSDB e fornecem acesso a métricas recolhidas sobre a saúde dos sistemas de servidores.OpenTSDB stores and provides access to metrics collected about the health of server systems.
Consulta em tempo realReal-time query Apache Phoenix é um motor de consulta SQL para Apache HBase.Apache Phoenix is a SQL query engine for Apache HBase. É acedido como um controlador JDBC, e permite consultar e gerir tabelas HBase usando SQL.It's accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.
HBase como uma plataformaHBase as a platform As aplicações podem ser executadas sobre o HBase ao utilizá-lo como um arquivo de dados.Applications can run on top of HBase by using it as a datastore. Exemplos incluem Phoenix, OpenTSDB Kijie Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. As aplicações também podem ser integradas no HBase.Applications can also integrate with HBase. Exemplos incluem: Apache Hive,Apache Pig, Solr,Apache Storm, Apache GangliaFlume, Apache Impala,Apache Spark e Apache Drill.Examples include: Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark, Ganglia, and Apache Drill.

Passos seguintesNext steps