BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

谷歌对外发布了云Spanner Beta版

| 作者 Andrew Morgan 关注 3 他的粉丝 ,译者 足下 关注 1 他的粉丝 发布于 2017年3月6日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

谷歌已经为她的全球分布式关系型数据库服务云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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT