0
  1. 高レプリケーション データストアの使用上の注意では、エンティティ グループは 1 秒あたり 1 回の書き込みに制限されていると記載されています。私はそれについて少し混乱しています。この別の記事の「書き込みコストについて」セクションでは、新しいエンティティを格納するだけで 14 回の書き込みコストがかかることを示しています。最初の記事で言及されている 1 秒あたりの書き込みは、2 番目の記事と同等の測定値ですか? もしそうなら、基本的なエンティティを格納するのに 10 秒かかりますか? きっとそれは正しくありませんか?

  2. Google は、祖先なしで (ルート エンティティとして) 格納されたエンティティには結果整合性があると述べています。これは、1 人のユーザーが先祖なしで新しいエンティティをデータストアに追加した場合、その直後にクエリを実行しても、それが利用可能であるとは限らないということですか? もしそうなら、とにかく「最終的」とはどのくらいの期間ですか?それは数時間ですか、それとも数秒ですか?

4

2 に答える 2

2
  1. 書き込み制限は、データストアへの 1 エンティティ書き込み/秒です。書き込みコストは、エンティティごとに更新する必要がある可能性があるインデックスの数です。これらは異なる「書き込み」です。エンティティごとに異なる場合があり、「1 秒あたり 1 回の書き込み」書き込みとは別の測定値です。

  2. そのとおりです。ただし、結果の一貫性が高い特定のケースがいくつかあることに注意してください。単一のエンティティをフェッチするキーによる GET クエリは、強整合性があります。祖先クエリは、データストアが強い一貫性を持つもう 1 つのケースです。「最終的」とは、それを当てにしないことを意味します。通常は数秒ですが、BigTable タブレットがいっぱいになり、分割する必要がある場合や、タブレットが故障して交換する必要がある場合など、特別な場合には、最終的にはより長くかかる可能性があります。メーリング リストで、クエリが何時間も古い結果を返すという苦情をいくつか見ましたが、これは一般的ではありませんでした。

于 2012-04-15T04:07:12.860 に答える
1
  1. 私はこれについて完全には確信が持てませんが (Nick Johnson が検討するのを待ちます)、1 秒あたり 1 トランザクションのコミット/書き込みについて言及していると思います。データストアのトランザクション ロックはエンティティ グループ レベルで機能するため、同時に機能する (分散) トランザクションの数に制限があると推測しています。

  2. あなたの理解は正しいと思います-これは、HRデータストアがいくつかの異なるデータストアにデータを書き込み、少し後でそれらを他のすべてのデータストアに複製するという事実に由来します-最終的に. 2 番目のクエリは、まだ更新されていないデータストアに送信される可能性があります。私が見た限りでは、「最終的に」は数秒で、場合によってはそれ以下です。ただし、分散アーキテクチャのポイントは、その時間のギャップに依存しないことです。

于 2012-04-15T03:52:45.753 に答える