在近期 我看到过国外一个大牛开发的hpfs https://mp.csdn.net/mp_blog/creation/editor/139739977(请看我前面发的片文章)我瞬间就想到国内同类似产品 juicefs cubefs 这两个东西,当时这种产品出现我就有一个疑问,为什么要把元数据单独弄个数据库去存呢?你还要开发数据冗余机制去保护数据的安全和稳定性,存储数据的部分的底座本身就有数据副本机制和安全机制为啥 不直接存储到数据底座上呢?而且,经过二把刀开发的那些东西本身就是是个问题,如何保证元数据的安全?相比rados这种经过多年沉淀的对象存储,这种元数据与数据分离的方案的元数据的的稳定性和安全等同于专业选手9段与一个业余选手入门级的对比,把元数据存储到这样一个东西里本身就是把自身的数据安全和稳定交给了一帮卖二手的人手里。再说性能问题,元数据和数据分离就是把raft 理论做另一种简单分组进行分发,这个事情没任何新意,实际使用中这种并发真的很线性嘛?还有一些锁的问题无法回避,导致并发力度及其有限,很可能弄一大度分组 分发的并发的力度也才提升两三倍,再看看国际上是否看到这样的架构产品呢?几乎没有,为什么?因为这种架构带来的收益和你的产出完全不成正比,甚至是没任何价值的东西。而我看到hpfs这种架构的时候却是在实实在在的在解决问题,而不是制造问题,hpfs请看我前面的文章, hpfs https://mp.csdn.net/mp_blog/creation/editor/139739977(请看我前面发的片文章)
这位国外大牛就是把元数据的并发做的很完美,而且没有引入元数据安全的麻烦,直接把元数据存储到了rados上,这个方案是合理的。
再问一个题,cephfs客户端有cache吗?
答案是没有。难道cephfs那些在国际存储行业的大牛不知道在cephfs客户端使用cache会提高性能,让客户爽歪歪吗?有的客户端cache默认就十几,几百g内存,你的数据量小的客户 他做的后台存储 可能这辈子都不用打交道,就是个单机的内存存储软件,岂能不快?
答案是,他们当然知道,但是,他们也知道客户端引入cache会有很多问题是根本解决不了的,也是数据安全性的问题,不是简单的丢数据的问题,老鸟都知道我就不捅破了,也就是cephfs老外不想诈骗!
hofs url:
GitHub - ptozys2/hpfs