写点什么

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

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

关注

评论

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

Angular 为什么要引入 injection token 的概念

汪子熙

前端开发 angular web开发 依赖注入 8月月更

kubernetes 常见架构图

CTO技术共享

开源 签约计划第三季 8月月更

GItHub又火了!2022最全 Java面试手册终于开源了,包含了29个知识点

Java工程师

Java 面试

Kubernetes 集群故障案例

CTO技术共享

开源 签约计划第三季 8月月更

架构实战营模块九作业

融冰

Kubernetes 怎么优雅升级

CTO技术共享

开源 签约计划第三季 8月月更

【ELT.ZIP】OpenHarmony啃论文俱乐部——学术科研方法论沉淀辑

ELT.ZIP

方法论 OpenHarmony ELT.ZIP 啃论文

关于在谷歌浏览器,vue-video-player 实现断点续播,currentTime不生效问题。

泉城老铁

Spring(一、快速入门)

开源 Spring5 8月月更

Kubernetes 部署策略

CTO技术共享

开源 签约计划第三季 8月月更

架构实战营毕业总结

融冰

Centos7安装系统安装docker

Geek_8d9022

2022秋招前端面试题(一)(附答案)

helloworld1024fd

前端面试

ES6新特性——generator

猫猫巧克力

8月月更

数字化转型怎么就那么的难?!

BizFree

数字化转型 工业互联网 智能制造

数据治理(一):为什么要数据治理

Lansonli

大数据 数据治理 8月月更

kubernetes日常命令

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes DevOps 工具

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 运维经验分享

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 开源未来

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes微服务框架

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 架构知识

CTO技术共享

开源 签约计划第三季 8月月更

2022秋招前端面试题(二)(附答案)

helloworld1024fd

前端面试

数据库日增20万条数据,用读写分离和分库分表加持破它

知识浅谈

8月月更

kubernetes灰度发布

CTO技术共享

开源 签约计划第三季 8月月更

【LeetCode】 数组中的字符串匹配Java题解

Albert

LeetCode 8月月更

SAP API 开发方法大全

汪子熙

API SAP abap 全栈开发 8月月更

Kubernetes 怎么调度管理CPU

CTO技术共享

开源 签约计划第三季 8月月更

Spring Cloud 入门 -- 搭建Eureka注册中心 实现服务者与消费者的服务调用

Bug终结者

Java 云原生 8月月更

Kubernetes 原生接口

CTO技术共享

开源 签约计划第三季 8月月更

纯色山鹪莺

猫猫巧克力

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