tro*_*tze 5 google-cloud-datastore google-cloud-firestore
Google Cloud Firestore即将取代旧版Google Cloud Datastore。然后,可以选择在“本机模式”或“数据存储模式”下使用Cloud Firestore。前者允许通过常规的Firestore SDK访问Firestore,而后者则允许使用旧的Cloud Datastore SDK(不具有Web / Mobile API)。
我还不熟悉Firestore。我的问题是:除了将内容移植到新的API之外,实际上还有任何在“本机模式”下使用Firestore无法完成的事情,这可以通过旧的Cloud Datastore(或其替代:在“数据存储模式”下使用Firestore完成) )?还是使用“数据存储模式”的其他优势(例如成本)?
如果没有,那么除了使用旧的Cloud Datastore兼容旧代码外,似乎在“数据存储模式”下使用Firestore实际上没有任何优势。
在我的假设是公司的FireStore“数据存储模式”绝对没有好处除了能够使用传统的数据存储API(在成本我说得对不对不能够使用新的和公司的FireStore API,包括移动和网络可能更丰富的功能蜜蜂)?
Xav*_*iet 14
即使对于新项目,使用“数据存储模式”也有优势。
我正在为 MySQL 的迁移项目评估 Firestore“数据存储模式”和“本机模式”的两种模式。
一方面,我考虑对一个后端全局存储库使用“数据存储模式”,因为:
另一方面,“本机模式”似乎适合面向特定应用程序的用户的一些要求,因为:
虽然,有一个原因提倡第二个项目使用 Datastore 模式
这两种模式还满足了共同的需求,支持迁移到 NoSQL 技术的决定
第 2 至 5 项和第 10 项基于特定于数据存储模式的功能,在本机模式下无法实现。项目 6 到 9 特定于本地模式。
更新:2019 年 3 月 21 日
在我的第一个答案中描述的评估六个月后,我的团队同时使用 Firestore(本机)模式和 Datastore 模式。
2个基于Firestore的项目。我们使用了很多集合、子集合和文档的概念,以及数据的不可分割的隔离。我们还在 iOS 和 Android 应用程序中为根据强大的业务和安全规则选择的子集合实施了侦听器,这在 Datastore 中是不可能的。
9 个基于 Datastore 的项目。对于其中的三个 3,我们使用了很多命名空间和种类的概念。我们还使用种类属性的全局索引和服务器端属性的投影,这在 Firestore 中是不可能的。
PS:我们正在考虑开源我们的 Python 库,以便快速开发在 Firestore 和 Datastore 上运行的通用 API。
小智 6
成本。
数据存储区模式下的Firestore与原始数据存储区一样,仅支持键查询和投影查询。这意味着这些查询的结果集计入免费的“ Cloud Firestore小型操作”中。我们每天会累积数十亿次这样的小操作,而没有投影查询实际上将是我们数据存储成本的10倍,这是无法承受的。
由于此功能在Firestore纯模式中不可用-并且还添加了强大的一致性-我们希望它的性能不如原始数据存储中的性能好,但在我们的测试中并非如此。在所有类型的操作中,数据存储模式下的Firestore始终能够为我们的应用程序带来大约两倍的速度。
根据官方文档,虽然Cloud Firestore向后兼容Cloud Datastore,但新的数据模型、实时更新以及移动和Web客户端库功能则不然。
数据存储模式下的 Cloud Firestore 使用 Cloud Datastore 系统行为,但访问 Cloud Firestore 的存储层,从而消除了以下 Cloud Datastore 限制:
数据存储模式会禁用与 Cloud Datastore 不兼容的 Cloud Firestore 功能:
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |