Вопрос по фильтрованным запросам типа .whereField
именно о практики применения и нагрузке на БД:
- Как считаеся фильтрованный запрос? Как один запрос; как количество запросов, равных количеству отфильтрованных элементов; как количество запросов, равных общему количеству элементов, просмотренных в порядке фильтрации?
- Второй вопрос вытекает из первого. Что лучше: хранить все коллекции на первом уровне и просто использовать фильтрованные запросы для получения документов по определённому параметру (например задачи каждого юзера хранить в общей коллекции задачи)? Или использовать субколлекции и вытаскивать просто все задачи из субколлекции юзера, например?
- Третий вопрос является следствием первых двух:
- насколько понимаю, фильтрация происходит на стороне сервера и мне как “заказчику ответа” это выгоднее, чем нагружать устройство клиента. Но на сколько этим можно злоупотреблять? ))
- в своих примерах расчёта стоимости использования БД, Гугл в официальной документации приводит пример “маленького” приложения на 50 000 регистраций и 5 000 активных пользователей в день… Я так понимаю на мой век хватит мощностей Гугл и не стоит переживать из-за нагрузки на сервак?
Здесь, конечно, мне интересна именно практика тех, кто работает с этой БД и платит за трафик.