Apache HBase

概要

Apache HBaseとは、米アパッチソフトウェア財団(Apache Software Foundation)が開発・公開している、オープンソースの分散型データベース管理システム。データベースの主流であるリレーショナル型(RDB)と異なる構造を持つ、いわゆるNoSQL型システムの一つ。

米グーグル(Google)社が開発し同社システムで内部的に使用している「BigTable」(ビッグテーブル)をモデルに、これに似た構造や機能を持つデータベース管理システムをオープンソースのソフトウェアとして再現したものである。

同じくASFが開発・公開している分散ファイルシステムであるHDFSHadoop Distributed File System)を基盤にデータベースを構築する。リレーショナルデータベースのように表(テーブル)の形でデータを構造化するが、一般的なRDBMSとは異なり各列(カラム)の値をひとまとめにしてストレージ上に記録する。このような方式を列指向(カラム指向)型という。

表における各行(row)には、「クオリファイア」(qualifier)と呼ばれる標識(列名に相当)と「セル」(cell)と呼ばれる単体のデータ(フィールド値に相当)のペアを単位にデータを格納する。さらに複数のクオリファイアが「カラムファミリー」(column family)にグループ化されている。セルのデータは自動的に履歴管理され、過去の任意の時点のデータを呼び出すことができる。

多数のサーバコンピュータで一つのデータベースを管理する分散環境を前提に設計され、データを複数のノードに分散して記録するシャーディングを自動的に行うため、アプリケーション側で保存先を気にする必要はない。データの一貫性が強く確保され、処理途上で古いデータを外部から参照されないようになっている。

データベースの操作はRDBのようにSQLを使うことはできず、Java APIやRESTful APIなどでの形で提供されるAPIをアプリケーションから呼び出すことで行う。Apache HadoopMapReduceなどビッグデータの大規模分散解析などに適している。

(2020.8.17更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。