【mysql】【newsql】谷歌spanner

简书上的总结,还不错

https://www.jianshu.com/p/6ae6e7989161

官方report的中文版

http://dblab.xmu.edu.cn/post/google-spanner/

简单的总结

https://blog.csdn.net/heiyeshuwu/article/details/8619357

 

 

每个spanner的数据是以tablet文件进行保存, 一个spanner有多个tablet,数量在至少在100+

tablet是物理存在的文件,底层是colossus,即第二代的GFS。

一个tablet,对应一个paxos group,即会有一个paxos状态机。

 

每个tablet中包含多个抽象桶,名字叫directory

每个directory内部的key的前缀是一样的,也就是bucket名字;但是每个directory的前缀可以不一样

spanner对数据的移动,最小单元就是directory,这样就可以把一些数据从一个paxos group移动到另外一个group。

物理上,即从一个tablet中,移动到另外一个tablet中。

 

这一点和之前的bigTable有所不同,bigTable中的每个tablet都具有相同的前缀,即bucket名字,即一个tablet内部的每个kv record都是顺序的。

但是spanner内部的tablet中的directory内部是顺序的,但是每个directory之前是不同的。

 

posted @ 2019-05-25 22:48  wind_land  阅读(298)  评论(0)    收藏  举报