TL;DR
Google Cloud が提供するデータベース。各テーブルは、大規模にスケールするソート済みのキーバリューマップである。リレーショナルデータベースではない。
なぜ必要か
数十億行、数千列、テラバイトからペタバイト規模のデータを扱える。性能はクラスタのマシン数に比例してスケールし、サイズの変更もダウンタイムなしで行える。高いスループットとスケーラビリティが必要なキーバリュー型のデータに向いている。
仕組み
行はふつう 1 つのエンティティを表し、行キーで索引付けされる。関連する列は列ファミリーにまとめられ、列は列ファミリーと列修飾子の組み合わせで識別される。行と列の交点には複数のセルを持てて、各セルはタイムスタンプ付きのバージョンを持つ。使われていない列は容量を消費しない。
Java 向けには、Apache HBase のクライアントライブラリの公式の拡張が提供されている。
例
時系列データ、マーケティングデータ、金融データ、IoT のデータ、グラフデータなどを保存する。バッチ処理、ストリーム処理、機械学習の基盤のストレージとしても使える。
関連
- Amazon DynamoDB: AWS で対応するサービス
- AWS と GCP のサービスの対応表