对于存储而言,性能是产品要追求的重要指标,但更关键的在于如何真正贴合用户实际场景的使用需求,为用户业务的高效运转带来切实的帮助。深信服也在探索中不断思考,对于用户而言什么才是更好的存储。基于上千家用户案例的积累,深信服分布式存储EDS从用户的业务场景痛点出发,为医疗、政府、企业、广电等行业提供性能支持。
医学影像业务场景
医院医学影像数据(主要是CT和MR)的迅速增长,对医院现有PACS系统的承载能力提出挑战,在数据重压之下,PACS系统的底层存储也成为被广泛关注的焦点。深信服EDS承载医院海量医学影像文件的同时,为医生带来更为顺畅的阅片体验。
场景痛点:海量医学影像文件读取卡顿
病人一次CT检查会产生几千张500KB左右大小的影像文件,放射科医生阅片时,通过阅片终端加载这些影像文件进行诊断。
据统计,三级医院每年新增的医学影像文件数量超过1亿,大规模的小文件数量会对存储的访问效率产生极大影响,如果从存储读取某张影像时延过高,便会出现卡顿,严重时会极度影响工作效率。而在业务高峰期,上百位门诊医生、临床医生同时阅片时,效率问题会更明显。
解决方案:双重预读模式实现高效阅片
为了进一步提升医生的阅片效率,EDS通过智能预加载技术,内置一个预测模块,根据客户端在目录上产生的读取文件操作生成预读序列,预读线程根据预读序列将影像文件预加载到内存。为了实现更精准的预读,EDS针对不同场景推出基于目录和时间两种不同的预读机制。
基于目录预加载:大部分场景下,一个目录仅存放一个病人的某次检测结果,若单次检测产生的文件数量不多,则将整个目录的文件都加载到内存。但由于PACS软件设计问题,存在一个目录存放了多个病人的检测结果,几十万的文件数量无法采用基于目录的预加载机制,就需要基于时间预加载。
基于时间预加载:某个病人的检测结果,其影像创建时间是比较临近的,通过创建时间将目录内的文件进行分组,当某个组中的文件在短时间内被读取超过3个,则将整个组中的文件加载到内存。
通过EDS两种加载机制,目前医生阅片时可实现单张读取时长不超过10ms。
广电非编业务场景
随着4K的普及,各电视台需要重构已有IT架构以实现对4K的支持,4K意味着媒资数据量更加庞大,需要“采,编,播,存,传”全流程各个环节的进行支撑,对采编效率、底层存储的吞吐能力有着更高的要求。深信服EDS让音视频素材读取更加迅速,实现广电超清4K节目高效制作。
场景痛点:超清节目制作时延过大导致丢帧
超清4K节目的生产制作流程由素材上载、文件收录、在线编辑、合成转码、审查等环节组成,4K场景的非编操作,视频码率大、层数多,需要存储系统提供稳定的高带宽,对时延敏感,时延过大会导致视频画面出现丢帧。同时,非编业务涉及到视频素材编辑的多个层次叠加,每一层都需要从音视频素材读取数据,层数越多,对存储吞吐的要求越高。
4K编辑性能需求:
解决方案:存储介质+存储网络升级降低读写时延
EDS使用NVMe SSD作为Tier分层,数据优先写入Tier分层,并优先从分层中读取数据,并搭配RDMA低时延网络,来降低业务读写时延。
EDS通过3节点混合盘配置存储集群提供6GB/s吞吐,以国内标准的500Mbps的4K素材为例,3节点即可满足16台4K超高清工作站同时进行6层素材编辑(或120台高清工作站同时进行4层100Mbps高清素材编辑)的性能需求,不出现丢帧和错帧。
测绘航测建模业务场景
测绘作为地理信息行业主要的数据生产方,其主要业务为倾斜摄影(即航测)和卫星遥感,无人机或有人机倾斜摄影是通过飞行平台搭载相机从多个不同视角同步采集地表影像,获取到丰富的地表信息,用于进行三维模型建模。深信服EDS可以充分满足建模过程对大文件吞吐以及小文件读写的不同性能诉求。
场景痛点:空三解算、三维建模性能需求各异
航测业务流程可以划分为3个主要阶段:
1、外业采集:外业采集中外业人员通过有人机或无人机对测区进行倾斜摄影,采集大量几MB~几十MB大小的图片文件和控制点坐标文件;
2、内业生产:外业采集的图片数据被传送到数据中心后,在三维建模软件里进行空三解算和三维建模环节:
空三解算:空三解算过程会产生大量读原图片(MB级文件)操作,对存储的吞吐性能要求高;
三维建模:三维建模通过多台建模工作站并发计算,这个过程会产生大量几KB-几百KB级别小文件的读写操作,对存储的小文件读写性能要求高。
3、数据流转:建模完成后三维模型数据作为交付物交付给甲方,原片数据、过程报告等数据需要归档做长期保存。
解决方案:软件逻辑层IO路径优化满足并发建模需求
在大量原片数据承载上,EDS使用NVMe SSD分层并搭配RDMA低时延网络,来降低业务读写时延,满足空三解算阶段拉取原片的吞吐需求,在建模过程数据承载上,EDS使用全固态配置,并搭配一系列存储软件逻辑层IO路径优化降低小文件读写时延。
EDS航测建模存储方案做到建模效率相比传统存储方案提高30%以上,并可满足同时200个工作站并发建模不掉速。
交管海量图片场景
随着城市安防建设推进,交管行业每天都会产生大量的人脸抓拍、车辆抓拍图片数据,这些数据往往需要长期保存,如卡口抓拍照片保存的数据不短于180天等,只有实现安全存放、快速调取这些图片数据,才能让公安、交管等行业业务平台发挥作用。深信服EDS实现交通管理场景下海量图片小文件的高效处理。
场景痛点:海量照片小文件删除、调用处理难度大
交通卡口抓拍图片具有以下特征:
单个图片文件小,大部分图片数据小于1MB;
文件数量多,一个市每天产生的图片数量超过千万张;
存储在承载10亿以上文件规模的图片数据的同时要满足每天高速读写需求,并且需要支持每天高速删除千万张照片释放存储空间。
解决方案:自研元数据管理+小文件合并实现轻松承载
EDS对象存储通过小对象合并技术大幅降低元数据规模,保证关键元数据都能够完全存储在有限的SSD上,并利用自研PhxKV数据库对元数据进行管理,提升元数据访问效率及故障修复的效率,从而提升EDS对海量小文件/对象读写效率,可以从容承载百亿级别的小文件/对象。
EDS对象存储3节点混合盘集群可以做到承载百亿规模对象,且性能下降不超过5%,通过对象生命周期管理,可以实现每天删除2000万个对象,并快速释放存储空间。
数据库场景(OLTP/OLAP)
数据库承载着很多企业的核心业务数据,主要作用体现在两方面:支撑业务系统的运转和支撑分析决策,即OLTP和OLAP,OLTP常见的比如关系型数据库,主要是基本的事务处理,比如银行交易,OLAP是数据仓库的主要应用,支持复杂的分析操作,侧重于决策支持。深信服EDS可以为企业数据库数据调用和分析提供充分的性能支撑。
场景痛点:I/O读写既要低时延又要高吞吐
关系型数据库具有结构化程度高、独立性强的特点,以Oracle为代表,可以很好的满足OLTP(联机事务处理)所需的数据信息和操作需求,即面向“事务”所进行的数据库的增删改查。比如银行取钱操作。这类操作的数据I/O模型特征为:以小块随机读写为主,对时延要求高。
而OLAP主要面向数据分析,以数据仓库为例,数据仓库将各个散落独立的数据库孤岛整合在了一个数据结构里面,其所做工作是将数据从各个数据库中抽取出来,并经过数据格式转换、清洗和储存,为上层商务智能系统的分析提供数据源。数据I/O模型特征为:以大块I/O读写为主,对存储吞吐要求高。
解决方案:自研算法同时承载OLTP/OLAP类型业务
EDS通过Tier分层、多副本并发写、缓存热力图算法等,以及RDMA技术来降低I/O时延,同多虚拟IP实现多节点并发,并通过自适应条带化、自研数据分布算法实现高吞吐。
基于以上优化,EDS 3节点混合盘集群承载Oracle Rac数据库可以达到42万TPM,3节点使用全固态盘集群承载数据仓库可实现5GB/s吞吐性能,满足OLTP/OLAP类型业务承载需求。
截至目前,深信服EDS已经为医疗、广电、企业、政府等不同行业数千家用户提供存储服务,未来深信服EDS还将在应用级性能优化的方向持续精进,打造最懂用户业务的高性能存储。