Gartner 2019分布式文件存储关键能力报告解读

2024-04-28 08:58

本文主要是介绍Gartner 2019分布式文件存储关键能力报告解读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=gif

640?wx_fmt=png

分布式存储系统近年来的普及势如破竹,这一方面得益于分布式系统提供的高可扩展性和大规模并发特性,另一方面则得益于互联网、大数据、人工智能应用的上层架构从本质上恰好需要分布式存储系统这种多节点和高并发架构,甚至干脆形成了应用和存储节点超融合的架构。这些新型的应用与传统应用部署架构完全不同,后者多为单机版应用,需要的是一个具有较强功能和性能的本地存储系统,要么使用DAS存储架构独占本地资源,或者使用传统的SAN/NAS存储系统与其它业务适度共享集中的存储资源,由于SAN采用专用的前端网络,无论是在QoS还是性能密度上,都充分保障了传统单机业务的可靠性、性能、可用性以及QoS。而如今的新型业务由于所需的并发量较大,一般普遍采用多机多节点集群化部署,在每个节点上运行一个或者多个应用实例或者说进程,多进程之间通过网络通信相互同步状态、元数据和数据,以实现任务的切割、派发、执行、结果汇总过程。而这种架构基本上与传统的HPC架构如出一辙。

另外,传统的I/O访问方式,比如经典的block addressable I/O,file byte addressable I/O已经无法满足或者正在掣肘这些新型业务。为此,新式的I/O访问方式,比如Object、stream等I/O接口也在快速发展和应用。

正因为应用架构多变,并不像传统业务那样在I/O方面完全标准化,所以派生了大量应用场景,带来的问题也是显然的,分布式存储系统需要应对这些非标准化场景,对这些场景的节点部署、网络、I/O方式、API接口等都需要进行精确评估、调优甚至二次开发适配。

分布式存储系统在硬件上几乎没有门槛,因为可以完全基于开放的标准服务器和本地SAS HBA/RAID卡,由于分布式节点规模扩展性强,每个节点只需要是瘦节点就可以了,这就避免了胖节点在JBOD上的硬件成本和软件商的管理监控成本。

在分布式核心软件上的门槛相比传统的封闭式存储系统而言也极大降低了,因为伴随着互联网、云计算、大数据等业务的助推,大量的开源分布式系统软件平台都可以用来借鉴甚至直接利用。这些软件平台包括分布式核心存储层以及外围集群管理层,前者主要负责对数据的布局决策、存储、容错、容灾等,后者则负责对整个集群中的节点进行监控和管理,比如心跳、仲裁、故障切换、节点的增删等等。

正因如此,近年来众多厂商,包括老牌传统存储厂商以及新兴厂商,都推出了各自的分布式存储系统。不得不说的是,传统存储厂商在分布式系统架构领域的确有一定的技术积累可以利用,比如传统SAN/NAS是双控架构,相当于一个双节点的集群,传统厂商在双节点集群的双活、冷备、互备、心跳、切换等方面已经非常成熟。但是,对于三节点及以上的集群,其架构相比双节点其实是有本质区别的,这就像双星系统和三体系统一样。再加上分布式系统节点基本上都是基于开放式服务器瘦节点,传统厂商更多积累在胖节点上。所以,基本可以认为传统和新兴厂商在分布式存储系统领域的起跑点是齐平的。

640?wx_fmt=gif

在这个大背景之下,显然有必要对各厂商的分布式存储系统的各项参数、能力、场景适配等进行梳理总结、评估。在Gartner最新《Critical Capabilities for Distributed File Systems》分析报告中,将分布式存储系统的关键能力做了总结,得出8个核心关键能力:

640?wx_fmt=gif

该报告还总结出了分布式存储系统的5个主流的应用场景:归档、备份、商用HPC、混合云、大数据分析。

这个划分我觉得还是比较全面的,从业务角度入手来审视分布式存储应该具有什么样的能力来支撑这些业务场景。

该报告入围了7家主流分布式存储系统厂商产品用于评估,并针对8项核心关键能力中的每一项都给出了评分,见Table 2。

 

640?wx_fmt=png

其中空间效率得分最高者是DELL EMC Isilon,这也是EMC特别看重它的“有效容量”计划的一个体现。

