# #firebase #google-cloud-firestore #data-structures #counter
Вопрос:
Я подсчитываю некоторые пользовательские данные, например, полученные лайки и подписчиков в пользовательском документе.
Из-за ограничения 1 записи в секунду я хочу переместить счетчики из пользовательского документа во вложенную коллекцию:
users userId1 userCounters likesCounter followerCounter userId2 userCounters likesCounter followerCounter ...
Таким образом, каждый пользователь получил эти документы счетчиков с одинаковым именем в своей подколлекции.
Мне интересно, приводит ли использование одних и тех же имен для документов во вложенных коллекциях к горячим точкам?
Лучше ли здесь использовать автоматически сгенерированные идентификаторы или это не имеет значения?
Ответ №1:
Когда документы записываются в разные (вспомогательные)коллекции, записи в документах сами по себе не будут вызывать горячие точки. Вложенные коллекции здесь, по сути, являются отдельными фрагментами, поэтому сами идентификаторы документов не будут иметь значения.
Горячие точки в этом сценарии могут возникать, когда у вас есть индекс группы коллекций для userCounters
коллекций, так как документы из всех этих (вложенных)коллекций затем окажутся в одном индексе. В индексе группы коллекций документы идентифицируются по их пути (а не только по идентификатору), но это все равно с большей вероятностью приведет к горячим точкам из-за необходимости записывать их все в один и тот же индекс.