【问题标题】:How should I structure my data in Firebase [closed]我应该如何在 Firebase 中构建我的数据 [关闭]
【发布时间】:2021-02-21 13:38:34
【问题描述】:

我正在构建一个社交媒体应用程序,目前我将用户名、用户和帖子存储在 Firestore 中。如果有很多用户(大约 50,000),恐怕会很昂贵。所以我计划将一半的数据存储在 Firestore 中,另一半存储在实时数据库中。现在我很困惑是否应该将帖子或用户存储在实时数据库中。我应该将帖子放在哪个数据库中(Realtime 或 Firestore)?

【问题讨论】:

  • 你可以随意拆分,但是50,000个用户仍然是50,000个用户。我认为最好有一个数据源。
  • 您正在寻求产品推荐,因此您的问题可能会被关闭。也就是说,如果您认为 RTDB 会更便宜,这就是您迁移的原因,为什么不完全迁移到 RTDB?一旦你回答了这个问题,这应该可以帮助你确定将哪些数据放入哪个数据库。
  • @FrankvanPuffelen 哪个数据库会更快? RTDB 或 Firestore
  • “更快”是为了什么?如果其中一个更快(或以另一种方式更好),我们为什么要拥有另一个?文档中的database recommender 提供了最佳指导。

标签: firebase firebase-realtime-database google-cloud-firestore


【解决方案1】:

最好坚持使用 1 个事实来源。在两者之间我会选择firestore。

在此处可以很好地比较两者及其权衡取舍。您只关心移动设备还是希望您的应用在网络和移动设备上运行?如果是这样的话,我会选择 Firestore。

https://firebase.google.com/docs/database/rtdb-vs-firestore

您还提到您的数据库中有用户名、用户和帖子。您应该将用户名存储在“用户”集合中,这样这些“用户”和“帖子”实际上只有两个不同的集合。同样在这两者之间,您发布的帖子可能会多于用户数。

【讨论】:

  • 如果我将所有数据都放在一个地方会不会更贵?将用户保留在 RTDB 中并在 Firestore 中发帖可以吗?还是有缺点?我还创建了一个用户名集合,因此人们不能拥有相同的用户名。
  • 将数据存储在多个位置通常不好。你需要考虑很多事情。您是否要花时间维护/更新基础架构以支持数据,而不是为了节省一点成本而在两个来源之间进行重复?当您的用户数量超过两个数据库的免费套餐时怎么办?您也打算开始使用 AWS 吗?理想情况下,如果您像上面提到的那样达到 50,000+ 的用户数量,您将有一些方法可以通过一些方式获利以帮助支付成本。您还需要考虑您的时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多