性能以及自愈性一栏得分的前两名远超其它产品,分别是Pure Storage FlashBlade以及IBM Spectrum Scale。Pure Storage的FlashBlade得益于其专门设计的全闪存架构,性能不居首也说不过去,不过相比之下其成本和空间效率得分也是最低的,因为这两个因素与性能很大程度上是矛盾的。IBM排第二这也在意料之中,因为Spectrum Scale的内核其实是GPFS,这个文件系统可谓是历经沧桑的三朝元老了,其源自由于IBM在HPC领域的深厚积累,性能和自愈性得分最高也是理所当然,同时也可以看到,其管理性方面得分却是最低的,这或许也继承了IBM的一贯格调。

可管理性得分遥遥领先的是一个名不见经传的产品:Qumulo File Storage,我对它并不是十分了解。同时它也是价格得分最高者之一。

该报告还针对五大典型场景下针对每种能力的需求给出了权重值,见Table 1。HPC和数据分析场景下对性能有强烈需求。值得一提的是,不管是在哪个场景下,对可管理性的需求都相对较高。除了混合云场景,其他场景对容量的需求也是相对比较高的。 

640?wx_fmt=png

田忌赛马的故事告诉我们,在综合场景下,最终赢家可能并不是在某一方面非常强而其他方面孱弱的选手。Table 3告诉了我们一个事实。

 

640?wx_fmt=png

根据Table 3中的综合得分得出每个典型场景下的得分前三,见下图。

 

640?wx_fmt=png

图中可以发现,唯一一家在每个场景下都进入前三的产品,是浪潮AS13000分布式存储系统,拿到了1个第一,2个第二,2个第三。浪潮分布式存储系统AS13000表现突出,我觉得这可能也是个必然结果,因为浪潮很早就意识到了分布式存储场景与传统场景的本质区别并开始针对分布式存储系统的应用场景进行梳理分析,抽取业务I/O模型并落地到产品设计开发过程中。早在去年年初,浪潮就开始逐渐将梳理好的模型同时向研发和前端输送,从而为后续产品开发提供需求输入以及在前端项目实施过程中达到更高的质量和交付速度。

640?wx_fmt=gif

从一些公开的材料和文章中也可见浪潮在这些场景下所做的适配和优化。比如在HPC场景下,支持元数据集群、小文件聚合、RDMA技术,和AI应用对接优化等技术方案。在混合云场景下,增强可管理特性,比如标准接口S3、OpenStack插件、云备份(从私有云到公有云的备份技术),一套系统提供文件、块、对象、大数据、数据库等五种数据服务等。当然,分布式文件的应用是较为广泛和成熟的。

比如,浪潮AS13000在石油勘探场景下的综合性能在某项目中超出业界平均水平约30%。

 

640?wx_fmt=png

浪潮分布式存储的测试性能:写性能比业界平均水平高32%,读性能高27%

在一个典型的石油勘探场景下,在数据存储阶段,石油勘探需要将采集到的原始地震波数据统统写入分布式存储平台,存储需要提供高聚合带宽和PB级容量,满足海量数据的并发写入、存储需求。在数据解释阶段,存储需要提供高带宽,能够一次性“读出”单个文件大小超300GB的超大文件。此时的存储需求是高带宽。而在数据处理、分析阶段,石油勘探模型处理、分析产生了海量的次生小文件,存储需要通过小文件/对象聚合技术,提升海量次生小文件的并发性能。这就如同水库,先汇聚资源,达到一定蓄水量后再向下游统一输出,存储要把亿级/千万级小文件的随机写变为固定大小的数据的顺序写,提高效率。

浪潮存储研发工程师表示:“同等配置水平下,目前分布式存储业内平均水平为单节点写1.3GB/s、读1.5GB/s,这样一来16个节点的平均写性能是20.8GB/s、读性能24GB/s。对比来看,浪潮分布式存储在石油勘探项目中的性能表现,比业界平均水平高出了20%~30%。”更高的性能意味着,浪潮分布式存储平台可以帮助石油勘探项目缩短勘探开发周期、提高勘探开发成功率。

前文中也提到过,目前的新兴应用场景规模大,架构复杂,I/O模型未知,未经过充分研究总结和标准化,所以分布式存储系统厂商不得不自行针对这些场景做出适配,这个初步积累过程其实是比较痛苦的,但是度过了这个阶段之后,就会形成一些固化的精髓,正犹如传统SAN/NAS厂商对大规模机械盘的管理和行为了如指掌一样,分布式存储系统厂商也终将会在场景适配方面形成自己宝贵的经验。

END

 

扫码入当当/京东直购《大话计算机》


640?wx_fmt=gif

640?wx_fmt=png   640?wx_fmt=png

展阅读展

扩展阅读

这篇关于Gartner 2019分布式文件存储关键能力报告解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942827

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现