グーグル「Google App EngineにRDB採用の予定はない」と明言
今週届いた日経コンピュータ9月2日号は、一冊まるごとグーグル特集でした。ラリー・ペイジ氏をはじめ30人近いグーグル社員へのインタビューや、TechCrunchのマイケル・アーリントン氏へのインタビュー、同社の技術の分析など非常に読み応えのある一冊になっています。
その中で僕の目を引いたのが、本エントリの表題にもなっている部分。Google App Engineの開発担当であるフレッド・ソウアー(Google App Engine Advocate Fred Sauer)氏が、リレーショナルデータベースの採用予定はない、と明言しているところです。
紙面から引用しましょう(43ページから44ページ)。
利用者拡大に向けて改良が続くGAEだが、データ格納方法については独自技術のBigTableを堅持する。企業情報システムになじみの深いリレーショナルデーベース(RDB)については、採用の予定はないという。
なぜGoogle App Engineでリレーショナルデータベースを採用しないのか。ソウアー氏はスケーラビリティのほうが利点が多い、ということを理由にしています。
ソウアー氏は「RDBに対する要望は多い」と認めつつも、独自技術であってもGAEの特徴である拡張性の高さを提供するほうが、利用者や開発者にとって結局は利点が多いことを強調する。「GAEはデータを分散させ、クエリー(処理要求)を並列に実行する。だからこそ何カ月たっても処理性能は落ちない。RDBは稼働を始めた当初こそ高速だが、翌日には処理性能が落ちてしまう」。
企業向けのシステムにリレーショナルデータベースは不可欠だ
グーグルのこの判断については、当該記事の著者である玉置亮太氏が本文中で次のようにやや懐疑的に書いています。
グーグルの前途には、課題も立ちはだかる。GAEは独自性の強い開発環境が受け入れられるかどうかが焦点。競合するマイクロソフトのAzureはRDBを採用している上、既存の.NET開発環境を利用できる。
Google App Engineが本格的な企業向けのプラットフォームになるためにはリレーショナルデータベースの採用は不可欠、とまでは言い切れませんが、少なくともこの先5年を考えた場合、データストアの主流がリレーショナルデータベースからキーバリュー型データベースへ移行するとは思えません。
以前のエントリ「VB6はどこまで生き延びることができるか?」でも書きましたが、システム構築にとってもっとも貴重な資源は人間のスキルです。いちどエンジニアが身につけたスキルというのは貴重なもので、なかなか簡単に捨てるわけにはいきません。その点で、すでに身につけたリレーショナルデータベースのスキルを活かせないGoogle App Engineは、企業向けのアプリケーションを開発するプログラマにとって、興味は沸いても仕事として取り組むのは難しい環境だと言わざるをえません。
現在でもVB6が使われているように、誰もが最新技術に対応できるわけではありません。むしろ最新技術は少数派で、保守的な技術を使って構築される企業向けのシステムのほうが多数派なのが現実です。
マイクロソフトはWindows Azureで、Google App Engineと同じようにキー・バリュー型のデータベースのみを提供する予定でした。しかし多くの開発者からリレーショナルデータベースにも対応してほしいという要望を受けて方向転換し、Windows Azure上でリレーショナルデータベースのサポートを決定しました。スケーラビリティという点では劣りますが、開発者の利便性を優先させた現実的な判断だと思います。
両社のこの判断の違いは、今後それぞれのクラウドの普及にとって大きな分かれ道になるのではないでしょうか。