More than code

More Than Code
The efficiency of your iteration of reading, practicing and thinking decides your understanding of the world.
  1. 首页
  2. 未分类
  3. 正文

Colossus Notes

2024年8月3日 321点热度 0人点赞 0条评论

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/

标签: 暂无
最后更新:2024年8月3日

sheep

think again

点赞
< 上一篇
下一篇 >

文章评论

取消回复

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS