0

Google Cloud DatastoreにApp Engineを使用して、約1000個のタイプのエンティティAがあります。クラウドデータストア - 小規模な操作を利用する

私はエンティティの全リストをあらかじめロードし、ユーザーがログインするたびに常に更新する必要があります。私はそれを静的に行うことはできません。私は以来、毎日無料のクォータに残るように

a_keys = A.query().fetch(keys_only=True) 
a_entities = ndb.get_multi(a_keys) 

a_entities = A.query().fetch() 

へ:GoogleのCloud Datastoreの価格モデル(https://cloud.google.com/datastore/pricing)を利用して

私はからクエリコードを変更しました読み込み操作の多くを「Datastore Small Operations」型に移動します。これは、私が読んだとおり、無制限です。

これは適切なソリューションですか?それは多くの場合に備えて、特定のトラフィックを維持することができるだろうか?他のリソースにも影響を与えますか?

keys_onlyクエリが(ちょうど1操作)を無料であなたに

答えて

1

ありがとうございます。しかし、次の行は、get_multi実際のエンティティは無料ではありません。あなたは無料のクォータ内に残る抜け穴を発見していません。

+0

ありがとうございました。お試しいただきありがとうございます。私は、これが最初の行よりもクォータの方が優れていることがわかりました。それはmemcacheのためですか? –

+0

@FedericoCapello値がmemcacheにある場合は、コストの観点からこのアプローチの利点があります(共有memcacheを使用すると仮定します)。しかし、パフォーマンスの観点からは、2回の往復が発生します。大量のシナリオでは、ホットキーの問題に注意する必要があります – jcjones1515

関連する問題