写点什么

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

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

关注

评论

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

几种常用设计模式的简单示例

编程三昧

JavaScript 大前端 设计模式 8月日更

四种常见的 POST 提交数据方式

一个大红包

8月日更

模块五作业

seawolflin

架构训练营

Golang协程之了解管道的缓存能力

Regan Yue

协程 Go 语言 8月日更

JAVA 规范

gin

观察者模式

wzh

面试 设计模式 观察者模式

策略模式

wzh

面试 设计模式 策略模式

Android开发:新建后缀为txt的文件并且使用的步骤

三掌柜

8月日更 8月

如此爱国,必然自毁长城

箭上有毒

8月日更

手撸二叉树之合并二叉树

HelloWorld杰少

8月日更 数据结构算法

vue入门:vuex概括与使用

小鲍侃java

8月日更

java操作sql server数据库

Python研究者

8月日更

Vue进阶(五十四):vue-cli 脚手架 dev-server.js 配置文件详解

No Silver Bullet

Vue 8月日更

JVM GC机制

wzh

面试 JVM 垃圾回收 GC GC Root

JVM内存划分

wzh

面试 JVM 方法区

Go- 字符串

HelloBug

索引 字符串 Go 语言 拼接 长度

装饰器模式

wzh

面试 设计模式 装饰器

Android EditText输入框实现下拉且保存最近5个历史记录

Andy阿辉

android Android 小菜鸟 编程思想 8月日更

ShardingSphere源码解析 初步准备

Java 源码 ShardingSphere

【布道API】权限错误码选择:401、403 或 404

devpoint

HTTP Authorization REST API 8月日更

Java web程序的运行时环境

wzh

Java tomcat 面试 Web JVM

类加载机制

wzh

Java 面试 JVM 类加载器 JVM类加载

使用Redisson优雅关闭订单

码农参上

redission 8月日更

@ConditionOnClass的使用

Rubble

8月日更

IDEA2020.1构建Spring5.2.x源码

4ye

Java spring 源码 后端 8月日更

Android.mk

Changing Lin

8月日更

Java技术开发专题系列之【Guava Collections】实战使用相关Guava不一般的集合框架

码界西柚

Java Guava 8月日更 Guava Collections

为了完成小姐姐安排的打分系统,又熬了一个小时的夜补充视图与模板

梦想橡皮擦

8月日更

Nginx-基本概念和使用

Rubble

8月日更

kubernetes/k8s CNI 分析 - 容器网络接口分析

良凯尔

Kubernetes 源码分析 Kubernetes Plugin #Kubernetes# cni

回调模式

wzh

面试 设计模式 回调函数

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