javascript - firebase中实时数据库和fireStore之间的区别?

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

由于 fireStore 是 firebase 中新包含的实时数据库,显然它在各个方面都会优于旧的实时数据。这两个数据库之间的实际差异是什么?

最佳答案

为什么应该使用 firestore 而不是实时数据库:

  • 浅查询
    • 获取一个节点并不会同时获取所有子节点
  • 可以对多个字段进行查询
    • 实时数据库仅支持单个字段查询
  • 查询按结果集的大小而不是数据集的大小进行缩放
    • 无论您有 300 还是 300,搜索前 10 名所需的时间都相同 一千或三千万个条目
  • 手动获取数据
  • 多区域支持
    • 冗余数据库(不确定实时数据库冗余,但它确实有自动备份价格计划)
  • 不同的定价模式
    • 价格基于读取和写入次数,而不是下载的数据量(好坏取决于使用情况,请参见下文)

为什么应该使用实时数据库而不是 firestore:

  • 延迟时间稍好一些
    • 客户端更新速度比 firestore 更快
  • 对在线状态的原生支持
    • 用户在线状态在实时数据库上更容易实现
  • 定价模型
    • 如果您的应用使用小数据进行大量读取和写入,实时数据库可能比 firestore 便宜
  • Firestore 仍处于测试阶段
    • Realtime db 已经投入生产四年了,firestore 最近才发布

TL;博士:

新应用程序应从 firestore 启动。

使用实时数据库的现有应用程序应保留实时数据库。除非您有足够充分的理由进行切换,否则您不会这样做。

来源:https://firebase.googleblog.com/2017/10/cloud-firestore-for-rtdb-developers.html

关于javascript - firebase中实时数据库和fireStore之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46765999/

相关文章:

firebase - 使用 Cloud Functions for Firebase 获取匿名用户

android - 为 Firebase EventListener 提供上下文

firebase - 如何在侧边导航栏中获取当前登录的用户电子邮件?

ios - Swift 检索 Firebase 数据

angular - 引用.push失败: first argument contains undefined in property 'confirm.orderTotal'

javascript - 检查 div 是否在 View 中,如果是,则移动到窗口顶部

javascript - 如何在javaScript中从子页面刷新父页面

javascript - 向最终用户隐藏 html DOM 数据

javascript - 如何禁用 ExtJS 中消息框的掩码?

javascript - 无法读取 admin.firestore.collection.doc.get.then.doc 处未定义的属性 'firstName'