写点什么

谷歌对外发布了云 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:002089
用户头像

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

关注

评论

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

【架构实战营】模块一作业

liu🍊

在线中英文符号转换工具

入门小站

工具

【架构实战营】模块二

衣谷

架构实战营

中国互联网特有的产物--超级APP

Speedoooo

容器 ios开发 APP开发 APP安全 Andriod开发

架构实战营学习记录

王斌

云智慧开源数据可视化编排平台—FlyFish

云智慧AIOps社区

开源 大前端 低代码 数据可视化 JavaScrip

前端中常用的媒体查询详解,sass基础用法概览

你好bk

CSS html css3 大前端 SASS

模块二作业

bob

「架构实战营」

Vue进阶(幺伍贰):el-table-column :key 应用

No Silver Bullet

Vue 10月月更

要想下班早,微服务架构少不了

华为云开发者联盟

数据分析 数据 追溯

架构训练营第一章作业

颜本军

架构设计

架构实战营毕业总结

Abner S.

#架构实战营

[ CloudWeGo 微服务实践 - 01 ] 开篇

baiyutang

10月月更

江西交通学院98级校友登记小程序设计

CC同学

校友小程序

OpenYurt 深度解读|开启边缘设备的云原生管理能力

阿里巴巴云原生

阿里云 云原生 边缘计算 openyurt 管理能力

看动画学算法之:队列queue

程序那些事

Java 队列 看动画学算法 程序那些事

小程序与 H5、原生应用的对比

Speedoooo

容器 信息安全 ios开发 APP开发 Andriod开发

观察者网专访明道云CEO任向晖

明道云

linux之同时监控多个日志文件变化

入门小站

Linux

跨越行业绊脚石,阿里云函数计算发布 7 大技术突破

阿里巴巴云原生

阿里云 云原生 函数计算 重磅升级

架构学习日常记录

张靖

#架构实战营

看半小时漫画,通晓计算机基础

博文视点Broadview

海量数据分析快准稳!GaussDB(for MySQL) HTAP只读分析特性详解

华为云开发者联盟

MySQL 数据分析 GaussDB(for MySQL) HTAP 只读分析

ONES X 深圳农村商业银行 | 数字化项目管理实践

万事ONES

研发管理 SaaS 金融 ONES 数字化进程

论文解读丨表格识别模型TableMaster

华为云开发者联盟

文字识别 表格识别 TableMaster 文字检测 表格结构序列

LiveVideoStackCon2021 北京站专访:从上云到创新,视频云的新技术、新场景

阿里云视频云

阿里云 音视频 视频编码 视频编解码 视频云

什么是漏洞扫描?

华为云开发者联盟

工具 安全 漏洞 漏洞扫描 扫描

从没有人将代理模式分析得如此透彻

Tom弹架构

Java 架构 设计模式

Stratifyd整理:Forrester客户体验评估报告

聊聊Kubernetes Pod or Namespace卡在 Terminating 状态的场景

大卡尔

Kubernetes

小程序在APP上运行,安全且高效

Speedoooo

容器 ios开发 APP开发 Andriod开发

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