グーグル、フル機能のMapReduceをGoogle App Engineで提供へ

2011年5月23日

グーグルは同社のクラウドサービスであるGoogle App Engineで、フル機能のMapReduce機能を提供することが同社のイベントGoogle I/O 2011で明らかにしました。

appengine-mapreduce

これまでGoogle App EngineではMapReduceを構成する「Map」「Shuffle」「Ruduce」の3つのうち、Mapperの機能の提供が行われてきました。

Google I/O 2011で行われたセッション「App Engine MapReduce」では、MapReduceを構成するすべての機能の提供が行われることが発表されています。

セッションのポイントを紹介しましょう。

App Engine MapReduce

App EngineエンジニアリングチームのMike Aizatsky氏。

fig

MapReduceは数年前にグーグルが開発した処理。社内ではほとんどあらゆるチームがこの処理を利用している。Androidのチームでも使っていると思う。

MapReduceは、「Map」「Shuffle」「Reduce」と呼ばれる主要な3つのステップから構成される。

fig

MapReduce処理を一般に利用してもらうには、グーグル社内で行っているMapReduceをApp Engineで公開すればいいように思えるが、そこにはいくつかの課題がある。

例えば、App Engineでは非常に多数のアプリケーションが動作しており、多くのユーザーがMapReduceを同時に実行するとスケーラビリティに問題がでてくる。

もう1つは分離の問題。利用者ごとのMapReduceを完全に分離しつつ高い性能を実現しなければならない。

fig

グーグル社内のオリジナルのMapReduceは、可能な限り高速に実行するようにできているが、一般ユーザーではMapReduceを走らせて15分でその日の自分の利用容量の限界に達し、あとはApp Engine上のほかのアプリも全部処理が止まる、というわけにはいかないだろう。利用率の上限を設定する必要がある。

だからできるだけゆっくりMapReduceを実行するという要求もあるはずだし、悪意のあるユーザーも防がなければならない。

fig

昨年、2010年のGoogle I/OでMapper Libraryを発表し、多くの開発者に利用してもらっている。

これをさらに改善し、コントロールAPIを追加、ネームスペースをサポートするなどした。

fig

さらにShuffler機能もオープンソースで公開する。Python版は今日公開、Java版もまもなく公開する。

これは100MB程度の小さなデータを対象に、インメモリで動作し、タスクドリブンな機能を提供するものだ。

これによりMapper LibraryはもはやMapperでなく、MapReduceライブラリとなる!

fig

これが実際に走らせたときの動作。新しいUIでマルチステージを表示している。

fig

まとめると、コードを公開し、App Engineで今日から中小規模のMapReduce処理はだれでも実行できる。

fig

もしも大規模な処理を実行したい場合は連絡してほしい。

あわせて読みたい

クラウド Google Google App Engine MapReduce




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本


<!- script for simple analytics events -->