Являются ли одни и те же идентификаторы документов во вложенных коллекциях ведущими к точкам доступа в Firestore?

# #firebase #google-cloud-firestore #data-structures #counter

Вопрос:

Я подсчитываю некоторые пользовательские данные, например, полученные лайки и подписчиков в пользовательском документе.
Из-за ограничения 1 записи в секунду я хочу переместить счетчики из пользовательского документа во вложенную коллекцию:

 users  userId1  userCounters  likesCounter  followerCounter  userId2  userCounters  likesCounter  followerCounter  ...  

Таким образом, каждый пользователь получил эти документы счетчиков с одинаковым именем в своей подколлекции.
Мне интересно, приводит ли использование одних и тех же имен для документов во вложенных коллекциях к горячим точкам?
Лучше ли здесь использовать автоматически сгенерированные идентификаторы или это не имеет значения?

Ответ №1:

Когда документы записываются в разные (вспомогательные)коллекции, записи в документах сами по себе не будут вызывать горячие точки. Вложенные коллекции здесь, по сути, являются отдельными фрагментами, поэтому сами идентификаторы документов не будут иметь значения.

Горячие точки в этом сценарии могут возникать, когда у вас есть индекс группы коллекций для userCounters коллекций, так как документы из всех этих (вложенных)коллекций затем окажутся в одном индексе. В индексе группы коллекций документы идентифицируются по их пути (а не только по идентификатору), но это все равно с большей вероятностью приведет к горячим точкам из-за необходимости записывать их все в один и тот же индекс.