写点什么

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:004248
用户头像

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

关注

评论

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

moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解

老猿Python

Python 编程语言 音视频 Moviepy

Wireshark数据包分析学习笔记Day19

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

开启Python学习之旅,分享学习路上的神器集合!

王小王-123

Python 学习 资源分享 工具分享

如何减少加班导致的离职?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

去了解一下区块链

空城机

区块链 笔记 区块链发展

区块链下乡

CECBC

区块链

Three.js杂记(十一)—— 精灵与粒子(绘制中国地图)

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

教你如何用霍夫变换完成扭曲车牌识别

程序媛观澜

机器学习 图像识别

「产品经理训练营」作业 06:用户路径地图与漏斗模型

狷介

产品经理训练营

时间复杂度总结

我是程序员小贱

3月日更

Python-计算机视觉-OpenCV-video

Aldeo

Python OpenCV Video

【Axure9百例NO.45】中继器的不同场景下的样式处理

zhuchuanming

原型设计 Axure 交互原型

moviepy简介及安装

老猿Python

Python 编程语言 音视频 Moviepy PyQt

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

比伯

Java 编程 架构 面试 程序人生

区块链圈频现百万元年薪招聘 现金+股票仍难觅良才

CECBC

区块链人才

Kubernetes认证管理员

云原生

Kubernetes 云原生 k8s CKA

(Day30) 谁来驱动变革

mtfelix

28天写作 bewriting

Three.js杂记(九)—— 练习:地球

空城机

大前端 WebGL 3D可视化 three.js

DCGM:监控Kubernetes集群的GPU资源

DCOS

kubernetest

moviepy音视频剪辑:moviepy中的剪辑基类Clip的属性和方法详解

老猿Python

《Redis 核心技术与实战》学习笔记 07

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

面试拜佛保过?圈内罕见阿里面试官手册,2021最强面试笔记非它莫属

Java 程序员 架构 面试

Three.js杂记(十)——贴图

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

Python API 邮件发送测试

HoneyMoose

域名和服务器的购买和配置

空城机

阿里云 轻量级服务器 云翼计划

渣硕试水字节跳动,本以为简历都过不了,123+HR面直接拿到意向书

Java 程序员 架构 面试

Three.js杂记(十一)—— 精灵与粒子(绘制中国地图)

空城机

大前端 WebGL 3D渲染 3D可视化 three.js

纸币会消失吗:数字货币如何走进我们生活

CECBC

货币

产品经理能力不够,产品方法论来凑

lenka

3月日更

中国最可靠的 Go 模块代理

happlyfox

学习 3月日更

uni-app跨端开发H5、小程序、IOS、Android(七):uni-app渲染

黑马腾云

html5 uni-app 大前端 3月日更

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