Я создаю игру в 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.
Является ли это эффективным и безопасным способом быстрой обработки больших объемов данных?