2010/07/06

BIGDATAを処理する技術はどう使われているのか (Hibariの場合)


ここではHibariがどのように利用されているのかをご紹介したいと思います。

Hibariは、Geminiのシリコンバレー、San MateoのR&Dチームの「ブラウンバック・セッション」(茶色の袋に入ったランチを持ち寄るブレインストーミング)で、そのアイデアについて議論したことに始まります。

これは2005年のことです。その時点では、Hadoop/HBASEを始め、多くのNO-SQL関連の技術が触発されたと言われるGoogleの「Big Table」という論文は公開されていませんでした。そのため、Geminiは、このアイデアについて独自で研究しながら、開発に着手しました。

Geminiは国内外の大手携帯通信事業者のメッセージングシステムにおいて、それ以前にも、SQLとは異なる独自データベースを開発しており、Hibariは次世代のデータベースと位置付けられました。

そして、開発に数年を要したのち、携帯電話向けの3D(3次元)のSNSサービスにおいて、ユーザーのメッセージボックスやパーソナルボックスにデジタルグッズ(アバター、音楽、写真、動画など)をストレージするデータベースとして利用し、商用化しました。このサービスは現在、中国で提供されています。

その後、数百万人の利用者が想定され、各利用者に数GBのメールボックスを提供するWebメールサービスの開発においてHibariと同じ技術が採用されました。これは、数百万人に数GBという、まさにBIGDATAを処理できるという技術面の利点と同時に、Webメールの一般的なビジネスモデルとして求められる経済性が重視された結果です。

このWebメールにおいては、主に次の目的に使うデータベースとしてHibariの技術は利用されています。

  • メールのアーカイブとサマリー
  • アドレスブックのアーカイブとサマリー
  • メールのプロファイル
  • ユーザーのプロファイル
  • フィルターのプロファイル

このようにプロファイルやサマリーといった小さなデータから、画像やファイル添付のあるメールのアーカイブのような大きなデータに至る、多様なサイズのデータのストレージのために利用されることから、Hibariは幅広いデータサイズにおいて安定的な性能を発揮するよう開発されています。さらに、メールというアプリケーションであることから、読み込みと、データの一貫性という点で優れています。


その一方で、Geminiのラボテストによれば、数KBという小さなデータサイズを速く処理するという点においては、HBASEとCassandraが勝ります。

つまり、ノン・リレーショナル・データベースのそれぞれに特徴があり、利用するアプリケーションやその目的に応じて最適な技術を選ぶことが重要になるのでしょう。