グーグル、分散処理のためにデザインされた言語「Sawzall」をオープンソースで公開
グーグルは、同社内でパラレルデータ処理に利用している言語「Sawzall」を、「Szl」というプロジェクト名のオープンソースとして公開しました。
書籍「Googleを支える技術」によると、Sawzallは分散処理のためにデザインされたDSL(Domain Specific Language)で、特定の用途に限っては非常に容易に処理を記述できるようになっているインタープリタ型のプログラミング言語。GFS(Google File System)とMapReduceを基盤とし、MapReduceをより簡単に実行できるものと説明されています。
なぜSawzallはオープンソースとして公開されたのか?
グーグルは2003年8月に、論文「Interpreting the Data: Parallel Analysis with Sawzall」を発表し、これによってSawzallという言語がグーグルによって開発され、社内で利用されていることが広く知られることになりました。
この論文によるとSawzallは、エラーがあっても「エラーがあった」というフラグを立てるだけで処理はそのまま継続してしまうという「エラー忘却型コンピューティング」という新たな概念を実装した言語だと説明されています(参考:そのソフト,売る?売らない? - 記者のつぶやき:ITpro)。
こうした論文は公表されたもののSawzallの言語実装そのものはこれまで社外に提供されることはなく、また、Sawzallの基盤となるGFSやMapReduceについても、過去にグーグルから論文は公開されていますが、実装が公開されたことはありませんでした。
今回なぜ、言語のSawzallをオープンソースとして公開したのか、現時点でグーグル関係のブログによる解説などは行われておらず、いまのところその理由は不明ですが、また1つ、MapReduce関連の技術を進歩させるオープンソースソフトウェアが登場したといえそうです。
Yahoo!からはリアルタイムMapReduceのS4が公開されたと前回の記事「リアルタイムなHadoop? 「Real-Time MapReduce」を実現するS4、オープンソースとしてYahoo!が公開」でお伝えしたばかりですし、10月のHadoop WorldではNTTデータがClouderaと提携したことを、記事「Hadoop WorldでClouderaと提携したNTTデータが目指すもの。Hadoop World: NYC 2010」でお伝えしていますし、このところMapReduce関連のニュースが相次いでいますね。
あわせて読みたい
[PR]HTML5など最新のWeb技術を海外のトップクリエイターらから学ぶイベント、Web Directions East
≪前の記事
リアルタイムなHadoop? 「Real-Time MapReduce」を実現するS4、オープンソースとしてYahoo!が公開