写点什么

谷歌对外发布了云 Spanner Beta 版

  • 2017-03-05
  • 本文字数:1083 字

    阅读完需:约 4 分钟

谷歌已经为她的全球分布式关系型数据库服务云Spanner 对外发布了Beta 版。作为谷歌云平台的一部分,它同时提供ACID 事务和高可用性,看起来像是颠覆了CAP 理论。

Spanner 已经在谷歌内部广为使用了,现在正在向公众开放。它是一个可管理的云数据库,可以作为谷歌云平台的一部分使用,而且不会涉及底层的基础设施。

Spanner 看起来和传统关系型数据库一样,有 ACID 事务、SQL、关系型模式等。但是,它是分布式的,在地理上跨谷歌基础设施,可以满足日益增长的更大事务处理量。除此之外,它还有强一致性,在提供数据服务时只有几毫秒的延迟。

CAP 理论证明一个数据库系统不可能同时满足以下三种特性:可用性、一致性和分区容忍性。关系型数据库倾向于牺牲可用性,而 NoSQL 数据库则用最终一致性换来了高可用性。

事实上 Spanner 也没有颠覆 CAP 理论,它只是在功能上看起来像是这样而已。谷歌基础设施副总裁 Eric Brewer解释到:

Eric Brewer:这意味着根据 CAP 的定义,Spanner 就是一个 CA 系统了吗?从技术上来说可以直截了当地回答“不是”,但从实际效果来说,却可以认为是“是”,用户可以认为它就是 CA 的而直接使用。

Brewer 总结道,在 Spanner 系统中,出现网络分区的可能性是 1 比 105。如果这种情况真的发生了,系统会选择一致性,从技术的角度看就是 CP 的。但是,由于这种可能性极低,所以也可以就认为它是可用的。

在 Brewer 的白皮书中,他解释这种级别的可靠性的基础在于Spanner 是运行在谷歌全球自建网络中的。Spanner 的网络包从来不会发到公共互联网中,而且由于冗余级别非常之高,像切断光纤之类的灾难性事件也不会导致断网。

还有一些第三方,比如 Cloudera 的分布式系统工程师 Henry Robinson 也认可这样的说法,他解释道:

Henry Robinson:可以从这个角度去考虑:CAP 理论告诉我们每个系统都会有她自己的阿基里斯之踵,或者说是软胁,这就意味着在一定时间之内要放弃 C 或者放弃 A。谷歌则把 Spanner 的软胁深深地埋在了某个黑洞里。

为了确保 ACID 特性,Spanner 实现了典型的分布式事务模型——两阶段提交。Brewer 解释说尽管这个模型要求所有的成员都必须在线,因此有些降低可用性,但 Spanner 通过使用一个 Paxos 组来绕过了这个问题,换句话说,当某些成员不在的时候,一个多数选举的结果也可以生效。

Spanner 也使用了谷歌的全球同步的锁 TrueTime。Brewer 说 TrueTime 同时使用了 GPS 接收器和原子时钟来保证时间的准确性。它可以正确地为分布式事务打上时间戳,从而保证外部一致性。

面向公众的云 Spanner 仍然是 Beta 版,现在还可以在线上免费试用

阅读英文原文 Google Launches Cloud Spanner Public Beta

2017-03-05 18:002696
用户头像

发布了 152 篇内容, 共 79.8 次阅读, 收获喜欢 64 次。

关注

评论

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

有趣、实用、全面,是程序员心中理想人工智能教材的样子了

图灵教育

深度学习 PyTorch

windows服务器是什么?运维管理用什么工具好?

行云管家

windows 服务器 自动化运维 服务器运维

IntelliJ IDEA开发最佳配置

爱好编程进阶

Java 程序员 后端开发

“银行家算法”大揭秘!在前端表格中利用自定义公式实现“四舍六入五成双”

葡萄城技术团队

银行家算法 纯前端表格技术

无形资产管理系统解决方案

低代码小观

资产管理 CRM 财务审核系统 CRM系统 企业管理软件

基于 FFI 的 PyFlink 下一代 Python 运行时介绍

Apache Flink

大数据 flink 编程 流计算 实时计算

美哭了,一款开发者必备的接口管理工具!

Liam

Postman 开发工具 API API接口管理 接口管理工具

Apache DolphinScheduler 2.X保姆级源码解析,中国移动工程师揭秘服务调度启动全流程

白鲸开源

Apache 大数据 开源 DolphinScheduler workflow

ansible template jinja2 渲染

ghostwritten

ansible

「码」力集结!他们用作品为FinClip黑客松打造出一道靓丽的风景线

Speedoooo

小程序 hackathon 黑客马拉松 黑客松 小程序容器

企业文档爆炸,如何管?

小炮

企业文档管理工具

等保三级全称是什么?是什么意思?

行云管家

网络安全 等级保护 等保三级 等保2.0

如何开发 LAXCUS 分布式应用软件(三):编写终端软件

LAXCUS分布式操作系统

集群架构 并行计算 端边云 分布式操作系统 分布式应用软件

FinClip+微幕小程序,助力企业全端公私域流量互通

Speedoooo

小程序 WordPress 移动开发 小程序容器

当.Net撞上BI可视化,这3种“套路”你必须知道

葡萄城技术团队

看板 数据大屏 BI数据分析

容器化 | 构建 RadonDB MySQL 集群监控平台

RadonDB

MySQL 数据库 容器化 RadonDB KubeSphere

netty系列之:我有一个可扩展的Enum你要不要看一下?

程序那些事

Java Netty 程序那些事 5月月更

IO流详细解答,博主亲自手敲代码,快速上手

爱好编程进阶

Java 程序员 后端开发

HIVE3 深度剖析 (上篇)

明哥的IT随笔

大数据 hie

还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠

葡萄城技术团队

ERP 全套信息化系统 二开

拿起手中的键盘做公益侠客,让你的第一个低代码应用为公益发光发热!

InfoQ写作社区官方

低代码 公益 大学生 热门活动 码上公益

Spring Security

Zhang

Java spring security

墨天轮访谈 | OceanBase 白超:海量数据管理,为什么选择OceanBase?

墨天轮

数据库 oceanbase 国产数据库

数据标准在网易的实践

网易数帆

大数据 数据仓库 数据治理 元数据 数据标准

无聊科技正经事周刊(第6期):纯粹的程序员与必然的中年危机

潘大壮

程序员 周刊 行业趋势 科技周刊

ansible 模块:set_fact

ghostwritten

ansible

ansible 模块:script

ghostwritten

ansible

萌新看过来,你还学不懂VScode插件吗?

葡萄城技术团队

报表

Hugging Face创始人亲述:一个GitHub史上增长最快的AI项目

OneFlow

人工智能 深度学习 nlp 开源社区

AIRIOT物联网低代码平台如何配置MQTT驱动?

AIRIOT

物联网 低代码平台 驱动配置

Go1.18泛型浅谈

CodeWithBuff

golang 泛型 新特性 Go 语言

谷歌对外发布了云Spanner Beta版_数据库_Andrew Morgan_InfoQ精选文章