Есть ли эффективный способ быстрой загрузки большого количества документов в Google Firestore? - PullRequest
0 голосов
/ 12 апреля 2020

Я создаю игру в React Native, где пользователи генерируют карты каждые 6 секунд или около того. Эти карты затем загружаются в Google Firestore через настроенное мной соединение Firebase.

Пользователи генерируют карты со скоростью 1 раз в 6 секунд: 1 раз в 6 секунд = 10 в минуту = 600 в час. Следуя установленной по умолчанию квоте Google Firebase в 20 000 бесплатных ежедневных записей, я бы превысил максимально допустимую ежедневную, когда в службе работает всего 34 человека в течение часа.

Для борьбы с этим я реализовал временное решение для хранения карты и их данные в локальном хранилище пользователя через AsyncStorage, а затем загружать его, когда он «переполняется» за пределами определенного предела. Мой код выглядит примерно так:

// Retrieve the user's inventory.
// Add the new card to the inventory.
// If the inventory length is greater than 15, batch write it all up to Firestore.

Является ли это эффективным и безопасным способом быстрой обработки больших объемов данных?

1 Ответ

0 голосов
/ 12 апреля 2020

Пакетная запись не поможет вам сократить количество операций записи по счету, необходимых для записи документов. Пакетная запись 5 документов по-прежнему стоит 5 записей, точно так же, как вы написали их по отдельности.

В этой ситуации вы действительно ничего не можете сделать, кроме делегирования всех записей одному объекту, который отвечает за измерение. записи в соответствии с указанными вами ограничениями. В этот момент вы также тратите деньги, чтобы это произошло, так что вы могли бы просто заплатить по обычному счету и сэкономить время и силы, пытаясь обойти бесплатные лимиты. Существуют бесплатные ограничения, позволяющие вам экспериментировать с продуктом во время разработки, а не запускать производственное приложение.

...