クラウドとデータベース

http://d.hatena.ne.jp/nowokay/20081215#1229303882

前のエントリでは、RDBMSがデータ構造として扱いづらいから非RDBMSが出てきたと書いたのですが、クラウドという観点から見ると非RDBMSを採用するのは実装上の問題からであるといえます。

これはちょっと違うんじゃないでしょうか。データの整合性とシステムの可用性にはトレードオフがあり、amazongoogleにとっては可用性のほうが重要なので、ハッシュテーブルをデータストアとして使っているのだと思います。実装上の都合ではなく、設計判断です。

そうするとサーバーを借りるときに、安いからクラウドホスティング→DBに非RDBMSしか使えない→非RDBMSで実装というシチュエーションも多くなるんではないでしょうか?

オブジェクトモデルがアプリケーションにマッチするかどうかという問題をクリアできるでしょうか。多くのデータ中心のビジネスアプリケーションでは、オブジェクトモデルより、関係モデルを使うほうがアプリケーションを書きやすいんじゃないかと思います。昔、OODBを使っていた時、同じ問題にぶつかりました。95%ぐらいはオブジェクトモデルのほうが向いていたドメインなんだけど、5%ぐらいの問い合わせ画面では大量のコードを書く必要がありました。いろいろな事情である技術しか使えないから、それで無理矢理がんばるというのは不幸になりがちなパターンのような気がします。

トランザクションに関しては、Google AppEngineはがんばっているみたいですが(Google Megastoreはまだよく知りません)、他のデータストアはどうなんでしょうね?