Hibari (dbms)
開発元 | Hibari developers |
---|---|
初版 | 2010年7月 |
最新版 |
v0.1.11
/ 2015年4月5日 |
リポジトリ | |
プログラミング 言語 | Erlang |
対応OS | クロスプラットフォーム |
対応言語 | 日本語、英語 |
サポート状況 | 活発 |
種別 | 分散キー・バリューストア、 NoSQL |
ライセンス | Apache License 2.0 |
公式サイト | https://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」をオープンソース化
- ^ クラウディアン プレスリリース: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形式)