マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Apache Hbase

【OSS情報アーカイブ】Apache Hbase

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Apache Hbase」とは

基本情報

概要

Apache Hbase(アパッチ エイチベース)とは、大規模分散データベース管理システムです。「Hadoopベース」「NoSQL」「スケーラブル」などの特徴があります。

基本説明

Apache Hbaseは、分散データ処理基盤「Apache Hadoop」上で動作し、分散型のスケーラブルなデータストアです。

大容量データセットに対して高速ランダムアクセス機能を提供します。

経緯

Apache Hbaseは、Apacheトップレベルプロジェクトとして開発されています。

主な特徴

Google「BigTable」モデル

HadoopやHBaseは、Googleの大規模分散処理基盤「BigTable」をモデルにして開発されています。

「Hadoop」ベース

Apache Hbaseは、Hadoopクラスタ上に構築され、データはHDFS(Hadoop Distributed File System)に格納されます。

Hadoopのエコシステムを活用することにより、「MapReduceジョブ機能」などを使用でき、「データ冗長性」などについても確保できます。

データモデル

HBaseでは、多次元要素キー(行キー、列キー、タイムスタンプなど)で、データが一意に定まります。

キーを動的に定義できることにより、データ構造変更や格納データ種類追加に対応可能です。非構造データやスパースデータ(まばらなデータ)にも対応できます。

HBase構成

HBaseクラスタは以下の要素で構成されます。
・メタデータ管理「Master」
・構成情報管理「Apache ZooKeeper
・データ格納処理「Region Server」

スケーラブル

Apache Hbaseは、「非常な大きな規模まで拡張が可能なアーキテクチャ」であることが大きな特徴です。サーバ台数を増やすことで拡張できます。データサイズ、処理負荷、パフォーマンス要件に応じてデータベースの水平拡張が可能です。

実運用で6Pバイト以上のデータを格納している例もあります。

負荷分散(シャーディング)

格納されたデータは自動的に分割され、キーのグループを「リージョン」という単位で複数の「リージョンサーバ」に格納します。リージョン分割やリージョンリバランスも自動で行えます。

リージョン単位で格納されたデータに対して並列処理を実行することで、システム全体のパフォーマンスが向上します。

高速性

HBaseは「LSM-Tree」という仕組みで、主にメモリ上で処理を行うことにより、高速性を獲得しています。

データ一貫性

HBaseは「強い一貫性」を維持できます。

あるデータの書き込み後、以降の読み出しでは書き込まれたデータが読み出されることを保証します。

高可用性(自動フェイルオーバー)

HBaseでは「ZooKeeper」が各ノードの死活監視を行っています。クラスタ内のいずれかのノードに障害が発生した場合、「ZooKeeper」は障害ノードをクラスタから切り離します。

その時点で、自動的に機能がフェールオーバーされ、可用性が維持されます。

セキュリティ

Kerberos認証により「テーブル単位」「列(カラム)単位」でのセキュリティ設定が可能です。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Apache Cassandra」「Hypertable」など。

導入事例

「Facebook」「米Yahoo!」「米Flurry」などへの導入実績があります。

ライセンス情報

Apache Hbaseのライセンスは「Apache License Version 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

参考元サイト

・Wikipedia →Apache HBase
・あしたのオープンソース研究所 →Apache HBase とは
・ZDNet Japan →NoSQL「HBase」はIoTにも最適–柔軟なスキーマでデータ構造の変更に対応
・Cloudera →Apache HBase
・@IT →カラム指向型データベース(HBase、Hypertable、Cassandra)編

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。