TL;DR

Google Cloud が提供するデータベース。各テーブルは、大規模にスケールするソート済みのキーバリューマップである。リレーショナルデータベースではない。

なぜ必要か

数十億行、数千列、テラバイトからペタバイト規模のデータを扱える。性能はクラスタのマシン数に比例してスケールし、サイズの変更もダウンタイムなしで行える。高いスループットとスケーラビリティが必要なキーバリュー型のデータに向いている。

仕組み

行はふつう 1 つのエンティティを表し、行キーで索引付けされる。関連する列は列ファミリーにまとめられ、列は列ファミリーと列修飾子の組み合わせで識別される。行と列の交点には複数のセルを持てて、各セルはタイムスタンプ付きのバージョンを持つ。使われていない列は容量を消費しない。

Java 向けには、Apache HBase のクライアントライブラリの公式の拡張が提供されている。

例

時系列データ、マーケティングデータ、金融データ、IoT のデータ、グラフデータなどを保存する。バッチ処理、ストリーム処理、機械学習の基盤のストレージとしても使える。

関連

出典