分布式文件存储详解(4大常用文件存储)

分布式文件存储是大型架构的基石,下面我重点详解分布式文件存储@mikechen

HDFS

HDFS:是大数据生态里的核心存储层,专为批处理、和海量数据存储设计。

HDFS,适合于:大数据存储与离线批处理,比如:日志、数据仓库、模型训练数据…等。

核心架构,如下图所示:

分布式文件存储详解(4大常用文件存储)-mikechen

NameNode:负责元数据管理(文件目录、块位置、权限等)。

DataNode:存储实际数据块(block),定期向 NameNode 汇报心跳与块信息。

Block:文件被切分为固定大小的 block(默认 128MB),并以副本(replication)方式存储在不同 DataNode 上以实现容错。

优势

与 Hadoop 生态(YARN、Hive、Spark 等)集成紧密。

不足

对小文件不友好(太多小文件会导致 NameNode 元数据压力大)。

 

Ceph

Ceph 是一个分布式存储系统,目标是提供统一的对象、块与文件存储接口。

整体架构,如下图所示:

分布式文件存储详解(4大常用文件存储)-mikechen

RADOS:底层可靠分布式对象存储,负责数据分布、复制/纠删码与自愈。

OSD(Object Storage Daemon):存储对象并处理数据复制、恢复、回填与 I/O。

优势

支持对象/块/文件三种接口,灵活性高(例如可为虚拟机提供块存储、为应用提供对象存储)。

无单点、自动数据分布与自我修复能力强。

不足

部署运维复杂,对运维和硬件要求较高。

延迟相对较大,不适合极端低延迟场景。

 

 

GlusterFS

GlusterFS 是一个开源的、软件定义的文件系统,它通过将现有存储服务器聚合在一起形成一个大型的、可扩展的存储池。

分布式文件存储详解(4大常用文件存储)-mikechen

与 HDFS 不同,GlusterFS 没有中心化的元数据服务器,这简化了管理并消除了单点故障。

易于部署与横向扩展(新增节点后可动态扩容)。

对文件共享、NFS/CIFS 替代、媒体服务等场景友好。

但是,性能在高并发小文件读写场景下可能不足,延迟与吞吐受限于实现与网络。

 

FastDFS

FastDFS 是一个轻量级、高吞吐量的分布式文件系统,专为在线服务而设计,尤其适合存储小文件和海量图片

分布式文件存储详解(4大常用文件存储)-mikechen

部署与学习成本低,面向小文件、并发读多写少的 Web 场景非常高效。

轻量级:系统设计简单,部署和维护相对容易。

高并发:针对小文件的并发读写进行了优化。

可以应用于:大量小文件的互联网服务(图片、缩略图、附件)、对延迟与吞吐有要求的静态资源存储。

评论交流
    说说你的看法