商用版Hadoopについて

Cloud Computingに関心を持たれている方はMap/Reduceについてもご存じだと思いますし、そのオープンソース実装のHadoopについてもご存じだと思います。

clouderaという会社がHadoopを比較的容易に利用できるサービスを開始したというニュースが飛び交いました。例えば

  1. Ex-Google, Yahoo staffers release Hadoop distribution
  2. クラウデラ、RPM提供でHadoop商用利用をサポート

そこでこの会社のホームページを見てみました。

  1. http://www.cloudera.com/
  2. http://www.cloudera.com/hadoop

かなり一般向けに使えるようにしたもののようです。といっても、これを使って何を実現するかということがイメージできている人でないと価値はないかもしれません。技術的には、このサイトのbasic trainingというところにあるビデオが有用だと思いました。

  1. http://www.cloudera.com/hadoop-training-basic

アクセスが多数あるようですので、我慢してみてみましょう。自分でハードを揃えられる個人はいないと思いますが、Amazonを利用したり、企業レベルでの利用ということは考えられます。

商用版Hadoopについて

QCon London 2009について

単なる紹介です。

QCon London 2009が3/9-10(チュートリアル)、3/11-13(カンファレンス)と開催され、そのスケジュール一覧が以下のページにあります。

  1. Schedule

このページは水曜日を表示していますが、上の方のリンクから他の曜日のスケジュールにも移動できます。公開されている資料も結構あるようです。

QCon Tokyo 2009が4月に予定されていますが、事前準備にみておくと良いのではないでしょうか? なお、4月は私も勉強のために参加予定です。

QCon London 2009について

標準化について(モデリング言語)

これまでの流れでモデリング言語の標準がUMLで対抗しそうなものがDSLだということがお分かりだと思います。

UMLは幾つも存在したモデリング言語・記法・方法論から標準化できる範囲を決めて合意を取ったものです。確かに標準ですが、例えばダイアグラムの種類の多さをみると、通信プロトコルやミドルウェア程には「標準にこう書かれているので、こういうデータしか受け付けられない」といったことが言えないところがあると思います。大体、同じ課題を与えてまったく同じクラス図が出来上るということがなかなか無いと思います。国際標準にもなっている標準記法ですが、Design by committeeと言う意味では通信やミドルウェアと変わりませんので、使い方において選択肢が結構あるということです。

DSLですが、こちらも結構歴史があります。UML対抗という意味では、最近の話に限定しても構わないと思います。以前も書いたと思いますが、DSLと大きなくくりをすれば同じですが、実際にはいろいろなキャンプがあります。ということは、ひょっとすると何らかのDSL標準が現れる直前の状況なのかもしれません。そういった標準が出来るとすると、OMGのモデリング標準(MOFも国際標準になっていたと思います)とどう調整を取るのか関心を持って眺めたいと思います。DSLで気になるのは、同じ種類のDSLでも異なる種類のDSLでも良いのですが、似たような分野に適用し似ているものの異なる種類のモデルを量産されることです。1種類でも問題なのに、沢山でこれをやられると、後でモデル変換を山ほどしないといけなくなる恐れがあります(これは容易ではありません)。本気で使うのであれば是非DSLも標準化して欲しいものです。

標準のReference Implementationという意味ではラッキーなことにeclipseがあります。以前eclipseのモデリングプロジェクトを紹介したことがありますが、オープンソースでUML2エディタあり、SCAエディタあり、BPMNエディタありですし、GMF他でDSL実践も可能です。このような環境で仕事が出来る最近の若い方は幸せですね。

元に戻って、結局オープンで多数の人に支持され使われるのが本当の標準だとすると、モデリング言語の標準化というのは実はまだ制定・発展途上(ひょっとするとまだ入り口に過ぎない?)なのかもしれません。

標準化について(モデリング言語)

標準化について(ミドルウェア編)

世の中でミドルウェアと呼ばれているソフトウェアのカバーする領域はかなり広く、ここでは分散処理基盤という意味で使うことにします。分散処理基盤というのは、地理的に離れた箇所に有るコンピュータシステムを、まるで一つのシステムであるかのように使えるようにする技術で、それを実現するためには多くの「縁の下の力持ち」的機能が必要になります。従って標準化するとかなり分厚い標準になってしまい、開発者でないと読まれなくなってしまうものです。

現在OASIS、W3C、WS-IなどでWeb Servicesの標準化が進められていますが、振り返ってみると、Apollo DomainやSunのワークステーションなどの時代に使われたRPCという技術から、それまでの通信プロトコルを直接操作するようなAPIから分散透過性の一部を実現し始めたのではなかったかと思います。

その後、前回書きましたOSIの世界でもMHSといわれたメッセージング標準やOSI RPCなどの標準の策定が行われました。

その次に現れたのはOSFのDCE(分散コンピューティング環境)でした。この仕様は確かX/OpenでAPI標準の形で標準となったと思います。この頃は業界が二つの陣営(OSFとUnix International)に分かれていましたので、業界全体での標準化推進にはなかなか向かいませんでした。

そしてOMGのCORBAが現れます。アーキテクチャから始めて、何年もかけて広い機能範囲を供えた標準となりました。個人的にはこれでこのレイヤーの標準化は終わるのかと思っていたのですが、Firewallを通過できない、IDLが分りにくい(?)、など良く分らない理由により、より手軽にFirewallを通過できるHTML/HTTPベースのWeb Servicesが出てきました。機能的にはCORBAで標準化したものを改めてWeb Services用に作成する必要があるため、何度も同じことを繰り返しているような感覚を憶えました。それが今日の基盤などにも引き継がれてきていると思います。

分散処理基盤としては、上記以外にもメッセージキューイングのシステム、イベントベースのシステム、組み込み・リアルタイムシステム用、など別のものも存在します。このような代替わりや多様性を見ると、今後を考えてもこのレイヤーで真の意味での標準が現れる可能性は低そうですし、OMGがMDA(モデル駆動アーキテクチャ)を言い出したのは自然なことだったのだろうと思います。

整理すると

  1. 分散処理基盤(ミドルウェア)領域の標準化は何時までも続く可能性が高い
  2. そのうちの幾つか(の標準化)を経験すると、Platform独立な世界の価値も理解できるようになる

クラウドの世界になっても、各クラウド上で用いられるミドルウェアがあり、それが進歩する可能性が常にありますし、Intercloudを実現する機能もミドルウェアの一部になるのでしょう。

どうも「ミドルウェアの世界の標準には(他の技術分野より短い)賞味期限がある」という気がします。それを承知で取り組めばいい勉強が出来ると思います。

標準化について(ミドルウェア編)