首页>>科技 >>内容

分布式存储的体系结构,主流的分布式存储框架有哪些

发布时间:2023-09-13 14:38:40编辑:温柔的背包来源:

很多朋友对分布式存储的体系结构,主流的分布式存储框架有哪些不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

分布式存储的体系结构,主流的分布式存储框架有哪些

随着现代社会信息技术的发展和人类生活的智能化,全球数据量正在无限膨胀和增长。传统存储虽然具有技术成熟、性能好、可用性高的优势,但在海量数据面前,其可扩展性差、成本高等缺点也越来越明显。

为了克服上述缺点,满足海量数据的存储要求,市场上出现了分布式存储技术。分布式存储的兴起与互联网的发展密不可分。互联网公司由于其大数据、轻资产的特点,通常使用大规模分布式存储系统。本文将和读者聊聊目前市面上一些主流的分布式存储框架。分布式存储技术。什么是分布式存储?

在了解什么是分布式存储之前,我们先来看看几十年来的存储通史。直连存储(DAS):存储和数据直连,扩展性和灵活性差。集中存储(SAN、NAS):设备类型较多,通过IP/FC网络互联,具有一定的扩展性,但受限于控制器的能力。同时,设备在生命周期结束时需要更换,数据迁移需要大量的时间和精力。

分布式存储:基于标准硬件和分布式架构,可实现千节点/EB级扩展,可统一管理块、对象、文件等各类存储。分布式存储就是将数据存储在多个存储服务器上,用这些分散的存储资源组成一个虚拟的存储设备。事实上,数据存储在企业的每个角落。

打个简单的比方,把数据比作货物,把仓储比作货车,直接仓储相当于用普通货车拉货;为了提高拉货效率,用大货车拉货,相当于集中仓储;现在因为货物太多,大货车不够拉所有的货。而是用分段连接的列车来拉货。这是分布式存储。

分布式系统的出现是为了完成单台计算机用普通机器无法完成的计算和存储任务,目的是用更多的机器处理更多的数据。

2.分布式存储的优势可以扩展:分布式存储系统可以扩展到数百甚至数千个这样的集群规模,系统整体性能可以线性提升。低成本:分布式存储系统的自动容错和自动负载平衡允许在低成本服务器上构建分布式存储系统。此外,线性可扩展性还可以增加和降低服务器的成本,实现分布式存储系统的自动化运维。

高性能:无论是单个服务器还是分布式存储集群,分布式存储系统都需要高性能。分布式存储框架分布式存储技术的实现往往离不开底层的分布式存储框架。按其存储类型可分为块存储、对象存储和文件存储。在主流的分布式存储技术中,HDFS属于文件存储,Swift属于对象存储,Ceph可以支持块存储、对象存储和文件存储,所以被称为统一存储。1.HDFS

HDFS是Hadoop的核心组件之一,是分布式计算中数据存储管理的基础。它被设计为适合在通用硬件上运行的分布式文件系统。1.1功能模块客户端

客户端是用户与HDFS交互的一种方式。当一个文件被上传到HDFS,客户端将文件切割成块并上传。客户端通过与NameNode交互获取文件的位置信息;与DataNode交互以读取或写入数据;客户端还可以提供一些命令,如NameNode格式化来管理HDFS;同时,客户端可以通过添加、删除、修改和检查HDFS来访问HDFS。NameNode

NameNode是HDFS的主要架构,它维护文件系统树和整个树中的所有文件和目录。在HDFS文件系统中,NameNode处理客户服务的读写请求,管理数据块的映射信息,配置复制策略。DataNodeNameNode给出命令,DataNode执行实际操作。DataNode表示实际存储的数据块,也可以对数据块执行读写操作。辅助NameNode

次NameNode的作用主要是辅助NameNode,分担其工作量。在紧急情况下,它可以帮助恢复NameNode,但不能代替NameNode提供服务。1.2的优势1。容错:自动保存多个数据副本。通过增加副本的形式,提高了容错能力。如果其中一个副本丢失,它可以自动恢复。2.可以处理大数据:可以处理数据规模为GB、TB甚至PB的数据;能够处理超过一百万个文件。

3.它可以构建在廉价的机器上,通过多拷贝机制可以提高可靠性。1.3的缺点1。不适合低延迟数据访问:比如毫秒级存储数据是不可能的。2.无法高效存储大量小文件:如果存储了大量小文件,那么在NameNode中会占用大量内存来存储文件目录和块信息。这是不可取的,因为NameNode的内存总是有限的。同时,小文件存储的寻址时间会超过读取时间,违背了HDFS的设计目标。

3.不支持并发写入和随机文件修改:只能写入一个文件,不允许多个线程同时写入。仅支持数据追加,不支持文件的随机修改。2.Swiftswift始于2008年,最初是Rackspace开发的分布式对象存储服务,并于2010年贡献给OpenStack开源社区。现在已经部署到大规模公有云的生产环境中。2.1 swift的功能模块

Swift采用完全对称、面向资源的分布式系统架构设计,所有组件均可扩展,避免因单点故障影响整个系统的可用性。代理服务器(proxy service):向外界提供一个对象服务API。代理服务器会先通过环找到被操作实体的物理位置,然后将请求转发给对应的账户、容器或对象服务。认证服务器:验证用户的身份信息并获得访问令牌。

缓存服务器:缓存令牌、帐户和容器信息,但不缓存对象本身的数据。帐户服务器:帐户服务器是存储节点中的一个服务进程,负责处理帐户的get、head、put、delete和relication请求。一种服务,提供帐户元数据和统计信息,并维护所包含容器的列表。

