Являются ли запросы Firebase масштабируемыми

В моем приложении для проверки, если при регистрации используется электронная почта (и имя пользователя), я использую такие запросы ...

let emailRef = Firebase(url: "https://photocliq5622144.firebaseio.com/users")

emailRef.queryOrderedByChild("email").queryEqualToValue(email.text!.lowercaseString).observeEventType(.Value, withBlock: { email in

Будет ли это хорошо работать с сотнями или даже тысячами пользователей (это масштабируемо)?

Ответы на вопрос(2)

Решение Вопроса

Сотни: да

Тысячи: да

Десятки тысяч ... наверное (и поздравляю с успехом вашего приложения)

Сотни тысяч ... вам, вероятно, лучше с моделью данных, не основанной на запросах. Например: если вы хотите получить доступ к некоторым данным для пользователя по их адресу электронной почты, сохраните карту от адреса электронной почты до uid:

emailToUid
    "[email protected],com": "uid6479958"
    "[email protected]": "uid209103"

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

 Helix Probe18 июн. 2016 г., 17:49
Спасибо! Это имеет большой смысл. Надеюсь, я найду достаточно пользователей, чтобы перейти на модель, не основанную на запросах.
 Creos18 июн. 2016 г., 05:25
Кстати, Фрэнк отмечает, что все пытаются решить одну и ту же базовую проблему регистрации пользователей: люди хотят иметь уникальные имена пользователей, которые могут быть прочитаны пользователем (т.е. не только уникальные внутренние идентификаторы пользователей), и уникальные электронные письма ... firebase действительно нуждается в чем-то вроде «уникального» ключевого слова. специально для пользователя registraiton или просто для общих возможностей. я не могу сосчитать, сколько таких вопросов было ...

Масштабируется или нет, определяется вашим пользователем.

За кулисами библиотека Firebase просто загружает строку JSON, и вы точно знаете, что произойдет, если строка слишком длинная и размер загружаемого файла достигает (например, 3MByte)

Если ваш пользователь может и с запросом 3MByte в порядке, то вы можете пойти с ним. Но я не знаю, если я твой пользователь.

Ваш ответ на вопрос