Я использовал базу данных Firebase в реальном времени для своего тестового приложения в социальных сетях, в котором вы можете просто следить за людьми и следить за ними. Традиционная социальная сеть. Я структурировал свою базу данных как this-
Users
--USER_ID_1
----name
----email
--USER_ID_2
----name
----email
Posts
--POST_ID_1
----image
----userid
----date
--POST_ID_2
----image
----userid
----date
Timeline
--User_ID_1
----POST_ID_2
------date
----POST_ID_1
------date
У меня также есть другой узел "Содержимое", в котором содержится только идентификатор всех сообщений пользователя. Итак, если "A" следует за "B", чем весь идентификатор сообщения B, добавленный к временной шкале A. И если B отправил что-то, чем это было добавлено ко всей его временной шкале.
Теперь это было моим решением для базы данных реального времени, но оно явно имеет некоторые проблемы с масштабируемостью
- если у кого-то есть 10 000 последователей, чем новая запись была добавлена ко всей временной шкале из 10 000 человек.
- Если у кого-то есть много сообщений, чем каждый новый последователь получил все эти должности на своей временной шкале.
Это были некоторые из проблем.
Теперь я думаю переложить все это на firestore, поскольку его заявили "Масштабируемым". Итак, как я должен структурировать свою базу данных, чтобы проблемы, с которыми я столкнулся в базе данных реального времени, можно было устранить в firestore.