容器服务器:容器服务器是存储节点中的一个服务进程,负责处理容器get、head、put、delete和relication请求。一种服务,提供容器元数据和统计信息,并维护所包含对象的列表。对象服务器:对象服务器是一个简单的BLOB存储服务器,它可以存储、检索和删除存储在本地设备中的对象。提供对象元数据和内容服务,每个对象将作为文件存储在文件系统中。

Replicator(复制服务):检测本地副本和远程副本是否一致,采用推式(Push)更新远程副本。

Updater(更新服务):对象内容的更新。

Auditor(审计服务):检查对象、容器和账户的完整性,如果发现错误,文件将被隔离。

Account Reaper(账户清理服务):移除被标记为删除的账户,删除其所包含的所有容器和对象。

2.2 Swift的技术特点

1.Swift的数据模型采用层次结构,共设三层:Account/Container/Object(即账户/容器/对象),每层节点数均没有限制,可以任意扩展。

2.Swift是基于一致性散列技术,通过计算将对象均匀分布在虚拟空间的虚拟节点上,在增加、删除节点时可以大大减少需移动的数据量;通过独特的数据结构Ring(环),再将虚拟节点映射到实际的物理存储设备上,完成寻址过程。

3.Swift为账户、容器和对象分别定义了的环。环是为了将虚拟节点(分区)映射到一组物理存储设备上,并提供一定的冗余度而设计的,环的数据信息包括存储设备列表和设备信息、分区到设备的映射关系、计算分区号的位移。

2.3 Swift的优点

1.极高的数据持久性

2.完全对称的系统架构

3.无限的可扩展性

4.无单点故障

5.是OpenStack的子项目之一,适合云环境的部署

2.4 Swift的缺点

原生的对象存储,不支持实时的文件读写、编辑功能

3.Ceph

Ceph最早起源于Sage就读博士期间的工作、成果于2004年发表,并随后贡献给开源社区。经过十几年的发展,已成为应用最广泛的开源分布式存储平台。

3.1 Ceph的主要架构

基础存储系统RADOS

Ceph的最底层是RADOS(分布式对象存储系统),它具有可靠、智能、分布式等特性,实现高可靠、高可拓展、高性能、高自动化等功能,并最终存储用户数据。RADOS系统主要由Ceph OSD、Ceph Monitors两部分组成,Ceph OSD 的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向Ceph Monitors 提供一些监控信息。

Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和CRUSH 图。

基础库LIBRADOS

LIBRADOS层的功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS进行应用开发。RADOS是一个对象存储系统,因此,LIBRADOS实现的API是针对对象存储功能的。物理上,LIBRADOS和基于其上开发的应用位于同一台机器,因而也被称为本地API。应用调用本机上的LIBRADOS API,再由后者通过socket与RADOS集群中的节点通信并完成各种操作。

上层应用接口

Ceph上层应用接口涵盖了RADOSGW(RADOS Gateway)、RBD(Reliable Block Device)和Ceph FS(Ceph File System),其中,RADOSGW和RBD是在LIBRADOS库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

应用层

应用层就是不同场景下对于Ceph各个应用接口的各种应用方式,例如基于LIBRADOS直接开发的对象存储应用,基于RADOSGW开发的对象存储应用,基于RBD实现的云主机硬盘等。

3.2 Ceph的功能模块

Client客户端:负责存储协议的接入,节点负载均衡。

MON监控服务:负责监控整个集群,维护集群的健康状态,维护展示集群状态的各种图表,如OSD Map、Monitor Map、PG Map和CRUSH Map。

MDS元数据服务:负责保存文件系统的元数据,管理目录结构。

OSD存储服务:主要功能是存储数据、复制数据、平衡数据、恢复数据,以及与其它OSD间进行心跳检查等。一般情况下一块硬盘对应一个OSD。

3.3 Ceph的优点

1.CRUSH算法

CRUSH算法是ceph的两大创新之一,简单来说,ceph摒弃了传统的集中式存储元数据寻址的方案,转而使用CRUSH算法完成数据的寻址操作。采用CRUSH算法,数据分布均衡,并行度高,不需要维护固定的元数据结构。

2.高可用

Ceph中的数据副本数量可以由管理员自行定义,并可以通过CRUSH算法指定副本的物理存储位置以分隔故障域,支持数据强一致性,适合读多写少场景;ceph可以忍受多种故障场景并自动尝试并行修复。

3.高扩展性

Ceph本身并没有主控节点,扩展起来比较容易,并且理论上,它的性能会随着磁盘数量的增加而线性增长。

4.特性丰富

Ceph支持对象存储、块存储和文件存储服务,故称为统一存储

3.4 Ceph的缺点

1.去中心化的分布式解决方案,需要提前做好规划设计,对技术团队的要求能力比较高。

2.Ceph扩容时,由于其数据分布均衡的特性,会导致整个存储系统性能的下降。

BMJ分布式存储

BMJ是一个高速、安全、可拓展的区块链基础设施项目。面向5G,对IPFS底层技术深度开发及优化,通过切片技术对节点的P2P传输,实现数百兆文件的秒传。从全新的角度出发,BMJ基于区块链的分布式云存储系统设计思想提出新的方案,在数据传输方面引入数据交换机制和秒传机制来提高数据传输速度;在数据存储方面,通过采用一种高效的数据存储架构来提高数据存储效率。

作为分布式存储的领航者,BMJ目前正在快速布局,未来形成包括云存储、云计算、大数据的产业集群,可以更好的引领传统企业升级转型,推动整个新经济的发展。

为存储而来,为服务而生,BMJ正在悄然地改变着整个世界,改变你我的生活。责任编辑人:CC

以上知识分享希望能够帮助到大家!