Общие сведения об Apache HBase в Azure HDInsightWhat is Apache HBase in Azure HDInsight

Apache HBase — это база данных NoSQL с открытым кодом, созданная на основе Apache Hadoop по типу Google BigTable.Apache HBase is an open-source, NoSQL database that is built on Apache Hadoop and modeled after Google BigTable. HBase обеспечивает прямой доступ и строгую согласованность для больших объемов неструктурированных и слабоструктурированных данных, упорядоченных в семейства столбцов.HBase provides random access and strong consistency for large amounts of unstructured and semistructured data in a schemaless database organized by column families.

С точки зрения пользователя HBase напоминает базу данных.From user perspective, HBase is similar to a database. Данные хранятся в строках и столбцах таблицы, данные в строке группируются по семейству столбцов.Data is stored in the rows and columns of a table, and data within a row is grouped by column family. База данных HBase не имеет схемы в том смысле, что ни столбцы, ни типы хранимых в них данных не нужно определять до использования.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. Открытый код линейно масштабируется, чтобы обрабатывать петабайты данных на тысячах узлов.The open-source code scales linearly to handle petabytes of data on thousands of nodes. Он может полагаться на избыточность данных, пакетную обработку и другие особенности, которые предусмотрены распределенными приложениями в экосистеме Hadoop.It can rely on data redundancy, batch processing, and other features that are provided by distributed applications in the Hadoop ecosystem.

Как база данных Apache HBase реализована в Azure HDInsight?How is Apache HBase implemented in Azure HDInsight?

HDInsight HBase предлагается в форме управляемого кластера, интегрированного в среду Azure.HDInsight HBase is offered as a managed cluster that is integrated into the Azure environment. Кластеры настроены на хранение данных непосредственно в службе хранилища Azure, что обеспечивает небольшую задержку и повышенную гибкость в выборе соотношения производительности и стоимости.The clusters are configured to store data directly in Azure Storage which provides low latency and increased elasticity in performance and cost choices. Это позволяет клиентам создавать интерактивные веб-сайты, работающие с большими наборами данных, создавать службы, которые хранят данные с датчиков и телеметрию миллионов конечных точек, и анализировать эти данные с помощью заданий 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. HBase и Hadoop являются хорошими отправными точками для создания проекта Azure, работающего с большими данными. В частности, это позволит приложениям реального времени работать с большими наборами данных.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.

Реализация HDInsight использует масштабируемую архитектуру HBase для обеспечения автоматического сегментирования таблиц, строгой согласованности для чтения и записи, а также автоматического перехода на другой ресурс.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. Производительность повышается за счет кэширования операций чтения в памяти и потоковой записи с высокой пропускной способностью Также для HDInsight HBase доступна подготовка виртуальных сетей.Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. Кластер HBase можно создать внутри виртуальной сети.HBase cluster can be created inside virtual network. Дополнительные сведения см. в статье Create HBase clusters on HDInsight in Azure Virtual Network (Создание кластеров HBase в виртуальной сети Azure).For details, see Create HDInsight clusters on Azure Virtual Network.

Как происходит управление данными в HDInsight HBase?How is data managed in HDInsight HBase?

Управление данными в HBase может осуществляться с помощью команд create, get, put и scan из оболочки HBase.Data can be managed in HBase by using the create, get, put, and scan commands from the HBase shell. Данные записываются в базу данных с использованием команды put и считываются с помощью команды get.Data is written to the database by using put and read by using get. Команда scan используется для получения данных из нескольких строк таблицы.The scan command is used to obtain data from multiple rows in a table. Данными также можно управлять с использованием интерфейса HBase API для C#, для которого имеется клиентская библиотека, работающая поверх HBase REST API.Data can also be managed using the HBase C# API, which provides a client library on top of the HBase REST API. Запросы к базе данных HBase также могут осуществляться с помощью Apache Hive.An HBase database can also be queried by using Apache Hive. Начальные сведения об этих моделях программирования приведены в статье Начало работы с Apache HBase с Apache Hadoop в HDInsight.For an introduction to these programming models, see Get started using Apache HBase with Apache Hadoop in HDInsight. Также доступны сопроцессоры, позволяющие обрабатывать данные в узлах, на которых размещена база данных.Coprocessors are also available, which allow data processing in the nodes that host the database.

Примечание

Thrift не поддерживается HBase в HDInsight.Thrift is not supported by HBase in HDInsight.

Сценарии: варианты использования Apache HBaseScenarios: Use cases for Apache HBase

Классическим вариантом использования (для которого, собственно и была создана технология BigTable и HBase как ее расширение) является веб-поиск.The canonical use case for which BigTable (and by extension, HBase) was created from web search. Поисковые системы строят индексы, которые сопоставлены терминам, содержащимся на веб-страницах.Search engines build indexes that map terms to the web pages that contain them. Но есть много других вариантов использования, для которых подходит HBase; некоторые из них перечислены в этом разделе.But there are many other use cases that HBase is suitable for—several of which are itemized in this section.

  • Хранилище ключ-значениеKey-value store

    HBase можно использовать как хранилище пар «ключ-значение», оно подходит для управления системами обмена сообщениями.HBase can be used as a key-value store, and it is suitable for managing message systems. Facebook использует HBase для системы обмена сообщениями, она идеально подходит для хранения и управления интернет-коммуникациями.Facebook uses HBase for their messaging system, and it is ideal for storing and managing Internet communications. WebTable использует HBase для поиска и управления таблицами, извлеченными из веб-страниц.WebTable uses HBase to search for and manage tables that are extracted from webpages.

  • Данные от датчиковSensor data

    HBase удобно использовать для записи данных, накопленных при сборе из различных источников.HBase is useful for capturing data that is collected incrementally from various sources. К ним относятся социальные аналитики, временные ряды, обновления интерактивных информационных панели и счетчиков, а также управление системами ведения журналов аудита.This includes social analytics, time series, keeping interactive dashboards up-to-date with trends and counters, and managing audit log systems. Примеры включают в себя терминал для биржевой торговли Bloomberg и база данных Open Time Series Database (OpenTSDB), которая сохраняет и предоставляет доступ к показателям работоспособности серверных систем.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.

  • Запросы в режиме реального времениReal-time query

    Apache Phoenix — это система запросов SQL для Apache HBase.Apache Phoenix is a SQL query engine for Apache HBase. Доступ к системе осуществляется с помощью драйвера JDBC, она позволяет создавать запросы и управлять таблицами HBase с использованием SQL.It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.

  • HBase как платформаHBase as a platform

    Поверх HBase могут выполняться приложения, используя ее как хранилище данных.Applications can run on top of HBase by using it as a datastore. Например, это используется в Phoenix, OpenTSDB, Kiji и Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. Также возможна интеграция приложений с HBase.Applications can also integrate with HBase. К ним относятся Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark, Ganglia и Apache Drill.Examples include Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, and Apache Drill.

Дополнительная информацияNext steps