Google App Engine

Google App Engine Teamは10 things you (probably) didn't know about App Engineにおいて、Google App Engineによる開発方法が変わる10の事実を紹介している。App Engine Teamはディスカッショングループに参加することで、ユーザがGoogle App Engineのいくつかの事実に注目していないことに気がついたという。これを知ると知らないのとでは、Google App Engineを使った開発方法が変わってくるということだ。紹介されている事実は次のとおり。

  1. バージョン番号は数値ではなく文字列。このためバージョン番号にliveやdevといった文字列を使うこともできる
  2. アプリケーションは複数のバージョンを同時に実行できる。version.latest.yourapp.appspot.comのようにアクセス可能
  3. Java実行環境呼ばれているが、Javaバイトコードに変換できるならJava以外のプログラミング言語も実行できる。現にJRuby、Groovy、Scala、Rhino (JavaScript)、Quercus (PHP)、Jythonといった言語が使われている
  4. Python実行環境では'IN'および'!='オペレータはマルチデータストアクエリに変換される
  5. データストアとの通信は処理がかかるが、この回数を削減するためのテクニックはいくらでもある
  6. データストアのパフォーマンスはエンティティの量では左右されない。クエリの結果返ってくるデータの量がクエリを実行するコストといえる
  7. インデックスの構築時間はそのサイズにはあまり関係がない。インデックスの追加は中央システムで処理されるため、ほかにもインデックスの作成依頼があればそれらが終わるまで待つことになるため時間がかかる
  8. 'Stored Data'の値は1日に1回だけ更新されている
  9. 設定ファイル(app.yaml、web.xml、appengine-web.xml )内容には処理順序がある。これはもっとも犯されがちな過ちのひとつ
  10. GQL文字列を手動で作成する必要はない