写点什么

Google 发布文档数据库 Firestore

  • 2017-10-09
  • 本文字数:1042 字

    阅读完需:约 3 分钟

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 )关注我们。

2017-10-09 19:004040
用户头像

发布了 21 篇内容, 共 95291 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

Redis 6.0 新特性篇:多线程网络模型全面解密

码哥字节

redis 多线程 IO多路复用 11月日更

2021社招阿里、腾讯、蚂蚁金服「4面」Java面试高频题分享

Java 程序员 后端

2021金三银四,献给程序员从入门到放弃的 Java 架构师面试题

Java 程序员 后端

2021春招Java后端开发面试总结:25个技术专题(最全面试攻略)

Java 程序员 后端

2021最新分享字节四面成功拿Offer!

Java 程序员 后端

22款终端生产力工具,效率飞起!

Java 程序员 后端

25 大 Java 后端面试指南,3000 道面试题解析

Java 程序员 后端

2年Java,面试蚂蚁金服总结

Java 程序员 后端

分片技术:如何解决区块链的性能问题?

CECBC

进击的Java(二)

ES_her0

11月日更

2021阿里大牛最新发布:Java高频面试题和核心技术(已涨薪6K)

Java 程序员 后端

21世纪什么最贵?“人才”看阿里大佬用一本书带你读懂TCP-IP协议

Java 程序员 后端

Prometheus HTTP API 查询(四)Target 和查询结果格式

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

2021总结全网最新、最全、最实用Java岗面试真题!已收录GitHub

Java 程序员 后端

2021美团高级工程师亲自汇总九大面试专题(附1000字解析)

Java 程序员 后端

2021,你还在写“赤裸裸”的API吗?(1)

Java 程序员 后端

2021,你还在写“赤裸裸”的API吗?

Java 程序员 后端

区块链之符号理论:抽象化和身份管理的必要条件

CECBC

为什么区块链和加密资产对于实现元宇宙很重要?

CECBC

2021最新分享成功入职阿里巴巴(口碑部门)面经

Java 程序员 后端

2021阿里巴巴钻石级级“Docker全线笔记”新鲜出炉

Java 程序员 后端

数字原生,创新生长|企业如何打造数字创新的“飞天梦”?

阿里巴巴云原生

阿里云 产品 云原生 双十一

2021最新分享“天猫”面经:10万字大厂面试总结

Java 程序员 后端

System.Text.Json 中的字符编码

喵叔

11月日更

2021最新分享成功入职腾讯(后台开发岗)面经

Java 程序员 后端

2021年备战金三银四:死磕“源码”篇(Java程序员必看

Java 程序员 后端

OpenVINO基于Tensorflow的模型训练及优化部署

IT蜗壳-Tango

11月日更

2021最新出炉BAT架构实战文档:多线程与高并发+分布式+微服务

Java 程序员 后端

架构训练营第 3 期模块三作业

吴霏

「架构实战营」

解决:interface conversion: interface {} is float64, not int

liuzhen007

11月日更

22道Java Spring Boot高频面试题

Java 程序员 后端

Google发布文档数据库Firestore_数据库_Abel Avram_InfoQ精选文章