Google Cloud Datastore vs Firebase [关闭]


96

Google提供了两种基于云的数据存储服务:Google Cloud Datastore和Firebase(收购后)。虽然提供了典型的使用场景,以使开发人员能够在Google云平台提供的各种服务之间进行选择,但没有提及Firebase如何适应当前/将来的发展。

谁能对此事提供一些见解,并提供Google Cloud Datastore vs Firebase的典型用例?


2
我们还在此处提供了更多信息:cloud.google.com/storage-options
Dan McGrath

Firebase本身并不是数据存储服务,因为它包含一套产品,包括Cloud Firestore和用于数据库的Realtime Database,以及用于文件的Cloud Storage。
安迪·富斯尼亚克

@DanMcGrath 数据存储区不会显示在您共享的链接上的任何位置。还是我错过了什么?
罗尼·罗斯顿

@Ron,自发布之日起,改名为Cloud Firestore的Datastore的升级版本是GA,因此我们仅使用新名称。
丹·麦克格拉斯

@DanMcGrath继续。... URL cloud.google.com/datastore仍在宣传过时的系统,因此我不确定这笔交易是什么。谢谢。
罗尼·罗斯顿

Answers:



61

两种产品都有其优点和缺点。以下是使用其中一种的一些原因:

如果需要,请使用Firebase:

  • 没有自己的后端的数据库:Firebase SDK允许您在不运行自己的后端的情况下编写移动和Web应用程序。您可以直接从您的应用程序读取和写入Firebase数据库,而不需要服务器代码。数据库安全模型无需使用基于用户的服务器就可以进行细粒度的访问控制。
  • 实时数据:Firebase允许您监听数据上的更改,这使得编写某些类型的应用程序非常容易。协作文本编辑器就是一个很好的例子。
  • 一个简单的数据模型:Firebase数据库存储JSON。如果您知道JSON,就知道Firebase数据模型。
  • 受益于其他Firebase功能:例如,Firebase提供了与数据库配合使用的用户管理和身份验证

如果需要,请使用数据存储区:


1
它认为短语“没有您自己的后端的数据库”适用于两种服务。数据存储区是Google Cloud的一部分,您无需维护自己的服务器。至于后端逻辑,Datastore的大多数客户端库都是基于服务器的,但是,可以将其REST API用于移动和基于Web的应用程序。您甚至可以通过browserify运行Node.js客户端库,将其转换为基于Web的库。
TheAddonDepot '16

1
@DimuDesigns firebase DB具有安全规则,可以保护用户更新免于干扰您的数据。例如,删除其他人的数据。这意味着没有后端的数据库,您不需要后端来验证输入的有效性,而让客户端对gdatastore进行相同操作是不可接受的
Thaina

@DimuDesigns或jonnydee:数据存储区是否具有Firebase具备的所有功能以及为数据存储区列出的两项功能?或者至少,请回答,数据存储区是否也具有与Firebase相同的实时数据?
布莱恩·迪马斯

1
@BryanDimas数据存储本身不支持在数据更改时实时事件触发。但是,有一个功能称为“事务性任务入队”。它不是实时的,而是可行的选择。但是,已经有人在本地实现该功能的讨论:issuetracker.google.com/issues/62959790
TheAddonDepot

1
@BryanDimas这是一些有关“事务性任务入队”的文档的链接:cloud.google.com/appengine/docs/standard/python/ndb/…–
TheAddonDepot

14

firebase可以说是专门针对移动平台的。Google云是一种企业解决方案。

Firebase已开发出牢记Android,IOS,Web和Unity(游戏引擎)的SDK。您不需要网络服务器与其组件进行交互。它的SDK足以做到这一点。因此,无需花费Web服务器或应用程序服务器的费用。它具有实时数据库,您可以收听,并且速度非常快。

它具有云消息传递服务,身份验证,Lambda功能和大容量存储(与其他任何云一样)。它的文档非常简洁。因此,您无需浏览数千页即可了解任何典型的云服务,例如AWS或Google Cloud。我花了一个月的时间将我的游戏与AWS集成,但是花了我一个星期才与Firebase集成。


8

2017年10月更新(Firebase发布了Cloud Firestore):

应当指出,在最新版本的Cloud Firestore(测试版截至2017年10月)中,如果您使用Firestore产品,则johnydee提到的Datastore相对于“ Firebase”的优势现在已过时,因为它具有强大的查询功能和高度可扩展性。

这些产品(数据存储和Firestore)具有共同的根源,并且在同一项目中实际上只能使用一种。

如果将Firebase实时数据库与数据存储区进行比较,Johnny的答案仍然适用。


firestore是否支持数据存储区中可用的灵活的之字形合并合并之类的索引支持?就像cloud.google.com/appengine/articles/indexselection
user482594 '17

7

这个问题会在Google IO 2016中发布的最新版本的Firebase中自动得到解决,在该版本中,他们带来了Firebase与Google Cloud Platform之间的大规模集成。

请参阅https://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.html

现在,通过Firebase可以更轻松地访问所有Google Cloud Platform服务。Firebase访问实时数据库的方式也已扩展到Google Cloud Storage。许多Google Cloud客户端API(例如Google Cloud Messaging)已移至Firebase品牌。

显然,Firebase是Google打算通过客户端访问Google Cloud Services基础架构的前进方向。


2
Google Cloud Datastore是一个经过战斗的可扩展数据库,Firebase仅适用于小型应用程序(连接数少于1万的应用程序),并且具有定期的分片迁移停机时间
Mark Essel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.