Azure HDInsight での Apache HBase の概要What is Apache HBase in Azure HDInsight

Apache HBase は、Google BigTable をモデルにしている Apache Hadoop 上に構築されるオープン ソースの NoSQL データベースです。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.

Azure HDInsight での Apache HBase の実装方法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 Storage にデータを直接格納するよう構成されるため、待ち時間が短くなり、パフォーマンスとコストを考慮した選択肢に大きな弾力性が生まれます。The clusters are configured to store data directly in Azure Storage which provides low latency and increased elasticity in performance and cost choices. そのため、顧客は大規模なデータセットを処理する対話的な Web サイトを構築できます。これにより、何百万ものエンドポイントからセンサーのデータおよびテレメトリ データを格納するサービスを構築したり、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. また、メモリ内キャッシュを利用した読み取りと高スループットのストリーミングによる書き込みによって、パフォーマンスも拡張されています。Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. 仮想ネットワーク内に HBase クラスターを作成することができます。HBase cluster can be created inside virtual network. 詳細については、Azure Virtual Network での HDInsight クラスターの作成に関する記事を参照してください。For details, see Create HDInsight clusters on Azure Virtual Network.

HDInsight HBase 内のデータの管理方法How is data managed in HDInsight HBase?

HBase 内のデータは、HBase シェルから creategetputscan というコマンドを使用して管理できます。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 の C# API を使用してデータを管理することもできます。これにより、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. これらのプログラミング モデルの概要については、HDInsight の Apache Hadoop 環境での Apache HBase の使用に関する記事を参照してください。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 は、HDInsight での HBase ではサポートされていません。Thrift is not supported by HBase in HDInsight.

シナリオ:Apache HBase のユース ケースScenarios: Use cases for Apache HBase

BigTable が開発され、さらにその機能を拡張する形で HBase が開発された本来の目的は、Web 検索に利用するためでした。The canonical use case for which BigTable (and by extension, HBase) was created from web search. 検索エンジンでは、言葉を、その言葉が含まれる Web ページにマッピングするインデックスを作成するために使用されています。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 を使用して Web ページから抽出したテーブルを検索し管理します。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. また、ブルームバーグのトレーダー用端末や Open Time Series Database (OpenTSDB) にも使用されています。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 は、Apache HBase 用の SQL クエリ エンジンです。Apache Phoenix is a SQL query engine for Apache HBase. SQL を使用して HBase テーブルの照会と管理ができます。It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.

  • プラットフォームとしての HBaseHBase as a platform

    HBase をデータストアとして使用することで、アプリケーションは 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 HiveApache PigSolrApache StormApache FlumeApache ImpalaApache SparkGangliaApache Drill があります。Examples include Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, and Apache Drill.

次の手順Next steps