如何评价出现在 sigmod 2017上的最新 spanner 论文?

关注者
213
被浏览
4744

2 个回答

先说说总体感觉吧,比较惊喜的是有了比较普适性的 SQL, 而不是 2012 年的论文提到的 simple SQL,看起来从 Google F1 里面借鉴了大多数 SQL 特性,并辅以强大的工程实现。如为了解决频繁升级或者一些进程挂掉等问题,甚至很好的支持了 Query restart,工程上做得很细,但 SQL 优化器方面并没有做多少工作(论文也有提到),完成了 SQL 的完整性是第一步,后续工作应该会发力优化器了。


另外也公布了大概的集群数据规模,大概是几百 P 基本的数据。主要用户为 Adwords 和 Google play。


整体方向上,从原来的只考虑 OLTP 进化到同时支持 OLTP/OLAP 混合场景,这也是目前的一个主流方向,另外底层存储的数据格式从原来的行存到行列混合存(见原文引用的 PAX 格式的论文)。如果从 OLAP 的角度看,目前的 Spanner( 其实 TiDB 也是) 还比较弱,还没看到主流 OLAP 系统普遍采用的 JIT 以及向量化执行相关的内容。


个人最感兴趣的是新的存储格式,然而论文里面也只是寥寥数语,毕竟这个新的存储格式 2017 年上半年才上线,也就是作者开始写论文的时候也还没有实际使用中总结的经验。但仅仅管中窥豹而言,对 TiDB 有一定的指导作用,比如 MVCC 的数据分成两个文件存储, 一个 active file, 一个 inactive file,老的版本放在 inactive file, 以降低读放大,因为通常情况下我们读取的都是最新的版本,这样只需要读 active file 就行。

最惊喜的应该是AWS aurora的论文吧