0

Google App Engineで自分のデータベースモデルにプロパティを設定したいのですが、どのカテゴリが最適かわかりません。SOのタグに似たタグクラウドである必要があります。テキストプロパティが最適でしょうか、それとも文字列プロパティを使用してrepeated=Trueにする必要がありますか。

2つ目は私にとって最良のように思えます。それから、区切り文字としてコンマでタグを分割することができます。私の目標は、これらのタグを検索して、各タイプのタグの総数を数えることができるようにすることです。

これは合理的な解決策のように見えますか?

4

2 に答える 2

1

繰り返し文字列プロパティが最適なオプションです。

于 2012-11-06T12:02:36.757 に答える
1

正確に何をしたいかによっては、これは興味深いかもしれません。

GAE シャーディング カウンター

Google App Engine で効率的なアプリケーションを開発する場合、エンティティが更新される頻度に注意を払う必要があります。App Engine のデータストアは膨大な数のエンティティをサポートするようにスケーリングしますが、単一のエンティティまたはエンティティ グループを 1 秒間に約 5 回しか更新できないことに注意してください。これは推定値であり、エンティティの実際の更新率は、エンティティのいくつかの属性 (プロパティの数、サイズ、更新が必要なインデックスの数など) によって異なります。単一のエンティティまたはエンティティ グループの更新速度には制限がありますが、App Engine は異なるエンティティに分散された多数の並列リクエストの処理に優れており、シャーディングを使用することでこれを利用できます。

問題は、エンティティを 1 秒間に 5 回よりも速く更新したい場合はどうするかということです。たとえば、アンケートの投票数、コメント数、またはサイトへの訪問者数を数えることができます。

したがって、次のようなタグを作成します。

increment(tag)

存在しない場合にも作成されます。

カウントする

get_count(tag)

しかし、はい、本質的にリストである繰り返しプロパティを作成し、それを保存してロードし、その中の値をカウントすることができます。データストアにはモデル サイズに制限があり、単一のリスト内の単一のモデルに格納すると、最終的には大きくなりすぎるため、使用する数によって異なります。

では、タグごとに 1 つのモデルで、すべてが 1 つのタイプでしょうか? そして、5/秒の問題に遭遇したとき、上記が役に立ちます。

于 2012-11-05T22:46:42.890 に答える