Firebase 实时数据库能否有效地循环浏览数十亿条帖子并由发布它们的用户检索?

Posted

技术标签:

【中文标题】Firebase 实时数据库能否有效地循环浏览数十亿条帖子并由发布它们的用户检索?【英文标题】:Can Firebase Realtime Database effectively loop through billions of posts and retrieve them by the users that posted them? 【发布时间】:2017-09-20 18:32:06 【问题描述】:

我正在使用 Firebase 实时数据库开发 ios 应用。该应用程序可能会包含数十亿条帖子,其中包含需要根据特定用户关注的人(例如 Instagram)检索的大量图像和数据。

我了解 Firebase 中的最佳做法是将数据结构尽可能平坦,这意味着有一个“帖子”节点可能包含数十亿个条目,然后我将通过一种“posted_by”参数对其进行过滤。这引出了两个问题:

1) 我是否能够通过返回我关注的任何用户的帖子的查询来检索所述帖子? (通过传递我关注的用户数组之类的东西)

2) Firebase 是否足够有效,可以遍历潜在的数十亿个帖子以找到符合我标准的帖子,或者是否有更好的方法来构建数据以使应用尽可能优化?

提前感谢您的回答。

【问题讨论】:

【参考方案1】:

数十亿的条目没有问题。 如果您拥有大量数据,则应检查 Firebase 是否是最具成本效益的解决方案。

1) Firebase 可以做到这一点,但您可能不希望用户等待所有条目(当单个用户有 lot 时),而是请求它们“页面”通过“页面”,仅在用户向上/向下滚动时按需请求更多页面。

2) 如果您确保在用户 id 上有一个索引,则不必单独遍历每个索引。按索引搜索是有效的。

【讨论】:

以上是关于Firebase 实时数据库能否有效地循环浏览数十亿条帖子并由发布它们的用户检索?的主要内容,如果未能解决你的问题,请参考以下文章

有效地找到第 k 个集合位在位集中的位置

Firebase 用于基于浏览器的实时 MMO [关闭]

有没有办法让firebase实时数据库存在系统更快地检测断开连接

Firebase 实时数据库 datasnapshot.has Child

第一次调用时捕获 Firebase 实时observeSingleEvent 数据失败

Firebase 实时数据库文件大小