Hibari (dbms)

Hibari（ひばり）はデータの強い整合性と高可用性を保証するスケールアウト型分散キー・バリューストア。NoSQLデータベースに分類される。東京に本社を置くクラウディアン社（旧ジェミナイ・モバイル・テクノロジーズ）が、モバイル・メッセージングに適したデータベースとして2005年から開発を始め、2010年7月27日にオープンソースソフトウェアとして公開した。 　日本の大手Webメールのストレージとして採用された実績がある

Hibariは漢字で「雲雀」と書き「クラウドの小鳥」を表す。クラウドコンピューティングに適し、SNS（ソーシャルネットワーク）のような、わずか１日でテラバイトもしくはペタバイト規模のデータを生み出すようなサービスで使用できる。

特徴
Hibariはノード間のデータ複製にチェイン・レプリケーション方式を採用し、データの持続性や複製されたデータ間の強い整合性を保証する。他の多くの NoSQL と異なり、マイクロトランザクションと呼ばれる限られた範囲のキーに対するアトミックなトランザクションをサポートする。Hibariはデータ操作のレイテンシ（遅延時間）が短く、特にRead操作と200KB前後の大きなバリューの扱いにおいて、他の多くのスケールアウト型 NoSQLよりも高い性能を発揮する。

Hibariは一般的なIAサーバー（x86サーバー）だけでなく、ARMアーキテクチャのスケールアウト型サーバーなどでも動作する。サービスの稼働中にサーバーノードを追加することで、処理性能とデータ格納容量をリニアにスケールさせることができ、ある商用サービスでは1つのHibariクラスタで約60台のIAサーバーが用いられている。Hibariクラスタの上限台数ははっきりとしていないが、ノード間の通信帯域がボトルネックになるケースが多い。2013年時点の標準的なサーバーハードウエア構成では、事実上の上限は250台程度と考えられている。

Hibariは分散システムに適したプログラミング言語Erlangで書かれており、高負荷時でも高い安定性を誇る。Hibariの各ノードは数年間無停止で稼働できることが実運用で確認されており、ソフトウェアのアップグレードもサービス無停止で行える。またJavaで書かれたNoSQLと異なり、64GB程度の大容量のRAMを搭載したサーバーでも、256MB程度の小容量のRAMを搭載した組み込み向けハードウェアでも良好に動作する。

クライアントインターフェイス
HibariはクライアントAPIとして Amazon S3、JSON-RPC、Universal Binary Protocol に対応し、Apache Thrift に対応する予定もある。またプログラミング言語 Erlang からのアクセスにも対応している。

Hibariにアクセスできる言語には Java、C言語、C++、Python、Ruby などがある。

外部リンク
 Hibariプロジェクトホームページ
 Hibari アプリケーション開発者ガイド
 講義資料：実機によるRiakとHibariのNOSQLハンズオン

参考文献

クラウドコンピューティング
データベース管理システム
NoSQLデータベース
分散処理
2010年のソフトウェア