- 途 径
- 网络
- 外文名
- Distributed storage
- 含 义
- 一种数据存储技术
- 中文名
- 分布式存储
-
2022-05-18 14:20:29
近几年,随着云计算、5G、人工智能等新技术的迅速发展和落地应用,随之而来的海量数据激增,推动了新存储架构的发展。根据研究机构IDC预测,2018年到2025年之间,全球产生的数据量将会从33ZB增长到175ZB,复合增长率达到27%,其中,超过80%的数据都会是处理难度较大的非结构化数据。
在非结构化数据不断增加的情况下,由于数据完整性难以保证、数据利用率低,传统的集中式存储方案已不能满足企业未来对数据存储的需求。所以,企业需要更高效、灵活的存储方案,以加速业务平滑升级。
此时,以闪存为代表的新一代存储介质出现,让文件、块、对象三种形式的存储进一步融合,更为贴合企业用户需求的分布式存储随之出现。
在以 5G、 人工智能、 物联网为首的新技术驱动的新时代, 万物智连的数据形态 本身就是高度分布式的存在。 而随着技术应用落地的进一步发展, 其产生的化学 反应会加剧, 新数据形态、 新应用模式和新价值需求会进化得越来越快, 企业也 将更依赖数据采集、 数据分析来提升生产力、 开展业务。 因此, 比特网认为更能 适应大数据分析、 视觉计算、 多云等场景的分布式存储, 在未来取代传统存储方 式是大势所趋。
主要内容:
一、 什么是分布式存储
二、 分布式存储的类型
三、 分布式存储特点
四、 传统存储与分布式存储
五、 分布式存储的优势、 特点以及介质
六、 分布式存储的应用场景
七、 分布式存储技术划分
八、 分布式存储应用代表厂商
九、分布式存储未来趋势下载地址:
更多相关内容 -
2020分布式存储产业链研究报告
2021-01-06 14:21:43此报告为本人搜集相关资料并撰写,结合了新一代分布式存储技术IPFS和Filecoin,并分析了当前的芯片、数据中心、存储技术的发展趋势。内容偏普及,适合想了解存储产业,尤其想了解新一代分布式存储产业的从业者可以作... -
大规模分布式存储系统-杨传辉(可编辑).pdf
2019-06-04 19:00:46大规模分布式存储系统-杨传辉(可编辑) 本书是分布式系统领域的经典著作, 由阿里巴巴高级技术专家“阿里日照”(OceanBase 核心开发人 员) 撰写, 阳振坤、 章文嵩、 杨卫华、 汪源、 余锋(褚霸)、 赖春波等... -
这些主流分布式存储系统,你都知道吗?
2021-01-27 13:17:17Hadoop分布式文件系统(HDFS)是一个分布式文件系统,适用于商用硬件上高数据吞吐量对大数据集的访问的需求。该系统仿效了谷歌文件系统(GFS),数据在相同节点上以复制的方式进行存储以实现将数据合并计算的目的。该... -
分布式存储发展现状.docx
2020-07-30 14:35:30根据国内外资料自己整理的资料,自己用,但是我发现我在整理的时候,中文资料很少有分布式存储相关的资料。想着以后可能也有研究这个方向的人,我就上传一下,不是什么多厉害的东西,一切都是为了方便。 -
浅谈分布式存储系统架构设计.pdf
2021-08-08 20:58:13#资源达人分享计划# -
Ceph分布式存储技术研究与设计.pdf
2021-08-08 19:21:02#资源达人分享计划# -
大规模分布式存储系统:原理解析与架构实战.pdf
2021-08-10 20:48:56#资源达人分享计划# -
RedHat Ceph分布式存储-技术白皮书.pdf
2021-10-13 00:01:04RedHat Ceph分布式存储-技术白皮书.pdf -
Ceph分布式存储系统介绍.pdf
2021-09-23 09:55:10Ceph分布式存储系统介绍.pdf -
对分布式存储系统设计架构的理解.pdf
2020-04-27 13:30:03浅析分布式存储系统架构设计中的层次关系(Base Platform(基础平台)、Platform Service(平台服务)、Data Path(数据路径)和Control Path(控制路径)这几个层面)、核心组件等内容,以及分布式存储和传统存储的... -
分布式存储系统概述
2021-10-01 10:56:02定义:分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务。 特性: 可扩展、低成本、高性能、易用 挑战: 数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证...一、概述
1. 分布式存储概念
定义:分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务。
特性:可扩展、低成本、高性能、易用
挑战:数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。
技术:分布式系统和数据库。
数据分布、一致性、容错、负载均衡、事务与并发控制、易用性、压缩/解压缩。2. 分布式存储分类
数据需求:非结构化数据、结构化数据、半结构化数据
分类:分布式文件系统、分布式键值系统、分布式表格系统、分布式数据库。
二、单机存储系统
1. 硬件基础
CPU架构:
IO总线:
网络拓扑:
性能参数:
存储层次架构:
2. 单机存储引擎
哈希存储引擎:
B树存储引擎:
LSM树存储引擎:
LSM树(Log Structured Merge Tree)的思想非常朴素,就是将对数据的修改增量保持在内存中,达到指定的大小限制后将这些修改操作批量写入磁盘,读取时需要合并磁盘中的历史数据和内存中最近的修改操作。LSM树的优势在于有效地规避了磁盘随机写入问题,但读取时可能需要访问较多的磁盘文件。
合并:Minor compaction是指当内存中的MemTable大小到了一定值时,将内存数据转储到SSTable文件中。Major compaction相当于执行一次多路归并:按照主键顺序依次迭代出所有SSTable文件中的记录,如果没有保存价值,则直接抛弃;否则,将其写入到新生成的SSTable文件中。3. 数据模型
存储系统的数据模型主要包括三类:文件、关系以及随着NoSQL技术流行起来的键值模型。
4. 事务与并发控制
事务:数据库事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability),即ACID属性。事务的原子性首先体现在事务对数据的修改,即要么全都执行,要么全都不执行。
并发控制:数据库锁、写时复制、多版本并发控制。
5. 故障恢复
操作日志:
重做日志:
优化手段:成组提交、checkpoint
6. 数据压缩
压缩算法:
列式存储:
三、分布式系统
分布式系统中有两个重要的协议,包括Paxos选举协议以及两阶段提交协议。Paxos协议用于多个节点之间达成一致,往往用于实现总控节点选举。两阶段提交协议用于保证跨多个节点操作的原子性,这些操作要么全部成功,要么全部失败。
1. 基本概念
在分布式存储系统中,往往将一台服务器或者服务器上运行的一个进程称为一个节点,节点与节点之间通过网络互联。
异常:大规模分布式存储系统的一个核心问题在于自动容错。然而,服务器节点是不可靠的,网络也是不可靠的,本节介绍系统运行过程中可能会遇到的各种异常。
- 异常类型:服务器宕机、网络异常、磁盘故障
- 超时:在分布式系统中,如果某个节点向另外一个节点发起RPC(Remote Procedure Call)调用,这个RPC执行的结果有三种状态:“成功”、“失败”、“超时”(未知状态),也称为分布式存储系统的三态。
一致性:副本是分布式存储系统容错技术的唯一手段。由于多个副本的存在,如何保证副本之间的一致性是整个分布式系统的理论核心。
从客户端的角度来看,一致性包含如下三种情况:
- 强一致性:假如A先写入了一个值到存储系统,存储系统保证后续A,B,C的读取操作都将返回最新值。当然,如果写入操作“超时”,那么成功或者失败都是可能的,客户端A不应该做任何假设。
- 弱一致性:假如A先写入了一个值到存储系统,存储系统不能保证后续A,B,C的读取操作是否能够读取到最新值。
- 最终一致性:最终一致性是弱一致性的一种特例。假如A首先写入一个值到存储系统,存储系统保证如果后续没有写操作更新同样的值,A,B,C的读取操作“最终”都会读取到A写入的最新值。“最终”一致性有一个“不一致窗口”的概念,它特指从A写入值,到后续A,B,C读取到最新值的这段时间。“不一致性窗口”的大小依赖于以下的几个因素:交互延迟,系统的负载,以及复制协议要求同步的副本数。
衡量指标:性能、可用性、一致性、可扩展性(scalability)
2. 性能分析
3. 数据分布
数据分布的方式主要有两种,一种是哈希分布,如一致性哈希,代表系统为Amazon的Dynamo系统;另外一种方法是顺序分布,即每张表格上的数据按照主键整体有序,代表系统为Google的Bigtable系统。
哈希分布:
顺序分布:
负载均衡:工作节点通过心跳包(Heartbeat,定时发送)将节点负载相关的信息,如CPU,内存,磁盘,网络等资源使用率,读写次数及读写数据量等发送给主控节点。
4. 复制
复制的概述:复制协议分为两种,强同步复制以及异步复制,二者的区别在于用户的写请求是否需要同步到备副本才可以返回成功。
一致性与可用性:
CAP理论:一致性(Consistency),可用性(Availability)以及分区可容忍性(Tolerance of network Partition)三者不能同时满足。5. 容错
容错是分布式存储系统设计的重要目标,只有实现了自动化容错,才能减少人工运维成本,实现分布式存储的规模效应。在分布式系统中,故障检测往往通过租约(Lease)协议实现。
6. 可扩展性
7. 分布式协议
两阶段提交协议用于保证跨多个节点操作的原子性,也就是说,跨多个节点的操作要么在所有节点上全部执行成功,要么全部失败。Paxos协议用于确保多个节点对某个投票(例如哪个节点为主节点)达成一致。
两阶段提交协议:
- 阶段1:请求阶段(Prepare Phase)。在请求阶段,协调者通知事务参与者准备提交或者取消事务,然后进入表决过程。在表决过程中,参与者将告知协调者自己的决策:同意(事务参与者本地执行成功)或者取消(事务参与者本地执行失败)。
- 阶段2:提交阶段(Commit Phase)。在提交阶段,协调者将基于第一个阶段的投票结果进行决策:提交或者取消。当且仅当所有的参与者同意提交事务协调者才通知所有的参与者提交事务,否则协调者通知所有的参与者取消事务。参与者在接收到协调者发来的消息后将执行相应的操作。
例如,A组织B、C和D三个人去爬长城:如果所有人都同意去爬长城,那么活动将举行;如果有一人不同意去爬长城,那么活动将取消。
两阶段提交协议是阻塞协议,执行过程中需要锁住其他更新,且不能容错,大多数分布式存储系统都采用敬而远之的做法,放弃对分布式事务的支持。
Paxos协议:为了实现高可用性,主节点往往将数据以操作日志的形式同步到备节点。这里存在的问题是网络分区的时候,可能会存在多个备节点提议(Proposer,提议者)自己成为主节点。Paxos协议保证,即使同时存在多个proposer,也能够保证所有节点最终达成一致,即选举出唯一的主节点。
常见的做法是将2PC和Paxos协议结合起来,通过2PC保证多个数据分片上的操作的原子性,通过Paxos协议实现同一个数据分片的多个副本之间的一致性。
8. 跨机房部署
跨机房问题主要包含两个方面:数据同步以及服务切换。
跨机房部署方案有三个:集群整体切换、单个集群跨机房、Paxos选主副本。
参考资料
[1] 《 大规模分布式存储系统:原理解析与架构实战 》 杨传辉 著 -
大规模分布式存储系统思维导图笔记
2020-03-19 14:58:38本人在看《大规模分布式存储系统》这本书的过程中,记录的思维导图笔记,方便学习和复习这本书的重点内容,适合于分布式存储的入门同学。书中实战的部分因为是基于阿里的ocean base,比较具体,处于入门学习的目的,... -
分布式存储
2018-11-23 14:59:01分布式存储架构分析,分布式存储架构分析,分布式存储架构分析, -
基于GlusterFS实现Docker集群的分布式存储
2021-03-01 18:29:46以Docker为代表的容器技术在云计算领域正扮演着越来越重要...GlusterFS因其部署简单、扩展性强、高可用等特点,在分布式存储领域被广泛使用。本文主要介绍了如何利用GlusterFS为Docker集群提供可靠的分布式文件存储。Gl -
关于云计算环境下的分布式存储关键技术分析.pdf
2021-07-18 16:00:53关于云计算环境下的分布式存储关键技术分析.pdf -
基于Ceph的企业分布式存储方案.pdf
2021-08-09 23:39:00#资源达人分享计划# -
分布式存储的架构、隐患及解决方法
2021-02-25 19:13:43上篇中我们讲了关于分布式存储的知识结构的前三部分内容,存储类型、文件系统、存储介质等,可点击下面的链接查看:关于分布式存储,这是你应该知道的(图文详解)今天我们继续来讲讲关于Raid和副本、分布式存储的... -
基于区块链的分布式存储技术研究.pdf
2021-08-08 22:13:48#资源达人分享计划# -
Ceph分布式存储实战.pdf
2017-12-08 13:46:10在本书中,我们将采用穿插方式讲述Ceph分布式存储的原理与实战。 本书侧重实战,循序渐进地讲述Ceph的基础知识和实战操作 -
大规模分布式存储系统
2018-08-31 11:25:20mobi格式,可以用kindle看,阿里牛人写的,值得一看。 -
(高清版)大规模分布式存储系统:原理解析与架构实战
2018-01-22 17:31:45理论方面,不仅讲解了大规模分布式存储系统的核心技术和基本原理,而且对谷歌、亚马逊、微软和阿里巴巴等国际型大互联网公司的大规模分布式存储系统进行了分析;实战方面,首先通过对阿里巴巴的分布式数据库Ocean... -
Lotus是Filecoin分布式存储网络的实现。-Golang开发
2021-05-26 14:54:05Lotus是Filecoin分布式存储网络的实现。 有关Filecoin的更多详细信息,请查看Filecoin规范。 Lotus项目-莲Lotus是Filecoin分布式存储网络的实现。 有关Filecoin的更多详细信息,请查看Filecoin规范。 构建和文档有关... -
training-plan:电子科技大学分布式存储与计算实验室新生训练计划
2021-05-08 06:11:03DSCLab 新生培养计划培养方向:分布式数据库研发培养目标:具备一定的软件工程能力掌握基础数据结构和数据库关键技术掌握分布式原理和应用开发技能培养:C++ / JAVA / GO 任选一门主力学习, Python 选修Git、Stencil... -
curve分布式存储系统 v1.0.0
2020-11-25 01:16:23为您提供curve分布式存储系统下载,curve是网易开源的高性能、高可用、高可靠分布式存储系统,具有非常良好的扩展性。基于该存储底座可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。... -
分布式存储和云存储关系_分布式存储下的块存储、对象存储、文件存储
2020-11-03 22:47:41关于分布式存储,定义上的东西,我们已经说过很多,所谓分布式存储,它是一个存储系统的底层体系。因为在5G时代下,社会的存储需求呈几何级增大,任何单一的服务器所连接的物理介质和IO性能是无法独立承担的。所以,...关于分布式存储,定义上的东西,我们已经说过很多,所谓分布式存储,它是一个存储系统的底层体系。因为在5G时代下,社会的存储需求呈几何级增大,任何单一的服务器所连接的物理介质和IO性能是无法独立承担的。
所以,多台服务器的协作,一起为多个系统提供存储服务需求应运而生,这就是分布式存储系统。
(中心化&分布式)
为了满足不同的市场需求,分布式存储系统可以同时提供文件存储、块存储和对象存储这三种形式的服务。
那么,文件存储、块存储和对象存储分别是什么意思呢?
块存储
在传统的存储系统中,由于是单一的存储服务器,我们上传和下载都是直接访问服务器的,例如把一份文件存储在U盘了,我们需要的时候直接访问U盘,那U盘就是存储数据的硬件介质。
硬件介质无法去改变内在存储的数据的组织方式和结构形态,所能做的就是按照固定的大小分块,并赋予每一块一个特定的编号。以硬盘为例,老式硬盘是512字节大小,新硬盘是4K字节大小。老式硬盘用柱面-磁头-扇区号组成的编号进行寻址,现代硬盘用一个逻辑块编号寻址。
所以,硬盘往往又叫块设备,通常我们的块设备有两种类型:
1、 DAS:是直接连接于主机服务器的一种储存方式,每一台主机服务器有独立的储存设备,每台主机服务器的储存设备无法互通,通常用在单一网络环境下且数据交换量不大,性能要求不高的环境下。
2、SAN:是一种用高速(光纤)网络联接专业主机服务器的一种储存方式,此系统会位于主机群的后端,它使用高速I/O 联结方式,一般而言,SAN应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中,特点是代价高,性能好。
文件存储
通常,NAS产品都是文件级存储。NAS(Network Attached Storage):是一套网络储存设备,通常是直接连在网络上并提供资料存取服务,一套 NAS 储存设备就如同一个提供数据文件服务的系统,特点是性价比高。
对象存储
对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点(扩展性)。核心是将数据读写和元数据分离,并且基于对象存储设备构建存储系统。每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。
-
ZStack Ceph 企业版分布式存储系统软件安装手册v3.1.9.pdf
2019-05-12 00:04:41ZStack Ceph 企业版分布式存储系统软件安装手册 ZStack Ceph 企业版分布式存储系统软件安装手册 -
基于IC芯片设计企业的分布式存储应用.pdf
2021-07-26 08:06:27基于IC芯片设计企业的分布式存储应用.pdf