HBaseは、 GoogleのBigtableをモデルにしたオープンソースの非リレーショナル分散データベースで、Javaで記述されています。Apache Software FoundationのApache Hadoopプロジェクトの一部として開発され、 HDFS(Hadoop分散ファイルシステム)またはAlluxio上で動作し、HadoopにBigtableのような機能を提供します。つまり、大量の疎データ(20億件のレコードの中から上位50件の項目を検索したり、膨大なデータコレクションの0.1 %未満を占める非ゼロ項目を検索したりするなど、大量の空データや重要でないデータの中に含まれる少量の情報)を耐障害性高く保存する方法を提供します。
HBase は、オリジナルの Bigtable 論文で概説されているように、圧縮、インメモリ操作、および列ごとのBloom フィルタを備えています。 [ 2 ] HBase のテーブルは、Hadoop で実行されるMapReduceジョブの入力および出力として使用でき、Java API を介してだけでなく、REST、Avro、またはThriftゲートウェイ API を介してもアクセスできます。HBase はワイド カラム ストアであり、Hadoop および HDFS との系譜から広く採用されています。HBase は HDFS 上で動作し、高スループットと低入出力レイテンシで大規模データセットの高速な読み取りおよび書き込み操作に適しています。
HBaseは従来のSQLデータベースの直接的な代替となるものではありませんが、Apache PhoenixプロジェクトはHBase用のSQLレイヤーと、さまざまな分析アプリケーションやビジネスインテリジェンスアプリケーションと統合できるJDBCドライバを提供しています。Apache Trafodionプロジェクトは、 ODBCおよびJDBCドライバを備えたSQLクエリエンジンを提供し、HBaseをストレージエンジンとして使用する複数のステートメント、テーブル、行にわたる分散ACIDトランザクション保護を実現します。
HBaseは現在、いくつかのデータ駆動型Webサイトで利用されていますが[ 3 ] 、 Facebookのメッセージングプラットフォームは2018年にHBaseからMyRocksに移行しました[ 4 ] [ 5 ]。リレーショナルデータベースや従来のデータベースとは異なり、HBaseはSQLスクリプトをサポートしていません。代わりに、同等の機能はJavaで記述され、MapReduceアプリケーションと類似した仕組みを採用しています。
エリック・ブリューワーのCAP定理の用語で言えば、HBaseはCP型システムである。[ 6 ]
Apache HBaseは、自然言語検索のために膨大な量のデータを処理する必要性から、Powerset社によるプロジェクトとして始まりました。2010年以降、Apacheのトップレベルプロジェクトとなっています。
Facebookは2010年11月にHBaseを使用して新しいメッセージングプラットフォームを実装することを選択したが、2018年にHBaseから移行した。[ 4 ]
2.5.xシリーズは現在の安定版リリースラインであり、以前のリリースラインに取って代わるものです。
以下は、HBaseを使用していた、または現在使用している著名な企業のリストです。