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

Par*_*osh 22 firebase google-cloud-datastore google-cloud-platform google-cloud-firestore

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

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

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

作为反驳论点,流程图建议我使用数据存储区,因为我没有任何移动客户端.

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

Dan*_*ath 26

更新2(01/31/19)

截至今天,Cloud Firestore已不再处于测试阶段,并且通常可用:https: //cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-and-updates

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

更新1

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

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

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

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

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

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

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

另请注意,Cloud Firestore无论模式是否为beta,因此新的服务级别协议(SLA)在产品达到一般可用性(GA)之前不会生效.

原始答案

云数据存储(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.

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

  • Firestore是否可以替代Cloud Datastore?https://imgur.com/a/EWx5v (5认同)
  • @DimuDesigns丹的男人很好的回答:/sf/ask/3429462781/#48996103 (2认同)
  • 这现在是一个过时的答案。见下面我的 (2认同)
  • @trollkotze - 它们是过去几十年的标准软件术语,但您仍然是对的。我在第一次使用时扩展并链接到 GA 和 SLA 的详细信息。 (2认同)

Man*_*ham 8

Firestore是第三代架构,是Datastore的替代品,基本上可用于两种模式:纯模式和Datastore模式。

在此处输入图片说明

在此处输入图片说明