MapReduceとパラレルRDBでベンチマーク対決、勝者はなんとRDB!

2009年5月 1日

大量のデータを処理する手法として登場したMapReduce。クラウドに対応した分散処理の定番として話題に上ることが増えてきました。

A Comparison of Approaches to Large-Scale Data Analysis(PDF)

MapReduceは、大量のデータを分割し、分割したデータを分散したノードに投げてノードごとに処理を実行、結果を集約して最終的な答えを求める、といった手法です。

しかしMapReduceが登場する以前から商用レベルで使われていた分散処理手法があります。データを分散したデータベースに格納し処理を行うパラレル・リレーショナルデータベース(パラレルRDB)がその1つです。

パラレルRDBは、データを複数のデータベースに分散して配置、データベースごとに処理を行い、結果を求める手法です。中央に共有メモリを配置するなどの方法で分散したデータベース同士の連携を行うことが一般的です。

ではパラレル・リレーショナルデータベースはMapReduceより遅いのか? 劣るのか? 両者を実際にベンチマークを走らせて比較調査したのが、論文「A Comparison of Approaches to Large-Scale Data Analysis」(PDF)です。

比較の結論は、この論文を紹介してくれたSAPのPaul Hofmann氏のブログ「Parallel DBs faster than Google's MapReduce」から引用しましょう。

The good news is, parallel databases are still 3 to 6 times (on the average) faster than MapReduce. RDBMS is better with regards to speed, query automation, less code to implement per task, etc.
良い知らせとして、パラレルデータベースは平均で3倍から6倍、MapReduceよりも高速だった。パラレルデータベースは、速度、問い合わせの自動化、タスクごとに必要な記述も少ないといった点で優れていた。

一方で、MapReduceのほうが優れていた点もあったようです。

The paper also shows that RDBMS has disadvantages compared to MapReduce like lack of ease of setup and slow when importing a lot of data.
論文では、セットアップの難しさ、そして大量のデータのインポートに時間がかかるといった点が、MapReduceと比較してデータベースの課題として指摘している

ベンチマークはさまざまな処理に対して行われましたが、その中の1つのグラフを論文から引用します。

fig

上記のグラフは、1TBのデータからgrep処理で特定の文字列を抜き出す処理にかかった時間を示しています。パラレルRDBMSとして、Verticaと、某ベンダーの商用製品(DBMS-X)が用いられています。また論文によると、パラレル・リレーショナルデータベースではデータ圧縮機能を用いたとのことです(そのほうが約2倍の性能がでるとのこと)。

なぜパラレルRDBの方が速かったのか。論文では、Bツリーのインデックスによる高速化、最新のストレージ機構、圧縮機能、洗練された並列処理などを挙げています。また、「GoogleバージョンのMapReduceはHadoopより高速だと噂されているが、入手はできなかった」とも書いています。

パラレル・リレーショナルデータベースが分散環境でうまく稼働するには、前提条件として各ノードの性能がある程度高く、かつ信頼性が高い場合でしょう。その前提さえ揃えば、業務アプリケーションのプラットフォームとしては、リレーショナルデータベースというのはクラウドのような環境でも十分な競争力を持っている、ということを示しているのではないでしょうか。

またクラウドには実は、ノードごとにそれなりの性能と信頼性を確保しリレーショナルデータベースを走らせるのに向いたクラウドや、低い性能のノードを大量に集めて並列処理を得意としたクラウドなど、それぞれの特徴があるはずです。アプリケーションを実装する場合にはそれにあったアーキテクチャのクラウドを選ぶ、といったことが必要になってくるのでしょう。

関連記事 on Publickey

関連記事on the Web


このエントリーをはてなブックマークに追加 Bookmark this on Delicious     fig Follow Me  fig RSS

タグ : MapReduce , NoSQL , クラウド , リレーショナルデータベース

次の記事
いま起きているWeb標準の進化、HTML5、CSS3、JavaScript 2.0
前の記事
Google Book Searchの和解について、米司法省が独占禁止法違反の疑いで調査を開始

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed





アクセスランキング - 過去7日間

  1. 特許庁の基幹システム失敗の背景にある、日本に…
  2. 国内の開発者が使っている言語、1位C、2位V…
  3. 特許庁の基幹システムはなぜ失敗したのか。元内…
  4. 英国政府、新ポータルGov.ukをクラウド、…
  5. なぜ米ヒューレット・パッカードは、一挙に16…
  6. OpenFlowベンチャーのNicira N…
  7. ライアン・ダール氏、Node.jsの開発リー…
  8. フラッシュストレージが最大500TB! 米N…
  9. EMC、満を持してPCIe接続フラッシュスト…
  10. 2012年1月の人気記事「グーグルのバグ予測…
  11. マイクロソフトの責任者が語る「われわれはどの…
  12. 「絶対落ちないシステムを作れ」という要件に、…
  13. ソフトウェアテストの30年前と30年後(前編…
  14. ソフトウェアテストの近未来を話そう(前編)~…
  15. ソフトウェアテストの近未来を話そう(後編)~…

最新記事 10本

バックナンバー



アルファブロガー・アワード2010受賞 Publickeyはアルファブロガー・アワード 2010を受賞しました! いつもご愛読ありがとうございます。









blog comments powered by Disqus