1

은 내가 단일 엔티티 그룹에 대한 초당 하나의 트랜잭션의 구글 데이터 저장소의 두 가지 제한을가이해 엔티티 그룹 제한

쓰기 처리량 제한을 해결하는 방법을 이해하려고 노력하고 있습니다.

거래가 액세스하는 모든 데이터는 최대엔티티 그룹에 포함되어야합니다.

사용자 정보를 저장하려고한다고 가정합니다. 여러 사용자가 동시에 자신의 정보를 업데이트 할 수 있으므로 첫 번째 제한으로 인해 엔티티 그룹에 저장할 수 없습니다. 이제 루트 엔티티로 모든 사용자를 저장하려고 시도하면 2 단 제한 사항은 사용자에게 모든 쿼리를 사용할 수 없다고합니다 (예 : 나이가 10보다 큰 사용자 찾기). 이제 어떻게 데이터 저장소가 이러한 제한 사항과 함께 사용할 수 있는지 궁금합니다.

답변

2

두 번째 제한 사항을 잘못 해석했습니다. 물론 모든 사용자에게 연령이> 10 인 사용자를 쿼리 할 수는 있지만 거래 내에서만 수행하면 안됩니다.

일관성을 수행 할 수 있습니다 중요한 경우 :

  1. (Query Cursors를 사용하여 예를 들어)에 작동하는 최대 25 키의 목록을 얻을 거래
  2. 외부 키 전용 쿼리를 수행 목록의 키에 해당하는 엔티티가 트랜잭션 액세스 내에서 (키순으로) -이 액세스는 일관성이 있습니다.
1

쿼리는 트랜잭션이 아닙니다. 반환 된 결과는 여러 엔터티 그룹에 분산 될 수 있습니다.