业务需要
近几年,生物医药与基因测序领域的发展非常火爆,不止是在传统业务领域,现在大量的个人也有诸如健康管理、癌症基因筛查等各种基因测序的需求。因此,基因测序领域的企业的数量逐渐增多,业务发展也越来越好。
人类基因组包含 30 亿个碱基对。做一次全基因组检测,会产生 100 多 G 海量数据,虽然目前其中能被用于科研与临床应用的,只是蛋白编码基因与少量的非蛋白编码基因,占整体数据的 1%-2% 之间;而这部分数据中,被研究透彻的、能将之与疾病关联后得以应用的,仅占 1%。然而由于基因数据获取成本高,而未来随着科技的突破,会有越来越多的编码基因会帮助人类,对未来的深入挖掘非常重要,所有的基因组检测数据不能轻易丢弃。基因测试的过程中会产生大量的数据,如何利用新型的技术手段来解决海量数据的存储,并能快速的从海量数据中提取出关键的信息成为重中之重。
驻云众多的客户当中,就有一家精准聚焦于基因测序领域。该客户专注于精准医疗,尤其是肿瘤患者个体化治疗指导,以二代测序及医学生物信息学为核心,常规肿瘤分子病理检测为基石,致力于打造肿瘤个体化治疗临床检测服务及科研一站式解决方案。
IT现状与困难
该医学公司成立于2014年,之前的技术方案是在本地采用某厂商的存储产品,然后转化为FastQ文件在经过计算节点挂载后进行计算,期间有读和写,有中间过程数据,最后将结果写到EMC存储上。而由于近年的业务和数据增长迅速,已接近1PB。尤其是最近半年产生的数据已经接近之前所有数据总和。所以之前的技术方案面临很大的现实困难,具体体现在:
- 海量数据的存储备份VS有限的存储资源
人类全基因组原始数据理论上大概100GB, 而原始数据往往经过压缩以及格式转换后大概几个GB。虽然目前数据没有保存年限的监管要求,但是数据却是公司的最重要的资产,是未来为用户提供各种衍生服务的基础。数据本身的价值是巨大的,且经过了价值不菲的测序仪来测序,所以不可能丢弃,肯定要长期保存。近期数据和历史归档数据均需要长时间保留。目前采用某厂商NAS集群,成本很高,每年都需要进行扩容,已达600TB, 且每TB成本7000元以上,且后续的扩容,维保费用依然极高。 - 大数据量的计算力需求VS高成本的计算资源
客户目前采用购买Dell高性能服务器在本地进行计算,而基因测序行业的业务峰谷很明显。尤其是精准医疗的样本,比如医院会每隔几周不定期批量送来科研用的数据,数据量大小不一(从几百GB到几TB不等),并且需要集中处理计算。这种场景下会形成计算需求的高峰,此时无法满足计算需求。而且由于本地的高性能计算力投入成本较高,单纯为了少量的大计算力需求去投入昂贵的硬件资源也不合适。 - 数据分发的需求VS受限的机房出口带宽
客户分析后产生的报告,以及部分原始数据都可能会分发给最终用户。之前客户会使用硬盘寄送,FTP等方式将数据下发给最终用户。客户本地机房的公网出口带宽为20Mbps,当数据量比较大的时候(尤其是多个用户同时进行数据下载时),受到本地机房的网络出口带宽限制以及带宽的成本影响,通过网络分发的速度会很慢,直接影响用户体验及业务运营的效率。而采用硬盘寄送方式的话,则需要考虑硬盘的维护和折损,并且一旦发生硬盘丢失,会引起数据安全方面的忧虑,也不是个长久之计。
·没有办法了吗?
随着云计算的普及,越来越多的企业选择使用公有云平台来运行他们的业务。阿里云在国内基因行业积累了丰富的案例,提供了ECS,批量计算,大数据计算,混合云存储,海量数据迁移等丰富的解决方案,并拥有优质的多BGP网络,方便客户的数据分发。如下图
然而,因为基因测序行业中的关键设备——测序仪始终是一个线下的设备,要想利用公有云的计算和存储资源,需要解决数据上云的难题,包括以下几方面:
-文件多,传统的上云方法性能和易用性不佳
-测序仪下机数据游经几种存储类型,管理和上云麻烦
-现有应用只支持传统数据访问接口
-需要快捷的数据上云能力,对接云上计算
-测序仪增长快,需要考虑业务增长对性能的更高要求
另辟蹊径
针对以上特点,我们通过构建本地和云端混合存储架构,充分利用两者优势,并结合云网络,为客户推荐混合云存储解决方案。
其中,混合云存储阵列(Cloud Storage Array,简称CSA),基于专有的本地存储设备,并集成云存储服务,从而将云存储的低成本和可扩展性与生产环境的高性能和高可用性相结合,提供了一种经济高效,易于管理的存储解决方案。它提供与客户原有存储一致的NFS接口,并可支持CIFS和SAN。同时,配置“文件存储云网关”,使本地的NAS文件系统与阿里云上的对象存储服务OSS无缝对接。配置如下:
我们采用如下的方式解决了客户的问题:
- 数据快速上云的问题
服务器mount原有第三方NAS存储和阿里云混合云存储阵列(CSA),使用shell脚本每4小时扫描一次目录,没上传过的就上传OSS,并打一个开始上传的tag。若以后计算资源不足,要在云上去做计算时,可以将频率可以改到5分钟一次,确保数据及时上云,更快得到计算结果。 - 存储扩容
本地空间与云端配置为云缓存模式,就是本地保存近期热数据,云端保持全量数据,从而利用阿里云OSS的近乎无限的空间,彻底免去了后续扩容的麻烦。而且通过混合云存储阵列,可以直接访问到云端的全量数据,且保持原有使用方式不变(NFS mount),只需要改变一个文件夹的名字。 - 提供峰谷不同的计算能力
客户讲基因数据的提取测序部分仍然放在线下,将结果数据通过CSA(混合云存储设备)上传到云端后,利用阿里云批量技术(BatchCompute)来进行测序数据的大规模并行批处理作业,按实际数据量使用。这样即可保证峰谷不同数据量的数据计算力的需求。 - 数据生命周期管理
利用阿里云OSS的自动生命周期管理,可以定期将测序产生的冷数据转到性价比更高的归档存储,长期存放。同时,利用OSS的海量存储解决数据存储问题,结合OSS的跨区域复制功能对数据进行云上的异地备份。 - 数据分发的问题
利用阿里云优质的多BGP网络,当产生用户进行数据下载时,可通过OSS+CDN的方式进行数据分发,CDN会将您OSS存储的热点数据分发到全国各地的节点。用户访问时只需访问最近的CDN节点读取文件,而无需访问OSS的源文件。这样,即可为最终用户提供便捷顺畅的结果数据和原始数据下载渠道,又不影响公司的出口带宽。
皆大欢喜
通过阿里云混合云存储方案,客户不仅解决了海量数据存储和长期保存的问题,为企业业务进一步增长铺平了道路。 也实现了本地计算能力和云端计算能力的整合,在业务高峰期可利用云计算的弹性,迅速完成客户的计算任务。目前,客户位于华南的实验室使用此方案已运行一年多,客户对使用满意度较高,目前正将此方案复制到其华东的实验室。
由于精准医疗往往是服务于肿瘤患者个性化诊疗,越早获得精准的诊疗,患者生存几率往往越高。所以更快地完成订单,不仅仅是提高了医疗机构等客户的满意度,更是在与死神赛跑,挽救患者的生命。方案帮助客户更快响应弹性变化的客户需求,为医疗机构和患者提供更迅捷的精准医疗服务。
作者:阿里云MVP 宋童