今日のつぶやき

Twilog

[Twitter]今日のつぶやき ff.im/drsTs #

分散オブジェクトを本気でやろうと思ったらGCの問題が出てくる。分散ロックはデッドロック検出の問題がでてくる。昔はそもそも性能問題がクリアできなかったので、このあたりまでこれなかったけど、今回はこのあたりまで到達するかもしれない。 #

分散GCや分散ロックがそもそも無理と腹をくくってしまえば、タイムアウトが唯一の解。App Engineの30秒制約もそのあたりを考えると、よくできた仕様といえる。 #

時間制約の中で、待ち時間のないアトミックな処理をつないでいく。分散アプリケーションはある意味、割り込みハンドラの集積のような構造になる。 #

状態とイベントの対に対応するactionが短時間起動されて状態を遷移させて終了する。この繰り返しで協調に参加したオブジェクト群の状態が遷移していく。
これをユースケースからどのようにモデル化していくかだなぁ。 #

複数のエンティティを束ねたACIDトランザクションが機能しない以上、協調全体の状態遷移の一貫性を中央で一括制御することはできない。エンティティは自分自身の状態遷移と隣のエンティティへの状態の伝搬について自律的に管理していくことになる。 #

自律したエンティティはデータ設計的なデータではなくて、オブジェクトとして考えていくのが妥当となる。 #

すべてをfirst classのdistributed objectにするのはまだ性能的に難しいけど、distributed service内のquasi distributed objectという見せ方はありそう。 #

こうなってくると、オブジェクト・モデリングの価値がでてくるなー
今のところ業務系ではオブジェクト・モデリングのデータ・モデリングに対する優位性は事実上ユースケースだけだから、ユースケースを使わない(あるいはUI設計に矮小化して使うだけ)ならOMに乗り換える誘引がなかった。 #

クラウドでは、オブジェクト・モデリングとデータ・モデリングの位置付けのバランスがかなり変わってきそう。現在のデータ・モデリングRDBMS向けに最適化されているので、その点も次の展開を考える上での重要な要因。 #

Google App Engine Blog: App Engine SDK 1.3.0 Released Including Support for Larger User Uploads ff.im/du5Kq #

AppEngineでBlobが使えないという大きな弱点はまずはなくなった。後はコスト勝負か。AzureはCDN、EC2はCloudFrontといったコンテンツ配信のフロントを持ってるけど、AppEngineはどういう感じにな... re: ff.im/du5Kq #

Automatically shipped by LoudTwitter