Cloud Firestore和Firebase实时数据库之间有什么区别?
0 923
0

Google之前发布的Cloud Firestore,这是他们针对应用程序的新文档数据库。

我一直在阅读文档,但是Firestore和Firebase DB看不出来什么区别,但是 与Firebase(具有JSON基础的传统noSQL数据库)相比Firestore使用的文档和集合可轻松使用查询。

我想进一步了解它们的区别或用途,换句话说Firestore是否是用来替换Firebase DB的?

收藏
2021-02-17 14:29 更新 han •  277
共 1 个回答
高赞 时间
0

一、更好的查询和更结构化的数据- 实时数据库只是一棵巨大的JSON树,而Cloud Firestore则更加结构化。所有数据均由文档(基本上是键值存储)和集合(即文档的集合)组成。文档还会频繁指向子集合,这些子集合包含其他文档,它们本身也可以包含其他文档,依此类推。

这种结构化数据分为两种。首先,所有查询都是浅层的,这意味着可以在不获取所有数据的情况下请求文档。也可以以对自己更有意义的方式分层存储数据,而不必担心数据库变浅。第二,它有更强大的查询。例如,可以跨多个字段查询,而不必创建那些组合(和去规范化)数据库其他部分数据的“组合”字段。在某些情况下,Cloud Firestore会直接运行这些查询,而在其他情况下,它将自动创建和维护索引。

二、专为扩展而设计 -Cloud Firestore将比实时数据库更好地扩展。重要的是,查询会扩展到结果集的大小,而不是数据集的大小。因此,无论数据集有多大,搜索都将保持快速。

三、手动获取数据更容易 -与实时数据库一样,可以在Cloud Firestore中设置侦听器以实时流式传输更改。但是,如果不想要这种行为,只想要一个简单的“获取数据”调用,Cloud Firestore也可以做到,并且它是作为主要用例内置的。(比once实时数据库领域的调用要好用得多)

四、多区域支持 -这基本上意味着更高的可靠性,因为数据可以同时在多个数据中心之间共享,具有很强的一致性,这意说明始终可以进行查询,并可以确保获得最新版本的数据。

五、不同的定价模式 -实时数据库主要根据存储或网络带宽收费,而Cloud Firestore主要根据执行的操作数量收费。 从定价的角度来看,对于新闻应用程序,为自己的Stack Overflow版本提供动力,Cloud Firestore可能看起来非常有利。 对于实时组绘图这样的应用程序,需要每秒向多个人发送多个更新,它可能会比实时数据库贵。

为什么仍然希望使用实时数据库,可以归结为以下几个原因。1)它对于进行大量频繁更新的应用程序可能会便宜一些 2)它已经存在很长时间了,并且已经被成千上万的应用程序进行过实战测试,3)Cloud Firestore的延迟时间更长;如果需要具有可靠的低延迟的实时感觉,实时数据库更为合适。

收藏
2021-02-17 14:44 更新 玩手机的豆浆 •  691