BT

你的观点很重要! 快来参与InfoQ调研吧!

Google发布文档数据库Firestore

| 作者 Abel Avram 关注 4 他的粉丝 ,译者 CarolGuo 关注 0 他的粉丝 发布于 2017年10月10日. 估计阅读时间: 3 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

Google发布了Cloud Firestore,它是用于移动、网络和服务器应用程序的文档数据库。

去年我们曾报道过Google Firebase,它是一种用于移动和网络开发的数据库,提供实时的和离线的数据访问,与许多Google服务相集成。他们现在推出了一个“全新的”产品Cloud Firestore,它是一种云端的NoSQL数据库,用于移动、网络和服务器应用程序。它的主要特性有:灵活的数据模型、复杂的查询、实时数据更新、支持离线访问、跨区域伸缩性、强大的一致性、批量操作、支持事务以及与Google生态系统其他部分(包括Cloud Functions)的集成。除了REST和RPC API,Firestore还提供Android、iOS (Swift和Objective-C)、JavaScript(包括Node.js)、Java、Python和Go的SDK。

看来,Google发布Firestore是希望解决Firebase的一些缺点,现在也被称为实时数据库(Realtime Database)。两种解决方案的主要区别是:

  • 数据模型。Realtime把数据放在JSON文件里,而Firestore引入了用集合来组织文档的概念。
  • 离线。 Firestore为网络应用程序添加了离线支持,而Realtime只支持移动应用程序。
  • 查询。由于用到了更好的数据模型,Firestore支持更复杂的和更快速的查询。
  • 操作。Firestore可以组合原子批次中的多个操作,并重复事务直到完成。
  • 区域。Realtime局限于单个地区中的一个区域,而Firestore可以跨越多个区域。
  • 可扩展性。 Realtime局限于10万个连接数和每秒1000次写入。可以通过数据库分片获得更高性能。Firestore在必要时会自动突破这些限制。
  • 安全。Firestore的数据访问控制更简单。

关于数据模型,Firestore把数据存入以集合来组织的文档中。每一个文档包含键值对,还可以有相关联的子集合。除了标准数据类型,如布尔型(boolean)、整型(integer)、浮点型(float)、字节(byte)、字符串(string)、地理位置(geo point)、日期(date)和时间(time)以及空值(null),Firestore还支持数组和Map,后者是一组嵌套的对象。该数据库是无模式的。

AngulaFire已经宣布支持Firestore,提供可观察的流(observable streams),可以集成到Angular应用程序中,包括动画、表单和路由器。Firestore目前正处于测试状态,使用它有一些限制。另外,它的定价与Realtime不同。

查看英文原文Google Announces Firestore, a Document Database


感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

占座 by 冯 光头

mark

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT