2010/07/07

BIGDATAを処理する技術の性能比較をしてみると (YCSBの場合)

BIGDATAを処理する技術の性能比較の方法については、未だ統一された方法や基準はありません。Geminiは、これまで数回に亘り、試行錯誤しながら性能比較をしています。以前のブログで、ご紹介した方法は、100万リクエストの書き込みと読み込みをランダムとシークエンシャル(連続)で行い、バリューのサイズが1KB、10KB、20KBの場合のスループット(MB/秒/ノード)として性能比較をしてみました。

それ以前には、5万リクエストで200KBや400KBのバリューを用いた性能比較も行っています。いずれも、大きなバリューに優れるHibariの性能の高さが際立つ結果となりました。

しかし、これではHibariが最適化される設定で性能比較をしているように思われてしまうかもしれません。そう考えていたところ、2010年5月、Yahoo! Researchから”"Benchmarking Cloud Serving Systems with YCSB"というレポートが公開されました。このレポートは、いま話題を集めているBIGDATAを処理するHBASE、Cassandraに加え、Yahooで開発のPNUTSなどの性能比較をする方法を提案し、その結果をレポートしています。このレポートでは、次のように各システムの特徴を整理しています。



そして、その性能比較で利用したデータを生成するツールをオープンソースとして提供しています。このレポートにおけるテスト方法はGeminiで実施したテスト方法と異なります。1,000byteのレコードをWorkload (operation/秒)により測定しています。そして、その際に書き込みと読み込みを一定の確率で発生させています。

ただし、いずれのシステムもその開発者が最適にチューニングを行ったうえでテストをしたと報告しています。残念ながら、そのチューニングの詳細はわかりません。そのため、同じ結果を再現できるのか、Geminiにおいても、このツールを利用して再度、性能比較を行う準備をしています。その結果については、あらためてお知らせしたいと考えています。