Hibari開発元Hibari developers
初版2010年7月
最新版v0.1.11 / 2015年4月5日 (9年前) (2015-04-05)
リポジトリ
github.com/hibari/hibari
Hibari(ひばり)はデータの強い整合性と高可用性を保証するスケールアウト型分散キー・バリューストア。NoSQLデータベースに分類される。東京に本社を置くクラウディアン社(旧ジェミナイ・モバイル・テクノロジーズ)が、モバイル・メッセージングに適したデータベースとして2005年から開発を始め、2010年7月27日にオープンソースソフトウェアとして公開した。[1] [2] 日本の大手Webメールのストレージとして採用された実績がある
Hibariは漢字で「雲雀」と書き「クラウドの小鳥」を表す。クラウドコンピューティングに適し、SNS(ソーシャルネットワーク)のような、わずか1日でテラバイトもしくはペタバイト規模のデータを生み出すようなサービスで使用できる。 Hibariはノード間のデータ複製にチェイン・レプリケーション方式[3][4][5]を採用し、データの持続性や複製されたデータ間の強い整合性を保証する。他の多くの NoSQL と異なり、マイクロトランザクションと呼ばれる限られた範囲のキーに対するアトミックなトランザクションをサポートする。Hibariはデータ操作のレイテンシ(遅延時間)が短く、特にRead操作と200KB前後の大きなバリューの扱いにおいて、他の多くのスケールアウト型 NoSQLよりも高い性能を発揮する[6]。 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ハンズオン
参考文献^ 日経コンピュータ ニュース:ジェミナイ、独自開発キー・バリュー型データストア「Hibari」をオープンソース化
^ ⇒クラウディアン プレスリリース:Big Dataに最適なデータベース、Hibari(雲雀)のオープンソース化について
^ ⇒クラウディアン製品情報:Hibari NoSQLデータベース
^ ⇒Chain Replication for Supporting. High Throughput and Availability(PDF形式)
^ ⇒Chain Replication in Theory and in Practice(PDF形式)
^ ⇒Hibari White Paper(PDF形式)