Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

分布式文件系统

存储的分布式化

高效存储的一些考虑:

  1. 很长时间没有人访问的老数据,怎么办?
  2. 是不是减少副本的同时,还能还原出数据?(例如,RAID)
  3. 数据压缩,平成好压缩效果与压缩/解压速度
  4. 数据的分层存储:根据数据的冷热来选择不同的存储介质(局部性原理),内存、硬盘(SSD、SATA)
  5. 存储与计算分离(底层基础:网络IO不再是瓶颈,而CPU性能、磁盘IO性能跟不上)

分布式存储引擎

主要解决数据如何拆分、数据如何冗余、数据如何定位的问题。

(1)parititioning 方式,即数据在逻辑上怎么切分

(2)localization 方式,即数据在物理上怎么分布

一个系统要想拥有高可用性,有且只有一个办法 — 副本(replication),因为物理故障是无法避免的,只能花钱做备份。

主从和时效性是 replication 要考虑的两个重要问题。

主从主要有单主、多主和无主三种方式。

时效性主要有同步、异步、半同步三种方式。

(3)rebalance 方式,即在节点数变化后,数据在物理上怎么重新分布.

分布式文件系统

按照Block拆分文件,然后通过一个管理员来管理Block到对应及其的映射关系。

新的问题:
如果存储block的机器挂了怎么办? 如果管理员挂了怎么办?

参考:https://zhuanlan.zhihu.com/p/141775358

你的支持是我坚持的最大动力!