O que é o Apache HBase no HDInsight do AzureWhat is Apache HBase in Azure HDInsight

O Apache HBase é um banco de dados NoSQL de software livre, que se baseia no Apache Hadoop e é modelado com base no Google BigTable.Apache HBase is an open-source, NoSQL database that is built on Apache Hadoop and modeled after Google BigTable. O HBase fornece acesso aleatório e uma coerência forte para grandes quantidades de dados não estruturados e semiestruturados em um banco de dados sem esquema, organizado por famílias de colunas.HBase provides random access and strong consistency for large amounts of unstructured and semistructured data in a schemaless database organized by column families.

Da perspectiva do usuário, o HBase é semelhante a um banco 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 em uma linha são agrupados por família de colunas.Data is stored in the rows and columns of a table, and data within a row is grouped by column family. O HBase é um banco de dados sem esquema, no aspecto de que nem as colunas nem os tipos de dados armazenados nelas precisam ser definidos antes de serem utilizados.HBase is a schemaless database in the sense that neither the columns nor the type of data stored in them need to be defined before using them. O código-fonte aberto é dimensionado linearmente para lidar com petabytes de dados em milhares de nós.The open-source code scales linearly to handle petabytes of data on thousands of nodes. Ele pode fazer uso da redundância de dados, do processamento em lote e de outros recursos que são fornecidos por aplicativos distribuídos no ecossistema do Hadoop.It can rely on data redundancy, batch processing, and other features that are provided by distributed applications in the Hadoop ecosystem.

Como o Apache HBase é implementado no Azure HDInsight?How is Apache HBase implemented in Azure HDInsight?

O HBase do HDInsight é oferecido como um cluster gerenciado integrado ao ambiente do Azure.HDInsight HBase is offered as a managed cluster that is integrated into the Azure environment. Os clusters são configurados para armazenar dados diretamente no Armazenamento do Azure, que fornece baixa latência e maior elasticidade nas escolhas de desempenho e custo.The clusters are configured to store data directly in Azure Storage which provides low latency and increased elasticity in performance and cost choices. Isso permite que os clientes criem sites interativos que trabalham com grandes conjuntos de dados, de modo a criar serviços que armazenam dados de sensor e telemetria de milhões de pontos de extremidade e analisar esses dados por meio de trabalhos do Hadoop.This enables customers to build interactive websites that work with large datasets, to build services that store sensor and telemetry data from millions of end points, and to analyze this data with Hadoop jobs. O HBase e o Hadoop são bons pontos iniciais para projetos de big data no Azure e, especificamente, podem possibilitar que aplicativos em tempo real trabalhem com grandes conjuntos de dados.HBase and Hadoop are good starting points for big data project in Azure; in particular, they can enable real-time applications to work with large datasets.

A implementação do HDInsight utiliza a arquitetura de expansão do HBase para fornecer o compartilhamento automático de tabelas, uma sólida consistência para leituras e gravações e failover automático.The HDInsight implementation leverages the scale-out architecture of HBase to provide automatic sharding of tables, strong consistency for reads and writes, and automatic failover. O desempenho é aprimorado pelo cache na memória para leituras e streaming de alta produtividade para gravações.Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. O cluster do HBase pode ser criado dentro da rede virtual.HBase cluster can be created inside virtual network. Para obter detalhes, consulte Criar clusters do HDInsight na Rede Virtual do Azure.For details, see Create HDInsight clusters on Azure Virtual Network.

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

Os dados podem ser gerenciados no HBase usando os comandos create, get, put e scan do 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 gravados no banco de dados usando put e lidos usando get.Data is written to the database by using put and read by using get. O comando scan é utilizado para obter dados de múltiplas linhas em uma tabela.The scan command is used to obtain data from multiple rows in a table. Os dados também podem ser gerenciados utilizando a API C# do HBase, que oferece 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. Um banco de dados HBase também pode ser consultado usando o Apache Hive.An HBase database can also be queried by using Apache Hive. Para ver uma introdução a esses modelos de programação, consulte Introdução ao uso do Apache HBase com Apache Hadoop no 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 em nós que hospedam o banco de dados.Co-processors are also available, which allow data processing in the nodes that host the database.

Observação

Não há suporte para thrift pelo HBase no HDInsight.Thrift is not supported by HBase in HDInsight.

Cenários: Casos de uso para o Apache HBaseScenarios: Use cases for 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.The canonical use case for which BigTable (and by extension, HBase) was created from web search. Os mecanismos de pesquisa criam índices que mapeiam termos nas páginas da web que os contêm.Search engines build indexes that map terms to the web pages that contain them. Mas há muitos outros casos de uso aos quais o HBase se ajusta, muitos dos quais são descritos nesta seção.But there are many other use cases that HBase is suitable for—several of which are itemized in this section.

  • Repositório de valor-chaveKey-value store

    O HBase pode ser usado como um repositório de valor-chave e é adequado para gerenciar sistemas de mensagens.HBase can be used as a key-value store, and it is suitable for managing message systems. O Facebook utiliza o HBase para seu sistema de mensagens, e ele é ideal para armazenar e gerenciar comunicações pela Internet.Facebook uses HBase for their messaging system, and it is ideal for storing and managing Internet communications. O WebTable utiliza o HBase para pesquisar e gerenciar tabelas extraídas de páginas da Web.WebTable uses HBase to search for and manage tables that are extracted from webpages.

  • Dados de sensorSensor data

    O HBase é útil para capturar dados que são coletados gradativamente de várias fontes.HBase is useful for capturing data that is collected incrementally from various sources. Isso inclui análise de dados sociais, séries temporais, manter painéis interativos atualizados com tendências e contadores e gerenciar sistemas de logs de auditorias.This includes social analytics, time series, keeping interactive dashboards up-to-date with trends and counters, and managing audit log systems. Os exemplos incluem o terminal de comerciantes Bloomberg e o OpenTSDB (Open Time Series Database), que armazena e oferece acesso a métricas coletadas sobre a integridade dos sistemas de servidores.Examples include Bloomberg trader terminal and the Open Time Series Database (OpenTSDB), which stores and provides access to metrics collected about the health of server systems.

  • Consulta em tempo realReal-time query

    Apache Phoenix é um mecanismo de consulta SQL para o HBase no Apache.Apache Phoenix is a SQL query engine for Apache HBase. Ele é acessado como um driver JDBC e permite consultar e gerenciar tabelas do HBase utilizando o SQL.It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.

  • HBase como uma plataformaHBase as a platform

    Os aplicativos podem ser executados sobre o HBase utilizando-o como um armazenamento de dados.Applications can run on top of HBase by using it as a datastore. Exemplos incluem Phoenix, OpenTSDB, Kiji e Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. Os aplicativos também podem ser integrados ao HBase.Applications can also integrate with HBase. Os exemplos incluem Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, e Apache Drill.Examples include Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, and Apache Drill.

Próximas etapasNext steps

Consulte tambémSee also