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