Структура данных социальной сети Firestore - PullRequest
0 голосов
/ 19 мая 2019

Как структурировать структуру базы данных социальной сети, как, например, twitter, где мы можем следить за пользователями и получать все их твиты на нашей временной шкале, я уже проверил это Firestore - как структурировать ленту новостей и следить за системой но решения в посте выглядят некорректными.

Firestore отличается тем, что для эффективного доступа к данным требуются избыточные данные, но предположим, что я слежу за 1000 человек, и если мне нужно получать сообщения всех этих пользователей, запрашивая данные для каждых 15 пользователей, за которыми я слежу, и использую limit(10) затем метод orderBy(timeStamp) между запросами могут быть непрочитанные сообщения, потому что мы получаем сообщение, используя last post timeStamp, как структурировать данные для приложения для социальных сетей в Firestore

1 Ответ

1 голос
/ 19 мая 2019

При моделировании варианта использования в базе данных NoSQL вы стремитесь оптимизировать возможности своего приложения и частые операции чтения.

Таким образом, в приложении для социальных сетей ваша главная особенность может заключаться в том, что пользователь видит последние сообщения всех, за кем они следят.Чтобы оптимизировать эту операцию для частых чтений, вы хотите сохранить записи, которые каждый пользователь должен видеть в документе для этого пользователя.Таким образом, если сравнивать с Twitter, у вас есть документ, содержащий канал Twitter для каждого пользователя.Или, если для одного документа слишком много данных, вы можете поместить их в коллекцию.Я часто объясняю это как моделирование экранов вашего приложения в базе данных.

Это очень отличается от типичной модели данных в реляционной базе данных, поэтому обычно, чтобы привыкнуть, требуется время.Для хорошего ознакомления я рекомендую:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...