Pocket

オープンソース歴の浅い人たちは、どれほどのコードがプロプライエタリなソフトの「出来は悪いけど無料」という程度のクローンだったかを知らないだろう。時代は変わるものだ。

かつては程度の低かったオープンソースが、今では業界のイノベーションをリードしている。ビッグデータなどはわかりやすい例だ。これは業界の動きとしてポジティブなものだが、同時にややこしい問題も生まれた。すなわち数多くの実験的なソフトウェアがある中で、自分のビッグデータプロジェクトの為にどれを選ぶ?といった問題だ。

イノベーションを切り開く

最近、「オープンソース・ルーキーオブザイヤー」に選ばれたBlack Duck Softwareは山程ある他の関連プロジェクトからデータを持ってきたり、また自身のプロジェクトの進捗やチームのステータスのコミットも行っている。より幅広い種類のコードがクローズではなくオープンで行われている事の現れだ。

ビッグデータほどこの傾向が顕著な分野は無い。

Clauderaの共同設立者 マイク・オールソンは「ここ10年間、主流となるプラットフォーム・ソフトインフラでプロプライエタリで開発されたものは出てきていない」と宣言した。なんとも驚く様な評価ではあるが、しかしこれは本当のことだ。オープンソースの始まりは何かの真似事だったかもしれないが、ビッグデータ分野では驚くべきペースでイノベーションを起こしている。

この事は問題かもしれない。

豊富であるがゆえ、収集がつかなくなる

ビッグデータプロジェクトは開発者が着いて行くのに苦しむ様なペースでリリースされている。例えばHadoopで何かを始めなければならなくなった場合、Spark、Samzaその他の妙な名前がつけられた、ますます重要となっているビッグデータツールからどれを使うかを考えなければならない。

重要なことだが、これらのツールの多くはLinkedInなどの様な商用ソフトでは処理出来ない様なビッグデータの需要がある企業内で生まれているということだ。国立候測所ですら、グローバルな天気予報システムのソースコードをオープンすることに踏み切った。

ほとんどの企業にとってその様なニッチなコードは必要ないが、大きなWeb企業が生み出す何かは必要かもしれない。例えばLinkedInによるApache Samzaのリリースなどだ。

LinkedInにより開発されたフレームワークは、入力後に特別なハンドリングを要する複雑でリアルタイムな処理の為にデザインされている。全てのストリームにローカルキーバリューをエンベッドしているので、リモートに都度Queryするのではなくローカル行うデータセットのマージといった様な高度な処理に必要とされる、コンテキスト情報の様なものの保持が可能だ。

これにより素晴らしいパフォーマンスを発揮するが、同時に問いも浮かび上がってくる。開発者は業務上のデータロードをさばく為に何を使うべきなのか?

DBに関して言えば、MongoDBやCassandraのようなNoSQLからOracleやMySQLといったリレーショナルな物まで選択肢は山の様にある。開発者は人気DBランキングみたいな物から一番人気の物を選べば良いのだろうか?それも一つのやり方だが、すぐにデータロードに対してツールの選択を間違えたという結果に陥るかもしれない。

くだらない問題に思えるかもしれないが全くそんな事は無い。私は過去数年ビッグデータのインフラプロバイダで働き、今は溢れ出てくるオープンソースのビッグデータツールをどうにかしようとしている会社に勤めている。業界を追いかけ続けることは厳しく、どのツールを選ぶべきかを判断するのは非常に難しいものだ。

ツール選びを終わらせる

アマゾン ウェブ サービス(AWS)が人々にとってまず選択肢にのぼるパブリッククラウドになった理由の一つは、アマゾンが幅広いオープンソースのソリューションを(サポートの有無にかかわらず)同時に稼働でき、あらゆるメールからデータウェアハウスまでプロプライエタリなサービスを提供できるからだ。

仕事をとっとと片付けたい開発者はAWSに目を向け、そこで幅広いオプションと用意されたコースがセーフであることを知るのだ。

マイクロソフトのAzureも同じようなアプローチを取った。 Hadoopベースのアナリティックサービスを提供したのに飽き足らず、例えば並行処理とストレージを提供するサービスCosmosをリリースしようとしている。またMongoDBのサポートでNoSQLデータベースを求めている人たちにアピールしようとしていると同時に、マイクロソフトは独自のデータベースサービスをMS謹製のDBを求める人達に提供している。

早い話、マイクロソフトは顧客に使いやすいサービスパッケージを提供したいのだ。

これがオープンソースインフラの未来と思える。無料でDLできるが、クラウドサービスに組み込まれる事で複雑な問題を考えなくて済む形で使われる方がより有用だろう。これはオープンソースクラウドが望んでいる事ではないかも知れないが、オープンソースによるビッグデータでのイノベーションが、企業が実際に使えるソリューションに反映されるには理想の形なのかも知れない。

トップ画像提供:George Thomas

Pocket