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

Difference between real-time database and fireStore in firebase?

由于fireStore是作为实时数据库新加入到firebase中的,显然它在各个方面都将优于旧的实时数据。这两个数据库之间的实际区别是什么?

为什么应该在实时数据库上使用 firestore:

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

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

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

TL;DR:

新应用应从 firestore 开始。

使用实时数据库的现有应用程序应保留在实时数据库中。除非你有足够的理由切换,否则你不会。

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