摘要:随着互联网、大数据、云计算和人工智能等技术的发展,数据量呈爆炸式增长。
大家好,我是mikechen睿哥。
分布式存储技术是大型架构的基石,下面我重点详解分布式存储技术@mikechen
分布式文件存储
随着互联网、大数据、云计算和人工智能等技术的发展,数据量呈爆炸式增长。
传统的文件存储方式,难以满足日益增长的存储需求,它们通常面临扩展性差、单点故障、性能瓶颈等问题。
分布式文件存储应运而生,它通过将文件数据分割成小块,并存储在集群中的多台机器上。
从而实现了海量数据的存储,目前已成为构建可扩展、可靠的云计算平台、和大数据分析系统的基石。
HDFS
HDFS是Hadoop生态系统的核心组件之一,专为大数据存储而设计。
它采用Master-Slave架构,主要由以下几部分组成:
NameNode(主节点)
负责管理元数据(如文件目录结构、块位置、权限等),是整个系统的“调度大脑”。
DataNode(数据节点)
负责真正的数据存储,每个文件被切分为多个数据块(Block),分布在多个 DataNode 上。
客户端(Client)
通过 NameNode 获取元数据信息后,直接与 DataNode 通信,进行数据读写。
HDFS主要用于存储海量大文件,特别是那些需要进行大数据分析的文件。
作为Hadoop的存储层,支持MapReduce、Spark、Hive等大数据处理框架。
CephFS
CephFS 是 Ceph 提供的 POSIX 兼容的分布式文件系统,其架构基于 Ceph 的统一存储平台构建。
整体架构,如下图所示:
主要包含,如下组件:
RADOS(底层对象存储)
Ceph的底层存储引擎,负责所有数据的存储、复制、故障恢复和一致性保证。
所有实际的数据、和元数据块都存储在 RADOS 对象中,由 OSD 守护进程负责管理
OSD
Ceph集群中存储数据的基本单元,每个OSD管理一个本地磁盘上的对象集合。
OSD负责数据读写、副本管理、数据恢复等。
MDS(元数据服务器)
存储和管理CephFS的元数据(文件和目录结构、权限等)。
MDS不存储实际的文件数据,只管理文件的元信息。
与HDFS不同,CephFS更强调通用性,能更好地支持各种大小的文件和更频繁的修改操作。
GFS
GFS 是 Google 为大规模数据处理而设计的分布式文件系统,其架构影响了 Hadoop HDFS 的设计。
整体架构,如下图所示:
Master(主节点)
存储元数据,如文件目录、块映射关系。
ChunkServer(块服务器)
实际存储数据块(Chunk),每个块默认大小为 64MB,并有多个副本。
Client
与 Master 通信获取元信息,再与 ChunkServer 直接通信处理数据。
GFS设计之初的目标是支持Google内部的大规模、高吞吐量、追加写入的批处理应用。
比如:Web爬虫、索引构建等,它为大数据量、低成本、高可靠性的存储提供了解决方案。
TFS
TFS是阿里巴巴,针对其电商业务特点(特别是图片、音视频等海量小文件存储和访问),而开发的分布式文件系统。
TFS也采用了Master-Slave架构,并在此基础上进行了优化:
比如:淘宝图片,商品图片、用户头像…等等,被广泛部署在阿里系的多个核心业务中。
TFS的核心作用是:解决海量小文件的存储、和高并发访问问题。
以上
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
来源:小林论科技