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

O Apache HBase é uma base de dados de NoSQL de código-fonte aberto, qual é criado Apache Hadoop e modelados após 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 consistência forte para grandes quantidades de dados não estruturados e semiestruturados numa base de dados sem esquema, organizada 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 uma base de dados.From user perspective, HBase is similar to a database. Os dados são armazenados em linhas e colunas de uma tabela e dados de 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 é uma base de dados sem esquema uma vez que não é preciso definir as colunas nem os tipos de dados nelas armazenados antes de os utilizar.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 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 depender da redundância de dados, do processamento em lotes e de outras funcionalidades fornecidas por aplicações distribuídas do 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 é 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 são configurados para armazenar dados diretamente no armazenamento do Azure que proporciona baixa latência e uma maior elasticidade em termos de opções 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. Isto permite aos clientes criar sites interativos que funcionam com grandes conjuntos de dados, criar serviços que armazenam dados telemétricos e de sensores de milhões de pontos finais e analisar esses dados com tarefas 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 de partida para projetos de macrodados no Azure; em particular, podem permitir que as aplicações 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 tira partido da arquitetura de escalamento horizontal do HBase para fornecer fragmentação automática de tabelas, consistência forte para operações de leitura e escrita e ativação pós-falha automática.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 é 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 do HBase também pode ser consultada ao utilizar Apache Hive.An HBase database can also be queried by using Apache Hive. Para obter uma introdução a estes modelos de programação, consulte começar a utilizar o Apache HBase com o Apache Hadoop no HDInsight.For an introduction to these programming models, see Get started using Apache HBase with Apache Hadoop in HDInsight. Coprocessors também estão disponíveis, que permitem o processamento de dados em nós que alojam 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.

Cenários: Casos de utilização para o Apache HBaseScenarios: Use cases for Apache HBase

O caso de utilização canónico para o qual o BigTable (e, por extensão, o HBase) foi criado a partir de pesquisa na 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.

  • Arquivo de chave-valorKey-value store

    O HBase pode ser utilizado como um arquivo de chave-valor e é adequado para gerir 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 no seu sistema de mensagens e este é ideal para armazenar e gerir comunicações na Internet.Facebook uses HBase for their messaging system, and it is 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. Isto inclui a análise de dados sociais, as séries de tempo, a atualização de dashboards interativos com tendências e contadores e a gestão de sistemas de registo de auditoria.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 comercial Bloomberg e o OpenTSDB (Open Time Series Database), que armazena e fornece acesso a métricas recolhidas sobre o estado de funcionamento dos sistemas de servidor.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

    O Apache Phoenix é um motor de consulta SQL para o Apache HBase.Apache Phoenix is a SQL query engine for Apache HBase. Está acessível como um controlador JDBC e permite a consulta e gestão de tabelas do HBase através de 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

    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. Os exemplos incluem Phoenix, OpenTSDB, Kiji e Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. As aplicações também podem ser integradas no 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.

Passos SeguintesNext steps