2

transactional update operations on Firestore에 관한 문서를 읽었습니다. 트랜잭션에 대한Cloud Firestore 거래 제한 사항

  • 최대 크기 : Quotas and Limits에 따르면 거래와 관련하여 두 한계가있다 (10) MIB는
  • 거래에 대한
  • 제한 시간 270 초 60 초 유휴 만료 시간

더 명시 적으로 트랜잭션 관련의 제한 많은 문서 또는 컬렉션을 읽기 및/또는 트랜잭션 동안 수정, 또는 할 수있는 방법을 언급이 없다 컬렉션에 추가 제약이있는 경우 이는 TRA에서 nsactional 업데이트가 발생합니다.

  1. 는 뜻, 한 업데이트가 이들과 다른 일반적인 한계 내에서 유지로, 최대 500 개 문서, 다른 컬렉션을 각 트랜잭션 갱신을 할 수있는 클라이언트?

  2. 클라이언트가 트랜잭션 내에서 여러 문서를 읽지 만 그 중 하나만 업데이트하는 경우 - 파이어 스토어는 수정되지 않은 문서를 순차적으로 (순차적으로) 쓰지 만 ... 그래서 필자는 write- 클라이언트가 명시 적으로 수정하지 않은 문서의 경우에도 문서 당 초당 1 개의 쓰기 제한이 있습니다.

P.S : 물어 이유는 데이터 저장소가 거래에서 25 개체 - 그룹의 제한이 있다는 것입니다, 또한 읽기 전용 많은 쓰기 트랜잭션 내에서 ("문서") 엔티티에 핫스팟을 본다. 예를 들어, this answer by Dan McGrath을 참조하십시오. Firestore 데이터베이스를 설계 할 때 Datastore의 특징 중 어떤 것이 Firestore로 이어지는 지 궁금합니다.

답변

3

500 개의 문서 제한을 정의하는 "커밋 작업에 전달할 수있는 최대 문서 수"행을 참조하십시오. 이것은 단일 커밋을 사용하여 트랜잭션에서 모든 것을 적용해야하므로 트랜잭션 제한입니다.

문서에서 트랜잭션이 변경되었는지를 판단하기 위해 자동 쓰기가 더 이상 필요하지 않다고 생각합니다.

25 개의 엔티티 그룹 제한과 동일한 관련 제한이 없습니다.

+1

500 개가 넘는 업데이트를 원할 경우 여러 개의 배치를 사용해야합니까? 또는 우리가 이것을 어떻게 달성 할 수 있는가? 나는'User Feed'를 위해'참조 '를 dinamically 업데이트해야하는 경우가있다. 내가 컬렉션에 추가하는 곳은 내가 따라하는 사용자가 만든'Post'의 각 정보이고, ofc는 사용자를 언 폴트하면이 refs를 삭제해야합니다. 지금은 모든 것이 잘 작동하지만, 향후 내 앱이 커지고 사용자가 500 개가 넘는 게시물이있는 경우이 데이터를 업데이트하려고하면 '클라우드 기능'이 중단됩니다. –