[筆者: Stefan Groschupf ](ビッグデータ分析のDatameerのCEO)
至るところでデータが増大し、それとともに、誰もが選ぶビッグデータプラットホームとしてHadoopの評価が定着しつつある。Allied Market Researchによると、Hadoopの市場はほぼ30億ドルに相当し、2020年には500億ドルを超える、と推計されている。しかし、今後の長期的な成功は、標準化の実装と、もっと構造性のある(手当たりばったりでない)イノベーションの過程にかかっている。
採用者がもっとも多いビッグデータ技術なのだから、どこが作ったどんなソフトウェアでも、Hadoopのあるところなら必ず動く、何年後でも完全に動く、という状態を確立すべきであり、そのためには全面的な標準化が必要だ。各ベンダには、他社と差別化するという商業的なプレッシャーはあるが、それらの差別化要因によって、どこで動く・動かないの非互換性が生ずるのなら、そもそも差別化の意味がない。これまで、ばらばらの非互換性が多く生じているのも、標準仕様と標準APIの欠如にその原因がある。
このような非互換性は、このプラットホーム上のアプリケーション層の、イノベーションを窒息させる。標準性の欠如によりインフラストラクチャもますます分断化し、それがイノベーションをさらに遅滞させる。誰もが知ってるJavaの成功とUNIXの逝去を比べてみれば、分断化がその技術の死の病であることが分かる。全員が元気で生きて前進するためには、早期の標準化努力が必須だ。
Hadoopのコミュニティが成長すればするほど、標準化の欠如に起因するさまざまな問題点が、ますます受け入れがたいものになっていく。
業界の総意に基づく標準化の過程があれば、ベンダはその過程の中に、自らのAPIアイデアや性能アップのアイデアなどを投じていけるから、非互換性をもたらす分断化のおそれはなくなる。一貫性(無矛盾性)があってデベロッパとベンダにとって扱いやすい標準仕様があれば、Hadoopベースの技術はさらに広く採用されるようになり、究極的には、大小すべての選手が互角な条件で競争に参加でき、その正体が非互換性であるような差別化で頓挫するところは、なくなる。
今のHadoop市場は規格の統一に失敗している
現状では、標準化の過程がない。それがまだ存在しないのは、Apache Community Foundationがもともと、標準化にあまり関心も熱意もない団体だからだ。Apacheはオープンソースへの共同的コントリビューションでは偉大なモデルだから、企業も団体も協力できる。しかしプロダクトの標準化やフォーマルな仕様の開発に関しては、それと類似の組織がない。
今は、Hadoopのニューバージョンが出ると、ベンダがその動作の一部を勝手に変えても、それを止める者がいない。ある顧客のための、何かの問題の修復のためにリリースの一部を書き換えると、その後、その顧客自身ですら、そのほかのアプリケーションが動かなくなり、デベロッパとベンダは新たに生じた問題を直すために時間とリソースを費やすことになる。
今日ではニューバージョンのリリースのたびに、ベンダとデベロッパは、アプリケーションを修復してそれらがHadoopのすべてのバージョンで無事動くことを検証する作業に忙殺され、カスタム化したアプリケーションのHadoopのニューバージョンへのマイグレーションも、なかなか捗(はかど)らない。このような複雑な課題を抱えているので、ベンダ各社のプラットホームサポートはスイスチーズ状(穴だらけ)のマトリクスになり、さまざまなバグや制限のあるツールの中から、無理やりどれかを選ばざるをえなくなる。
目標は、Hadoopベースのツールをできるかぎり使いやすくすることだが、でも現状は、それぞれカスタム化したプラットホーム同士の内戦が、さらに一層カオス的な市場を作り出している。標準化は、スタックの上の方にいる顧客やISV(Independent Software Vendors, 独立ソフトウェアベンダ)にとって良いだけでなく、究極的には関係者全体にとって良いのだ。
標準規格の実装系はリスクを排除する
ではHadoopはどうやってガバナンスを実装するのか? Java Enterprise Edition(JEE)とその標準化のためのコミュニティプロセス(Java Community Process, JCP)は、Hadoopを成功裡に標準化するための優れたお手本だ。ベンダはJava Specification Request(JSR)というものを提出でき、それを優秀なリーダーたちの委員会が検討して採否を決める。
そしてワーキンググループ(作業部会)がその標準規格の参照実装を作り、実際に作るとどうなるかという例を示し、その標準規格の正しい使い方や、できることとできないこと、ISVによるプロダクトの作り方、などをデモする。そうすることによって、Java技術への企業の投資を守り、さらなる採用の拡大に誘う。
‘Java業界’ではさまざまなミドルウェアやアプリケーションのインフラストラクチャが市場に登場しているが、それらのプロダクトもすべてが、この標準規格を実装したものとなる。これらすべての製品がJEEを基盤として構築され、その標準規格(スタンダード)に準拠することを要請される。
Javaのコミュニティはそのようにして信頼性の高いスタンダードを作り、ソフトウェアを前進させ、アプリケーションのエコシステムのための安定的な基盤を提供することによって、需要を増大させていった。対照的にUNIXは、1970年代と80年代に標準化に失敗し、最後にはマーケットシェアをLinuxに奪われた。
さまざまな業界で、Hadoopを使ったアプリケーションの構築が増えている。この怒涛のような動きも、標準化を要請する大きな力だ。これからますますHadoopネイティブのアプリケーションが構想され作られていくし、そんなアプリケーションを作る企業も今後続々登場して、投資家の関心を喚(よ)んでいく。
Hadoopのコミュニティが成長すればするほど、標準化の欠如に起因する困難な問題が、ますます受け入れがたいものになっていく。
〔参考記事: Amazon EMRがSparkを全面導入、Sparkの対抗馬Apache Flink、ビッグデータとHadoopの9つの神話を暴く。〕