分布式存储对象详解(图文全面总结)

分布式是大型架构核心,下面我详解分布式存储对象@mikechen

HDFS

HDFS 是 GFS 的开源实现,也是 Apache Hadoop 核心组件。

核心特点: 专为高吞吐量设计,而非低延迟访问。采用 “一次写入,多次读取” (WORM) 模型。

架构: NameNode (元数据) + DataNode (实际数据)。默认块大小为 128MB。

分布式存储对象详解(图文全面总结)-mikechen

优势: 极强的横向扩展能力,能处理 PB 级数据,与 Spark、Hive 等大数据生态无缝集成。

局限: 无法像硬盘一样挂载(通常通过 API 访问);同样存在 NameNode 内存瓶颈。

 

GFS

GFS 是分布式存储的开山之作,它是 Google 为解决海量搜索数据存储而设计的底层文件系统。

分布式存储对象详解(图文全面总结)-mikechen

核心理念: 针对“超大文件”和“追加写(Append)”优化。

它假设硬件故障是常态,因此通过软件层面实现容错。

架构: Master-Slave 架构,一个 Master 节点管理元数据,多个 Chunkserver 存储 64MB 大小的分块。

特点: 它是闭源的,仅供 Google 内部使用,但其论文开启了整个大数据时代。

局限: 存在单点 Master 瓶颈,且不适合存储大量小文件(会导致元数据占用内存过多)。

 

Ceph

Ceph 不仅支持对象存储(RGW),还同时支持块存储(RBD)和文件存储(CephFS)。

核心原理: 采用 CRUSH 算法。

分布式存储对象详解(图文全面总结)-mikechen

它不依赖传统的元数据服务器,而是通过计算直接确定数据存放位置,从而彻底解决了元数据瓶颈。

优势:

统一存储: 一个集群搞定三种存储需求,运维更统一。

高可靠: 无单点故障,支持强一致性(Strong Consistency)。

生态极佳: 与 OpenStack、Kubernetes(通过 Rook)集成非常紧密。

劣势: 架构极其复杂,学习曲线陡峭,对小文件的处理性能相对一般。

 

FastTFS

这是一个纯国产、轻量级的分布式文件系统,专门为互联网应用优化。

核心特点: 专门解决海量小文件(如:头像、缩略图、短视频)的存取问题。

分布式存储对象详解(图文全面总结)-mikechen

架构:  Tracker (调度中心) 和 Storage (存储节点),不维护复杂的目录树,而是返回一个“文件索引”供前端访问。

优势: 极轻量,性能极高,没有 NameNode 那样的元数据压力,非常适合高并发的 Web 业务。

局限: 不支持标准的 POSIX 挂载,不支持目录操作,功能单一(仅限增删查)。

评论交流
    说说你的看法