В вашей структуре временная таблица дублирует информацию о сообщениях, я думаю, что это не нормально для базы данных.
ользовал базу данных Firebase в реальном времени для моего тестового приложения для социальной сети, в котором вы можете просто следить и получать сообщения людей, на которых вы подписаны. Традиционная социальная сеть. Я структурировал свою базу данных примерно так:
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, добавленные к временной шкале А. И если B опубликовал что-то, это также было добавлено во все сроки его подписчика.
Теперь это было мое решение для базы данных в реальном времени, но у нее явно есть некоторые проблемы с масштабируемостью
если у кого-то есть 10000 подписчиков, то новая запись будет добавлена ко всей временной шкале 10000 подписчиков.Если у кого-то большое количество постов, то каждый новый подписчик получал все эти посты на своей временной шкале.Это были некоторые из проблем.
Теперь я подумываю перенести всю эту штуку на пожарный, так как она была заявлена как «Масштабируемая». Итак, как я должен структурировать свою базу данных так, чтобы проблемы, с которыми я сталкивался в базе данных в реальном времени, могли быть устранены в firestore.