firebase 中的实时数据库和 fireStore 之间的区别?
Difference between real-time database and fireStore in firebase?
由于fireStore是作为实时数据库新加入到firebase中的,显然它在各个方面都将优于旧的实时数据。这两个数据库之间的实际区别是什么?
为什么应该在实时数据库上使用 firestore:
- 浅查询
- 获取节点不会同时获取所有子节点
- 可以在多个字段上进行查询
- Realtime db只支持单字段查询
- 查询缩放到结果集的大小,而不是数据集的大小
- 无论您有 300 还是 300,搜索前 10 名的时间都相同
千或 3000 万个条目
- 手动获取数据
- 一次性获取查询是主要用例,实时更新的侦听器是可配置的。参见 Getting Realtime Updates with Cloud Firestore
- 多区域支持
- 冗余数据库(不确定实时数据库冗余,但它确实有自动备份价格计划)
- 不同的定价模式
- 价格基于读写次数,而不是下载的数据量(好坏取决于使用情况,见下文)
为什么应该使用实时数据库而不是 firestore:
- 延迟稍好
- 客户端更新速度比 firestore 快
- 存在的原生支持
- 用户在线状态更容易在实时数据库上实现
- 定价模型
- 如果您的应用使用少量数据进行大量读取和写入,则实时数据库可能比 firestore 更便宜
- Firestore 仍处于测试阶段
- Realtime db 已投入生产四年,firestore 最近刚刚发布
TL;DR:
新应用应从 firestore 开始。
使用实时数据库的现有应用程序应保留在实时数据库中。除非你有足够的理由切换,否则你不会。
来源:https://firebase.googleblog.com/2017/10/cloud-firestore-for-rtdb-developers.html
由于fireStore是作为实时数据库新加入到firebase中的,显然它在各个方面都将优于旧的实时数据。这两个数据库之间的实际区别是什么?
为什么应该在实时数据库上使用 firestore:
- 浅查询
- 获取节点不会同时获取所有子节点
- 可以在多个字段上进行查询
- Realtime db只支持单字段查询
- 查询缩放到结果集的大小,而不是数据集的大小
- 无论您有 300 还是 300,搜索前 10 名的时间都相同 千或 3000 万个条目
- 手动获取数据
- 一次性获取查询是主要用例,实时更新的侦听器是可配置的。参见 Getting Realtime Updates with Cloud Firestore
- 多区域支持
- 冗余数据库(不确定实时数据库冗余,但它确实有自动备份价格计划)
- 不同的定价模式
- 价格基于读写次数,而不是下载的数据量(好坏取决于使用情况,见下文)
为什么应该使用实时数据库而不是 firestore:
- 延迟稍好
- 客户端更新速度比 firestore 快
- 存在的原生支持
- 用户在线状态更容易在实时数据库上实现
- 定价模型
- 如果您的应用使用少量数据进行大量读取和写入,则实时数据库可能比 firestore 更便宜
- Firestore 仍处于测试阶段
- Realtime db 已投入生产四年,firestore 最近刚刚发布
TL;DR:
新应用应从 firestore 开始。
使用实时数据库的现有应用程序应保留在实时数据库中。除非你有足够的理由切换,否则你不会。
来源:https://firebase.googleblog.com/2017/10/cloud-firestore-for-rtdb-developers.html