正確に何をしたいかによっては、これは興味深いかもしれません。
GAE シャーディング カウンター
Google App Engine で効率的なアプリケーションを開発する場合、エンティティが更新される頻度に注意を払う必要があります。App Engine のデータストアは膨大な数のエンティティをサポートするようにスケーリングしますが、単一のエンティティまたはエンティティ グループを 1 秒間に約 5 回しか更新できないことに注意してください。これは推定値であり、エンティティの実際の更新率は、エンティティのいくつかの属性 (プロパティの数、サイズ、更新が必要なインデックスの数など) によって異なります。単一のエンティティまたはエンティティ グループの更新速度には制限がありますが、App Engine は異なるエンティティに分散された多数の並列リクエストの処理に優れており、シャーディングを使用することでこれを利用できます。
問題は、エンティティを 1 秒間に 5 回よりも速く更新したい場合はどうするかということです。たとえば、アンケートの投票数、コメント数、またはサイトへの訪問者数を数えることができます。
したがって、次のようなタグを作成します。
increment(tag)
存在しない場合にも作成されます。
カウントする
get_count(tag)
しかし、はい、本質的にリストである繰り返しプロパティを作成し、それを保存してロードし、その中の値をカウントすることができます。データストアにはモデル サイズに制限があり、単一のリスト内の単一のモデルに格納すると、最終的には大きくなりすぎるため、使用する数によって異なります。
では、タグごとに 1 つのモデルで、すべてが 1 つのタイプでしょうか? そして、5/秒の問題に遭遇したとき、上記が役に立ちます。