Datastore クエリのデータ整合性

データ整合性レベル

Datastore のクエリでは、次の 2 つの整合性レベルのいずれかで結果を返すことができます。

  • 強整合クエリは、結果が最新であることが保証されますが、完了までに時間がかかる場合があります。
  • 結果整合性クエリは、一般的により高速に実行されます。ただし、最新ではない結果が返される場合があります。

結果整合クエリでは、結果の収集に使用されるインデックスも、結果整合性に基づいてアクセスされます。その結果、元のクエリ条件と一致しなくなったエンティティが返される場合があります。一方、強整合クエリでは常にトランザクション上の整合性が維持されます。

Datastore クエリのデータ整合性

クエリでは各クエリの特性に基づき、異なる整合性レベルを保証した結果が返されます。

  • 祖先クエリ(1 つのエンティティ グループ内のクエリ)は、デフォルトでは強整合性ですが、Datastore の読み取りポリシーを設定することで(後述)、結果整合性にできます。
  • 非祖先クエリは常に結果整合になります。

キーによるエンティティの取得(「キーによる検索」とも呼ばれる)は強整合になります。

次のステップ