three main building blocks:
* Colossus is our cluster-level file system, successor to the Google File System (GFS).
* Spanner is our globally-consistent, scalable relational database.
* Borg is a scalable job scheduler that launches everything from compute to storage services. It was and continues to be a big influence on the design and development of Kubernetes.
spanner放在这里让我感觉有点突兀。spanner难道是google内部的标准了?
btw,看了下google的基础架构下的基础软件方向
* Storage & Database
* Storage
* Cloud Storage,是OSS
* Nearline/Coldline 归档存储
* GFS,熟知的那个
* Colossus,GFS的后代,不过这里竟然没有下掉GFS,是下不掉了么。。
* Persistent Disk 块存储
* Database
* Bigtable,熟知的那个
* Megastore,Bigtable的后继,11年的paper
* Spanner,Megastore的后继
* CloudSQL,就是RDS了。我看的这里还没有说AlloyDB,估计再后面一代就是AlloyDB了
* Sstable,Bigtable的存储格式(这个竟然有一个组?)
* Cloud Datastore/Firestore,Megastore的云上版本
* Cloud Spanner,spanner的云上版本,应该就是ToB的吧
* Cloud Memorystore,云上的redis
* LevelDB,熟知的那个,这个为啥还有组。。
* Cloud Bigtable,云上的bigtable
* Data Infra
* Core System
* Networking
Colossus File System对应的是GFS的Master,然后D Server对应的是原本的Chunk Server
看一个博客里的介绍,这里colossus的设计和Tectonic应该类似,用的是一个可拓展的存储去存元数据。这里他是直接用了BigTable作为元数据存储。
不过这里的一个问题是,BigTable本身是依赖GFS的,所以也会有同样的单点问题:
* 解决方案是,二级索引,就用单点的GFS去支持元数据的存储
* 或者是不断递归,用更小的colossus去支持colossus
从博客中看,应该是用了更小的colossus去支持colossus,到最后面的元数据貌似是放到了Chubby上。
D Server不确定是直接写,但是写leader再写follower的那种方式。
然后这里custodians是负责后台维护的,比如做balance,以及复制副本什么的。
使用方式也是多租户的
基本上牛逼的功能也都有,比如把冷数据从SSD搬移到HDD什么的
貌似没有什么非常特别的,主要就是元数据存储的可拓展性了。
https://www.systutorials.com/colossus-successor-to-google-file-system-gfs/ 这篇文章提到了一些关键的点:
* client driven replication/encoding,基本暗示了是client去做的EC/复制,应该是类似pangu的那种写入方式了。WAS那种可能不算client driven
* colossus client,是最为复杂的地方,也契合上面说的
* curators,基于bigtable构建
* custodians,负责后台的管理任务,大家设计都比较类似
* mixing flash and disks 优化性能和成本
* multi-cell approach,在一组chunkserver上可以有多个GFS master,这里貌似和基于bigtable构建不太一样,而是说放了多个master在上面
*
GFS: Evolution on Fast-forward上也提到了,Google把GFS的master优化了很多,所以单master的设计才能维持这么长时间。他也提到这种做法和他们以往的做法是不同的,以往的做法是搞一个能work的东西出来,然后就针对scalability去优化了,并不会考虑单节点的性能。
Reference
https://cloud.google.com/blog/products/storage-data-transfer/a-peek-behind-colossus-googles-file-system
https://levy.at/blog/22
https://www.systutorials.com/colossus-successor-to-google-file-system-gfs/
文章评论