2009年5月2日土曜日

既存システムのクラウド化はほとんどの場合、必要ない

GAEマンセー、既存システムはクラウド化すべき、RDBMSを捨て
全てをMapReduce・BigTable(あるいはHadoop等の代替品)で行う
べきと主張しているように読める文章を読んだ、電波以外の
何物でもない。

既存システムの担う処理のうち元来RDBMSで扱うには無理のあった、
大量のデータを並列で分析する処理にクラウドの要素技術を適用する
というのはありだと思うが、RDBMSに向いている処理はは今まで
どおりRDBMSを利用すべき。
クラウドの要素技術であるMapReduce・BigTableは大量のデータを
複数のマシンを用いて並列で分析する処理に特化して設計されている
ので、RDBMSが得意とする処理の多くには向いていない。

MapReduce・BigTableの有効性を世界に発信したGoogleがこれらの
技術とRDBMSを併用していることを鑑みても明かなように、
MapReduce・BigTableの特性を無視してこれらの組み合わせが
RDBMSよりも優れていると考えるのは馬鹿げている。

GAEでRDBMSが提供されていないのは、RDBMSがユーザの手許に
既にあるから、RDBMSが必要であればユーザは自前で準備することが
できる。Googleはユーザの手許にないクラウドの要素技術のみ提供する
ことでGoogle社内のハードのリソースを節約していると考えるのが
妥当ではないかと思う。
MapReduce・BigTableが優れているからRDBMSは必要ないと
Googleのエンジニアが判断してRDBMSを提供していないのではない。

Googleのエンジニアが思いもつかない用途でMapReduce・BigTable
等クラウドの要素技術を活用するアプリがGAE上に構築されるのを、
Googleは期待していると思われる。

推敲中。

0 件のコメント: