相关疑难解决方法(0)

Firestore - 如何构建订阅源并遵循系统

我在我的测试社交网络应用程序中使用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
Run Code Online (Sandbox Code Playgroud)

我还有另一个节点"内容",它只包含所有用户帖子的ID.因此,如果"A"跟在"B"之后,那么B的所有帖子ID都添加到A的时间轴.如果B发布了一些内容,那么它也会添加到其所有关注者的时间轴中.

现在这是我的实时数据库解决方案,但它显然存在一些可扩展性问题

  • 如果有人拥有10,000个关注者,则新帖子被添加到所有10,000个关注者的时间线中.
  • 如果有人拥有大量帖子,那么每个新粉丝都会在他的时间轴中收到所有这些帖子.

这些都是一些问题.

现在,我正在考虑将整个事情转移到firestore上,因为它声称是"可扩展的".那么我应该如何构建我的数据库,以便在firestore中消除我在实时数据库中遇到的问题.

java android database-design firebase google-cloud-firestore

44
推荐指数
5
解决办法
6627
查看次数