Google Firestore是Google Cloud Datastore的子集还是超集?

问题描述 投票:18回答:4

谷歌宣布了Firestore,这是一个新的文档数据存储区。

我已经使用Google Cloud Datastore开发了一个应用程序超过六个月了,在阅读了blog之后,我觉得Firestore似乎是一个更好的选择。

备用集合 - 文档 - 子集合的概念对我来说看起来很棒,因为在设计数据存储的模式时我意识到我将无法查询嵌套字段。现在使用firestore子集合,我获得了完整的查询功能,这对我来说是一个游戏规则改变者(我可以用最少的查询获得最大数据)。

作为一个反驳论点,flowchart建议我使用数据存储区,因为我没有任何移动客户端。

像Datastore一样使用Firestore是个好主意吗? (我会方便地忽略移动客户端/实时更新/同步功能!)

firebase google-cloud-datastore google-cloud-platform google-cloud-firestore
4个回答
25
投票

Update 2 (01/31/19)

截至今天,Cloud Firestore已不再使用Beta版,并且通常可用:https://cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-and-updates

这意味着Cloud Datastore不再是新项目的选项(您可以继续在现有项目中使用它)。想要使用数据存储API的新项目可以在数据存储模式下使用Cloud Firestore。

Update 1

正如您所注意到的,自此问题发布以来,我们已经扩展了Cloud Firestore。

这意味着Cloud Firestore现在有两种模式:

  1. 最初的发布是“原生模式”
  2. 新的发布增加了'数据存储模式'

“数据存储模式”是Cloud Datastore的第三代。第一个称为主/从数据存储,第二个是高复制数据存储(HRD),在2013年更名为云数据存储。

以下答案仍然很大程度上是相关的,因为这两种模式目前是互斥的,所以你需要选择其中一种。

主要区别在于数据存储模式下Cloud Firestore相对于Cloud Datastore的改进。最大的是:

  • 现在每个实体组的写入吞吐量无限制(1次写入/秒)
  • 交易不再限于25个实体组
  • 所有查询现在都非常一致。

另请注意,Cloud Firestore无论模式是beta,因此新的Service-Level Agreement(SLA)在产品达到General Availability(GA)之前不会生效。

Original Answer

云数据存储(CD)和云Firestore(CF)类似,但在重要方面有所不同。

CF以移动为中心,直接来自移动客户端功能,具有Firebase SDK和规则功能。 CD是以服务器为中心的,具有更广泛的服务器客户端库,以及App Engine Standard上的一些成熟框架,这些框架捆绑了memcache功能。

CF有一个更新的存储层,与Cloud Spanner一样具有很强的一致性,但是,它仍处于测试阶段而没有SLA。 CD的存储层在实体组中只是非常一致,并且最终在实体组之间保持一致,但是,对于多区域位置,GA具有99.95%的SLA。

CF目前仅在美国多区域提供。 CD可用于十几个地点的云,包括美洲,欧洲,亚洲和澳大利亚的地方。

测试期间的CF有一个2500写入/秒的准则限制,而我们在GA之前构建体验监控和调整系统,而CD将很乐意处理> 1M写入/秒(尽管请首先联系您的帐户代表)。

CF和CD的查询功能集重叠但不相同。整体CD具有更广泛的查询功能,我们尚未在CF中构建,因此您可以更灵活地使用CD。

总的来说,我会考虑这个列表,看看是否有任何差异决定了你正在尝试构建的内容,然后选择最符合你需求的数据库。


6
投票

Firestore是第三代架构,是Datastore的替代品,主要有两种模式:Native模式和Datastore模式。

enter image description here

enter image description here


3
投票

我想说Datastore现在是Firestore的一个子集:

Cloud Firestore是Cloud Datastore的下一个主要版本,也是该产品的品牌重塑。 See Choosing between Cloud Firestore and Cloud Datastore

Cloud Firestore可以在“数据存储模式”下运行,使其向后兼容Cloud Datastore。在Cloud Firestore发布以获得一般可用性之后的一段时间,Google将开始联系现有Cloud Datastore数据库的所有者,以安排在数据存储模式下自动升级到Cloud Firestore。 See auto upgrade


0
投票

我认为云端防火墙也有nodejs客户端,而且它不以移动为中心。实际上,这就是Firebase实时数据库之间的区别,它是移动中心和云端Firestore,它是任何中心的。

© www.soinside.com 2019 - 2024. All rights reserved.