http://highscalability.com/blog/2010/1/22/how-buddypoke-scales-on-facebook-using-google-app-engine.html エンティティを2つに分けます:メインモデルとサブモデル。 Datastoreのputはもっとも大きなコスト要因なので削減するためにできることはなんでもやりましょう。 メインモデルにはkeyだけでアクセスします。 インデックスは一切作らないし、余計なフィールドも一切保存しないようにします。 getのスピードは速くなり、putにかかる料金は安くなります。 余計なフィールドは時間もお金も無駄にすることになります。 だからUserモデルの「入会日時」フィールドはメインモデルには含めません。 このような頻繁に使わないフィールドはサブモデルに入れておきます。 サブモデルに対してインデックスを作り、