更新 2 (01/31/19)
从今天开始,Cloud Firestore 不再处于 Beta 版,而是普遍可用:
https://cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-and-updates
这意味着 Cloud Datastore 不再是新项目的选项(您可以继续在现有项目中使用它)。想要使用 Datastore API 的新项目可以在 Datastore 模式下使用 Cloud Firestore。
更新 1
正如您所注意到的,自发布此问题以来,我们已经扩展了 Cloud Firestore。
这意味着 Cloud Firestore 现在有 2 种模式:
- 最初的发布是“原生模式”
- 新版本增加了“数据存储模式”
“数据存储模式”是第三代 Cloud Datastore。第一个称为 Master/Slave Datastore,第二个是 High-Replication Datastore (HRD),在 2013 年更名为 Cloud Datastore。
以下答案仍然很重要,因为这两种模式目前是互斥的,因此您需要选择其中一种。
主要区别在于 Cloud Firestore 在 Datastore 模式下对 Cloud Datastore 的改进。最大的是:
- 现在每个实体组的写入吞吐量不受限制(原为 1 次写入/秒)
- 事务不再限于 25 个实体组
- 现在所有查询都高度一致。
另请注意,无论模式如何,Cloud Firestore 都是测试版,因此新的Service-Level Agreement (SLA) 在产品达到General Availability (GA) 之前不会生效。
原答案
Cloud Datastore (CD) 和 Cloud Firestore (CF) 相似,但在显着方面不同。
CF 以移动设备为中心,具有 Firebase SDK 和规则功能的直接移动客户端功能。 CD 以服务器为中心,包含更广泛的服务器客户端库,以及一些基于 App Engine Standard 的成熟框架,这些框架捆绑了 memcache 功能。
CF 有一个更新的存储层,它与 Cloud Spanner 一样具有高度一致性,但是,它仍处于测试阶段,没有 SLA。 CD 的存储层仅在实体组内高度一致,并最终在实体组之间保持一致,但是,它是 GA,多区域位置的 SLA 为 99.95%。
CF 目前仅在美国多区域可用。 CD 可在包括美洲、欧洲、亚洲和澳大利亚在内的十几个地点使用云。
测试期间的 CF 有 2500 次写入/秒的指导限制,而我们在 GA 之前积累了监控和调整系统的经验,而 CD 将很乐意处理超过 100 万次写入/秒(不过请先联系您的客户代表)。
CF 和 CD 的一组查询功能重叠但不相同。总体而言,CD 具有我们尚未在 CF 中构建的更广泛的查询功能,因此您可以在 CD 中拥有更大的灵活性。
总的来说,我会考虑这个列表,看看是否有任何差异会影响或破坏您正在尝试构建的内容,然后选择最适合您需求的数据库。