分布式存储系统详解(图文全面总结)

开发 架构
GFS(Google File System),是 Google 为了满足其大规模分布式计算需求,而设计的分布式文件系统。GFS 设计的核心目标之一是处理大规模的文件和数据集,能够支持大吞吐量的数据读写。

分布式存储

分布式存储:是一种将数据分散存储在多个独立的物理设备上的技术。

通过将数据分散到多个节点上,能够提供高可用性、高可靠性、可扩展性和高性能的存储服务。

分布式存储,适用于大数据存储、云存储、CDN、备份与灾难恢复...等多个领域。

比如:日志数据、传感器数据、Web 日志、大型数据库...等。

分布式存储系统

常见的分布式存储实现技术,有GFS、HDFS、Ceph...等。

GFS

GFS(Google File System),是 Google 为了满足其大规模分布式计算需求,而设计的分布式文件系统。

GFS 设计的核心目标之一是处理大规模的文件和数据集,能够支持大吞吐量的数据读写。

GFS 是一个分布式系统,采用主从架构。

图片图片

Master节点

Master 是 GFS 的核心组件,负责维护文件系统的元数据。它维护着以下信息:

  • 文件到块的映射表(File-to-block mapping)。
  • 每个块的位置(Block location)。
  • 文件的元数据(如大小、访问权限等)。

ChunkServer节点

存储文件块,负责数据的读写。

客户端

提供文件系统的接口,与Master和ChunkServer交互。

在 Google 的生产环境中,GFS 主要用于存储大文件(通常是几百 MB 到几 GB 的文件),并且能处理文件大小不可预测的情况。

HDFS

HDFS 采用了类似 GFS 的设计,旨在存储大规模的文件数据,特别适用于大数据处理和分析任务。

HDFS 适用于存储大规模数据,尤其是对大数据处理框架(如 MapReduce)中的数据存储与访问非常高效。

HDFS 包含两个主要组件:

图片图片

NameNode

负责管理文件系统的元数据,包括文件和目录的层次结构,以及文件块的位置。

DataNode

实际存储数据块,负责执行数据的读取与写入操作。

HDFS 支持对大文件(通常是 GB 、或 TB 级别),进行高效的存储和处理,数据块的大小默认为 128MB。

Ceph

Ceph作为一款成熟的分布式存储系统,在性能、可靠性、可扩展性等方面表现出色。

随着云计算、大数据等技术的不断发展,Ceph的应用场景也将越来越广泛。

图片图片

Ceph可以同时扮演对象存储(RADOS)、块存储(RBD)和文件系统(CephFS)的角色,满足各种应用场景的需求。

Ceph 的对象存储模型基于 CRUSH(Controlled Replication Under Scalable Hashing)算法,进行数据分布,具有很好的可扩展性。

CRUSH算法能够感知集群中的故障域,确保数据的高可用性。

FastDFS

FastDFS, 是一个开源的轻量级分布式文件系统,专注于高效的文件存储、文件分发以及高可用性

图片图片

FastDFS 的部署与维护相对简单,适合快速搭建、和使用。

FastDFS 采用轻量级设计,专注于文件存储和高效访问,尤其适合存储大量图片、视频等大文件。

尽管分布式存储技术已经广泛应用,但它依然面临着数据一致性、存储成本、网络延迟。。。等挑战,需要不断优化和创新。

责任编辑:武晓燕 来源: mikechen的互联网架构
相关推荐

2025-01-15 08:34:00

分布式事务服务

2024-11-06 12:29:02

2017-04-14 09:48:25

分布式存储系统

2019-07-05 15:01:32

区块链系统分布式存储

2018-09-29 14:08:04

存储系统分布式

2017-07-18 09:51:36

文件存储系统

2017-10-16 10:24:47

LogDevice存储系统

2017-10-17 08:33:31

存储系统分布式

2017-12-18 10:47:04

分布式存储数据

2018-11-20 09:19:58

存储系统雪崩效应

2017-10-12 09:36:54

分布式存储系统

2017-10-19 08:45:15

存储系统HBase

2019-10-15 10:59:43

分布式存储系统

2018-05-10 09:34:21

spark存储系统

2019-05-13 15:20:42

存储系统算法

2021-07-04 07:07:06

Ceph分布式存储架构

2018-10-29 12:42:23

Ceph分布式存储

2010-07-02 10:08:12

BigtableGoogle

2014-02-19 11:37:57

分布式对象存储Sheepdog

2021-08-07 05:00:20

存储系统
点赞
收藏

51CTO技术栈公众号