加拿大伦敦华人网™

 找回密码
 注册
查看: 1707|回复: 0

所有系统技术人员都应该关注Google Spanner

[复制链接]

83

主题

84

帖子

0

精华

注册会员

Rank: 3Rank: 3

积分
177
威望
5 点
资产
950 金币
注册时间
2012-9-5
发表于 2012-9-27 20:33 | 显示全部楼层 |阅读模式
所有系统技术人员都应该关注 Google Spanner。如果你是工作涉及高扩展能力、高可用性的系统的程序员:大网站、云服务,或者12306,那你应该关注这个叫Spanner的项目。很多人应该已经知道Spanner了,这是一个多月前Google在OSDI会议上公开的一个分布式系统,不少人说了这个系统的好话,但是我认为你的关注多半还是不够。以下是两点原因:
' ^1 Z7 D2 }; b& E2 J$ y" c
. }" u4 F5 W* D$ m8 f( n5 z1. Spanner让NoSQL成了明日黄花。Spanner的特性可以认为是两个层次,上层是多数据中心自动同步(所谓全球分布,Globally-distributed),这个对大部分中国的企业可能目前阶段价值并不太大;而下层我认为非常具有实用价值,即一个可扩展、多版本、同步复制(synchronously-replicated)的数据库。这个很关键,为什么很关键?简单来说,Spanner填补了几十年来从文件系统到数据库,到NoSQL,留下的一个非常大的洞(下面说),一次性解决了一类困扰系统技术人员的问题。Spanner与各类数据系统的相对位置,可以用这样一张表粗略描述:
2 r8 k# d. N, \- o; S$ F. z( }7 T. S% e8 q* W$ N) P& c
- m4 E' l% @, a8 q  p  A6 a
7 M# G; x' v0 ]  w0 n0 Z/ T+ A
从这四类系统的历史演进来说,80年代现代关系数据库系统(DB2、Ingres)的成熟,是整个计算机行业的一大飞跃。而基于日志实现ACID事务,是这个飞跃的关键技术之一。然后,大家熟悉的故事是,90年代互联网出现后,对可扩展性要求越来越高,数据库技术又碰到危机,因此2005年以后才出现牺牲ACID事务,支持高可扩展性的一大批不同的NoSQL设计。这就是Spanner之前的历史,NoSQL打破了一定要ACID的定势思维,了不起,但毕竟大量应用需要ACID(比如所有涉及交易的,电商、支付、购票、广告...),那么Spanner的重要性,就是在于实现了这样一个很多人心里认为其实是做不到的事情。
2 X9 {" I  |4 @
+ \  l: B0 Q0 Z, u有人会说“这不就是分布式数据库/并行数据库,研究生时我就上过这个课啊”,说对了,而且Spanner用的还就是那书里的那些办法,什么二阶段提交、Paxos算法,当然还有自创的一些小trick。但奇特的是,互联网革命已经近20年,在Spanner之前还真就没有适合互联网应用的生产用分布式数据库系统,0个,没有。不得不说科研与产业脱节不单是中国的问题啊。这里可能有些做工作的方法论的东西可讨论。
$ M$ T8 c) A" @( m8 e1 u: I
  M3 a5 x) @% _/ |6 Y& _所以,Spanner不是另一个NoSQL系统,而可能是数据库界寻找的圣杯"Holy Grail"。Highscalability.com称Spanner为NewSQL(相对NoSQL),我觉得可能是个合适的此类系统的类别名。9 l+ ^, o& @/ u; w7 ~6 `

  u' `. r3 X+ ?& A0 H, W& ^. T2. 一年之后你将能用上Spanner。你说这东西好是好,但Google不让我们用啊。但别忘了,还有开源,我认为最快6个月,应该就会有部分实现Spanner设计的开源系统出现。Spanner的论文相对清楚,使用了很多标准算法与设计,系统在Google已经投入生产使用,并且这个系统效益巨大。因此,这些因素都使得开源实现的出现,只是一个时间问题,而且应该会比较快。# B( ~6 |) y7 v/ U8 u) \) L

9 k7 _$ H; c6 V: i& T1 o: h我看到有一个在复现的模式:在计算机领域内,大公司通过实际业务需求及大量投入,推动学科最前沿往前走,并将成果与行业和学术界共享,再通过开源实现带动整个行业。这样做的公司,并不只是Google一家。* ?7 G2 x+ Y5 e) t

) K; h0 D& G0 }2 c# P, L% f9 m所以,希望我说服了你,几年之后大规模的互联网应用,其实现将会比现在更简单,工作会更可靠,而这一切,将是感谢Spanner的贡献。虽然今天没有公开实现,但我们应该继续关注Spanner类系统。2 j# ^& w/ |: C. q' _
# l3 @/ X: \' ]5 R) ~
我在今年的互联网大会上分享,认为现在“任何创业公司都可以提供高质量云服务”,本文的观点是相关的,系统层的不断进度,使得应用与服务可以更容易开发,门槛不断降低。大公司、小公司需要适应这样的趋势,评估业务机会,挑选技术方案。
加拿大伦敦中文黄页
您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告合作(Contact Us)|关于我们|小黑屋|手机版|Archiver|加拿大伦敦华人网

GMT-4, 2024-5-3 15:57

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表