写点什么

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

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

关注

评论

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

百问百答第45期:应用性能探针监测原理-node JS 探针

博睿数据

自动化 博睿数据 性能检测 百问百答 智能运维AIOps

超高效!Swagger-Yapi的秘密

百度Geek说

后端 swagger

第五届 Polkadot Hackathon 创业大赛全程回顾,获胜项目揭秘!

One Block Community

区块链 科技

购买小间距LED显示屏的三个建议

Dylan

LED显示屏

龙蜥社区第九次运营委员会会议顺利召开

OpenAnolis小助手

阿里云 开源 龙蜥社区 运营委员会 运营代表

激动人心!2022开放原子全球开源峰会报名火热开启!

kk-OSC

开源 开发原子全球开源峰会 开源峰会

小红书自研KV存储架构如何实现万亿量级存储与跨云多活

小红书技术REDtech

存储 分布式KV 跨云多活

基于OpenHarmony的智能金属探测器

OpenHarmony开发者

OpenHarmony

居家办公那些事|社区征文

CrazyGeek1996

居家办公 社区征文 7月月更

NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?

NFT Research

区块链 NFT

《信息系统项目管理师》备考笔记---信息化知识

IT蜗壳-Tango

软考 7月月更 信息系统项目管理师

【Python技能树共建】python urllib 模块

梦想橡皮擦

Python 7月月更

ACID事务理论

源字节1号

软件开发

《2022年中国银行业RPA供应商实力矩阵分析》研究报告正式启动

易观分析

银行用户

手把手带你入门Apache伪静态的配置

迷彩

Apache SEO伪静态 7月月更

如何让全彩LED显示屏更加节能环保

Dylan

LED LED显示屏

IPv6与IPv4的区别 网信办等三部推进IPv6规模部署

郑州埃文科技

ipv6 ipv4 IP地址

分类TAB商品流多目标排序模型的演进

得物技术

算法 得物

7 大主题、9 位技术大咖!龙蜥大讲堂7月硬核直播预告抢先看,今天见

OpenAnolis小助手

云原生 技术干货 龙蜥大讲堂 7 月预告 精美周边

什么叫做信息安全?包含哪些内容?与网络安全有什么区别?

行云管家

网络安全 信息安全 数据安全

【云资源】云资源安全管理用什么软件好?为什么?

行云管家

云计算 安全管理 云资源

OpenHarmony应用开发之Navigation组件详解

坚果

HarmonyOS OpenHarmony 7月月更

Spring Cloud源码分析之Eureka篇第二章:注册中心启动类上的注解EnableEurekaServer

程序员欣宸

Java spring SpringCloud 7月月更

Web3基金会「Grant计划」赋能开发者,盘点四大成功项目

One Block Community

区块链+

如何将 DevSecOps 引入企业?

SEAL安全

DevOps DevSecOps DevSecOps和敏捷

spark调优(一):从hql转向代码

怀瑾握瑜的嘉与嘉

spark 7月月更

程序员内卷和保持行业竞争力

沃德

程序员 7月月更

谈谈对Flink框架中容错机制及状态的一致性的理解

百思不得小赵

flink 容错机制 状态 7月月更

不要再说微服务可以解决一切问题了!

博文视点Broadview

C++|TCP客户端中发送文件

中国好公民st

c++ TCP通信 7月月更

leetcode 10. Regular Expression Matching 正则表达式匹配 (困难)

okokabcd

LeetCode 动态规划 数据结构与算法

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