Firebase:实时数据库和文件存储之间的差异

Posted

技术标签:

【中文标题】Firebase:实时数据库和文件存储之间的差异【英文标题】:Firebase : Differences between realtime database and file storage 【发布时间】:2016-09-25 18:13:54 【问题描述】:

我从Difference between Data Storage and Hosting Storage?这个帖子了解了实时数据存储和托管存储

但我仍然不清楚实时数据库和新引入的文件存储。

有人对此有一些简要的解释吗?

提前致谢。

(根据与Difference between Data Storage and Hosting Storage? 重复的担忧,问题解决了什么,我要问的是两个不同的东西,托管存储和文件存储在 google firebase 的情况下是不同的)

【问题讨论】:

我们不要将此标记为重复。链接的问题来自 Firebase 引入存储解决方案之前。 【参考方案1】:

Firebase 现在提供以下位置来存储您的数据:

Realtime Database Remote Config Hosting Storage Cloud Firestore

存储数据的最佳位置取决于您要存储的数据类型和使用方式。

Firebase documentation 是这么说的:

Firebase 实时数据库存储 JSON 应用程序数据,例如游戏状态或聊天消息,并在所有连接的设备之间即时同步更改。

Firebase 远程配置存储开发人员指定的键值对,以更改应用的行为和外观,而无需用户下载更新。

Firebase 托管为您的网站托管 html、CSS 和 javascript 以及其他开发者提供的资源,例如图形、字体和图标。

Firebase 存储存储图像、视频和音频等文件以及其他用户生成的内容。

在 Cloud Firestore 和 Firebase 实时数据库之间进行选择时,Firebase documentation says:

Firebase 提供两种支持实时数据同步的基于云的、客户端可访问的数据库解决方案:

实时数据库是 Firebase 的原始数据库。对于需要跨客户端实时同步状态的移动应用来说,这是一种高效、低延迟的解决方案。

Cloud Firestore 是 Firebase 用于移动应用开发的全新旗舰数据库。它通过一种新的、更直观的数据模型改进了实时数据库的成功。 Cloud Firestore 还具有比实时数据库更丰富、更快的查询和更好的扩展能力。

【讨论】:

是否可以在图像中添加对孩子的引用?例如,用户“mchen”有一张头像,而该头像存储在 Storage 中? 如果我没记错@AbAppletic,在上传到存储时,您将文件路径写入实时数据库中的相关节点,然后使用该路径通过存储API获取图像。 @BradAdams 是的。但这更像是数据采集。很遗憾 Firebase 没有此功能。只是伤心 @AbAppletic 肯定是...有趣的是,我今天不得不解决一个类似的问题,最终向 SO 寻求帮助 (***.com/questions/40221719/…)。如果数据库中的 URL 是文件的直接 URL,这将得到解决,但我感觉 URL 不是 solid (就像它可以稍后更新日期什么的……) 是的。谁创建内容的区别:托管没有用于上传的公共 API,因此对于您作为应用程序的一部分创建的内容最有用。对于用户生成的内容,存储更适合。【参考方案2】:

*实时数据库只存储json格式的数据,专门用于数据不持久化的ola app(user location)、sensex(Nifty) app等数据并发同步的app。 p>

*Firebase Storage只存储存储卡等数据。专门用于存储应用程序的后端数据。

【讨论】:

以上是关于Firebase:实时数据库和文件存储之间的差异的主要内容,如果未能解决你的问题,请参考以下文章

从多个文件上传 Firebase 存储中获取下载 url

Firebase 数据库存储大小限制

SwiftUI - 将存储中图像文件的路径移动到 Firebase 上的实时数据库 [重复]

会话持续时间 - 谷歌分析和 Firebase 报告之间的巨大差异

Angular Firebase 存储,将用户输入属性分配给实时数据库

Firebase 存储 - 将图像上传到 Firebase 存储并在实时数据库中创建指向该图像的链接