写点什么

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

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

关注

评论

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

你是如何使用React高阶组件的?

beifeng1996

前端 React

从零到一手写迷你版Vue

helloworld1024fd

JavaScript 前端

从React源码来学hooks是不是更香呢

goClient1992

React

react的useState源码分析

flyzz177

React

巧妙利用“慧言”机器人在安全场景中实践

京东科技开发者

人工智能 AI 技术 场景需求

Python字符串和正则表达式的深入学习

Python 正则表达式 字符串

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue 前端

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue 前端

滴滴前端一面高频手写面试题汇总

helloworld1024fd

JavaScript 前端

用javascript分类刷leetcode13.单调栈(图文视频讲解)

js2030code

JavaScript LeetCode

巧用 ChatGPT,让开发者的学习和工作更轻松 | 社区征文

陈明勇

ChatGPT

ChatGPT:时代赋予的机遇 | 社区征文

石云升

人工智能 机遇 AIGC ChatGPT

从零开始实现一个Promise

helloworld1024fd

JavaScript 前端

带你实现react源码的核心功能

goClient1992

React

react源码分析:组件的创建和更新

flyzz177

React

限流算法及方案介绍

京东科技开发者

高并发 限流算法 高并发处理 限流熔断 企业号 2 月 PK 榜

从基础掌握Python的列表和元组

Python 列表 元组

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

2023前端vue面试题及答案

bb_xiaxia1998

Vue 前端

Python字典和集合初窥

Python 集合 字典

阿里前端二面react面试题

beifeng1996

前端 React

京东前端二面高频手写面试题(持续更新中)

helloworld1024fd

JavaScript 前端

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

react源码分析:深度理解React.Context

flyzz177

React

appuploader 上架详解大全(下)

雪奈椰子

iOS上架 描述文件打包

百度前端一面高频vue面试题汇总

bb_xiaxia1998

Vue 前端

Gateway集成Netty服务

Java 架构

全面了解Python的变量与基本数据类型

Python 变量 数据类型

appuploader上架详解大全(上)

雪奈椰子

iOS上架 ios打包 IPA上传 app证书

深度讲解React Props

夏天的味道123

前端 React

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