ジェミナイ・モバイル・テクノロジーズは2010年7月14日、キー・バリュー型データストア(KVS)「Hibari」をオープンソースソフトウエアとして公開した。Hibariはジェミナイが独自に開発したKVSで、数十台~数百台のPCサーバーにデータを分散保存することで、大容量・高速のストレージを安価に実現できることが特徴。中国の大手携帯電話会社が運用するSNS(ソーシャル・ネットワーキング・サービス)や、日本の大手Webメールのストレージとして採用された実績がある。

 Hibariが対象としているのは、テキストデータや写真、動画などのデジタルコンテンツ、様々なシステムのログデータなど。中国の大手携帯電話会社が運営するSNSは写真などのストレージとして、日本の大手Webメールはユーザーのメールボックス(各ユーザー当たり数Gバイト)の保存先として、それぞれ利用している。プログラムは、関数型言語の「Erlang」で開発した。

 Hibariの競合ソフトウエアとしては、「Hadoop」をベースにした分散データベースの「Hbase」や、米フェイスブックが開発したKVS「Cassandra」などがある。「シーケンシャル・リード/ライトが高速なHbase、ランダム・ライトが高速なCassandraに対して、Hibariはランダム・リードの高速化を目指している」(ジェミナイ)という。

 データの一貫性を保つ仕組みも備える。データの複製を複数個保存することでノードの障害に備えるKVSでは、データの一貫性が弱くなりがちになる。Hibariはどのような場合でも一貫性が保たれる強い一貫性(Strong Consistency)を実現したという。

 強い一貫性を実現するために「チェイン・レプリケーション(Chain Replication)」と呼ぶ方式を採用した。Hibariでは、あるデータに関して3個の複製を作成する。データの更新は1番目の本データに対して行い、その更新結果が、2番目の複製、3番目の複製に反映される。そしてデータの読み出しは、3番目の複製からのみ行う。3番目の複製と1番目の本データの間でバージョンの不整合が無いかチェックし、各複製間でデータのバージョンが異なる状態でデータが読み出されることを防いでいる。

 ジェミナイは日本で設立されたソフトウエア開発会社で、現在は日本と米国に拠点がある。これまで、携帯電話事業者が顧客に提供するSMS(携帯メール)のバックエンドなどを開発してきた。

[Hibariのダウンロードサイト]
http://sourceforge.net/projects/hibari/