我将Firebase实时数据库用于我的测试社交网络应用程序,您可以在其中跟踪和接收所关注的人的信息。传统的社交网络。我的数据库结构如下:
Users
--USER_ID_1
----name
--USER_ID_2
----name
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
我还有另一个节点“ Content”,其中仅包含所有用户帖子的ID。因此,如果“ A”跟在“ B”之后,那么B的所有帖子ID都会添加到A的时间轴中。如果B发布了一些内容,那么它也会被添加到其所有关注者的时间表中。
现在这是我的实时数据库解决方案,但显然存在一些可伸缩性问题
如果某人拥有10,000个关注者,而在10,000个关注者的时间轴中添加了新帖子。
如果某人发布的帖子数量超过每个新关注者在其时间轴中收到的所有帖子。
这些是一些问题。
现在,我正在考虑将整个事情转移到Firestore上,因为它被称为“可伸缩”。因此,我应该如何构建数据库的结构,以便可以在Firestore中消除我在实时数据库中遇到的问题。
ABOUTYOU