Мы используем базу данных Firebase в реальном времени, чтобы сохранять оценки для каждого уровня для пользователей, которые связаны с Facebook. Мы все еще тестируем эту функцию, и все работает отлично, но загрузка действительно очень высока. Каждый раз, когда этот пользователь открывает приложение, я загружаю очень небольшое количество данных, около 20 байтов, и дополнительные 5 байтов для каждого уровня, который он запускает. Через несколько минут загрузка стала показывать более 100 КБ, что очень много и не будет масштабироваться в финансовом отношении, когда мы сообщим об этом нашим пользователям. Вот структура данных, которую мы используем:
users{
facebook_id{
"firebase_id" : firebaseId,
"max_level" : maxLevel,
"stars" : numberOfStars,
"scores" : {
level : score,
}
}
}
Я также провел профилирование базы данных CLI, и было 0 неиндексированных запросов, и использование показалось правильным. Вот скриншот.
Кто-нибудь знает, что может быть не так? Если это просто накладные расходы на SSL (которые все еще кажутся слишком большими), отметим еще, что мы могли бы сделать, но настроить наш собственный сервер.