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

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]