GDD2009-Google App Engine

GDD2009のGoogle App Engineについてのメモ

RDBMSではないので、Entityの設計が重要。パフォーマンスにも影響します。
→関係性はEntityのプロパティとして持たせる形
 key-only queryを使うとKeyのみを受け取るので、子供のEntityを取るときにKey情報だけを取得すればパフォーマンスが良くなる
 Datastoreでは、BigTableからProtocolBufferでデータを受け取っている
・Indexについて色々話があったがメモの解読不能。。。
→Entityあたりインデックスプロパティは5000までと言う制限
Google App Engineの基本的な話
→最低でも3つのApp Serverで動作させられる
 使用量に応じて課金されるため、実際にアクセスが大きくなるまでは無料で試せるのでお得
 セキュリティパッチなどもGoogleさんがあててくれる
 HTTPリクエストは30秒以内(それを越えると例外がthrowされる)
 静的なファイルは積極的にstaticの指定をしてほしい
 SSL、Sessionは特別に使う場合のみOnにしてほしい
API Proxy
→すべての独自API呼び出しはAPI Proxyを経由する
 API Proxyインターセプトを使うと、すべてのサービス呼び出しをインターセプトできる
 これを使うとAOPっぽいことも出来る←ここ面白い
・sandbox
→DI、AOPは使える
・DevAppServerでは完全にはエミュレートできない
→実際にデプロイして動作確認は必要
・今後の予定
→Task Queue
 フルテキストサーチ
 メール受信機能
 XMPP
 巨大ファイルストリーム
 Datastoreのインポート/エクスポートツール
・App Engine Datastore
RDBMSを置き換えるものではないので、移行するには設計から変更する必要がある
 ある程度の移行パターンはある
 Queryを高速に出来るように書き込み時に工夫して処理をすれば高速に動作させることができる
 非正規化をおそれずに!

Datastoreを使うに当たってのノウハウを蓄積しなくては。
ただ、ベストプラクティス的なライブラリは出てくると思うので、それに期待。