《分布式存储在数据治理场景中的价值.docx》由会员分享,可在线阅读,更多相关《分布式存储在数据治理场景中的价值.docx(12页珍藏版)》请在第一文库网上搜索。
1、分布式存储在数据治理场景中的价值【摘要】本文通过对分布式存储的发展路径、架构类型、分布式理论,以及在数据治理场景中的实践进行阐述,探讨分布式存储技术在数据治理体系中发挥怎样的价值。引言随着信息技术呈现井喷式发展,尤其以数字经济为代表的IT新基建将成为新经济的发展动能。同时以云计算、大数据、人工智能、区块链等为代表的数字技术不断涌现,快速向各领域进行融合渗透。在技术导向更为明显的今天,以数据为核心的数字化转型已是大势所趋。在笔者所在的金融领域,更是数据密集型行业,无论在企业经营的方方面面,所积累的海量数据资源,通过对这些数字资产进行管理、应用、治理,并运用到内部管理、过程优化、业务运营和数字反馈
2、等多个领域。在本篇文章中,通过对分布式存储的发展路径、架构类型、分布式理论,以及在数据治理场景中的实践进行阐述,一起探讨分布式存储技术在数据治理体系中发挥怎样的价值。一、新数据时代存储所面临的挑战随着人脸识别、人工智能、AI安防、物联网、5G等新技术新业务的快速应用,使得数据的增长飞速发展。传统存储系统的集中式架构,导致在扩展性上无法满足数据增长需求。另一方面,随着新业务的应用,性能需求也将越来越高,容量与性能的双重增长,导致存储系统面临新的挑战。1、存储扩展能力有限在新数据时代,数据的高速增长成为主要特性,存储的扩展性成为重要考虑指标之一。传统存储采用集中式架构,存储的扩展性受制于控制器性能
3、,无法提供有效的高扩展能力。另一方面,在传统存储架构中,数据处理均依靠控制器能力,因此,在海量数据的处理上更是难以承载。2、硬件封闭,管理复杂传统存储是个黑盒子,设备管理和数据应用均无法提供可视化操作,在业务数量越来越多,数据应用越来越复杂的今天,无可视化操作的管理系统给运维带来很大的难度。例如1UN与主机的映射关系管理、1UN的性能、容量规划管理等都需要一对一的调整、管理。无形中增加了管理难度,提升了运维成本。3、数据孤岛,数据难共享利用数据的价值在于利用,传统存储系统常常做到了数据存的作用,但针对数据的管理和利用往往差强人意。目前数据中心一般都有几十个到上百个业务系统,不同业务系统对存储的
4、需求和使用方式都不一样,比如用户数据库业务系统需要有高IOPS的块存储服务,广电用户非线性视频编辑、医院PACS系统需要大容量大吞吐的文件存储、对象存储等等。存储系统独立建设,从而形成数据孤岛。对于共享数据型业务系统建设或大数据业务建设必须继续重建独立基础架构。重复投资,架构复杂,回报率低下。4、可靠性不足传统存储虽然封闭式独有硬件设计,但在一个引擎情况下,虽然内置两个控制器,在引擎层面依然存在单点故障风险。在数据冗余方面,传统存储架构通常采用raid冗余方式,通过热备磁盘的方式作为损害磁盘的替换方案。但raid的数据重构,往往需要整个raid组的所有磁盘参与重构,从而导致重构的速度很慢而且性
5、能影响较大。如果此时此raid组再次发生磁盘损坏,数据丢失一定会发生。因此,在可靠性上依然差强人意。二、分布式存储解决之道分布式存储采用分布式架构,利用标准x86服务器构建存储资源池,消除了专用硬件的依赖性,并提供块、文件、对象等多种存储服务。此外,分布式架构实现了多节点高并发业务处理,每一个节点都有数据存储和处理能力,所以整个平台具备更高性能和更高可靠性,能够同时满足数据库等结构化数据高IOPS需求和视频、图像等非结构化数据高吞吐需求,如下图所示。三、分布式存储的产品价值1、灵活扩展满足海量数据存储需求分布式存储系统,采用SCa1e-OUt扩展架构,可实现超大集群规模的部署,从3节点存储集群
6、起步,可实现灵活的扩展至数千节点。存储容量可实现一个集群EB级数据空间。同时由于分布式架构,每一个存储节点都可以提供独立的性能支撑,在高并发的数据处理中,可以实现更高的存储性能,更高的带宽吞吐和IOPS。有效的解决海量数据高扩展和高性能的存储需求。2、弹性扩容与替换由于实现了分布式存储平台,那么此平台无论多少个节点都可以看作一个资源池,每一个节点可以看做这个资源池的一个分子。通过系统预装、软件优化可直接将分子加入到整个平台之中,因而,在存储性能或者容量资源不够时,均可以通过添加硬件资源来提升存储集群的相应资源。另一方面,由于硬件采用标准化X86服务器,并且集群内每个节点均通过软件系统进行统一管
7、理,在硬件设备老旧或者故障时,可便捷的直接更换新硬件,加入集群中。简单方便并且对于上层业务无感知。友善的提供产品更替。并且,更替节点或者磁盘后,存储系统将会进行自动重建数据,平衡各节点的数据分布。此操作无需人工干预即可自动完成。降低使用难度。3、可视化、标准化让管理更简单相较于传统存储黑盒子的管理方式,分布式存储实现了标准硬件的交付,标准硬件服务器的运维管理会更简单。在存储生命周期过程中的管理具备以下优点。部署上线:存储节点内置与硬件深度优化后的存储系统,30分钟即可实现部署上线。告别传统的软件部署安装,调优适配,真正实现了开箱即用。配置规划:按照系统指示,实现资源分配和管理。资源配置可实现灵
8、活的分配和回收。配置规划全部可视化操作,无需人工手动记录对应关系,一切均可直观使用管理。管理运维:直观的可视化管理设计,可实现全集群的一页管理。硬件的cpu、网络、磁盘等健康监控,到逻辑卷、用户数、存储集群的稳定运行情况均可动态展示,做到实时监控预警。故障排查:故障排场从传统的故障告警实现了提前预防。分布式存储可实现集群的健康监测,在故障潜伏期即可实现故障提醒。真正实现故障的提前处理,防患未然。4、统一存储资源,实现数据共享共用分布式存储系统通过统一硬件资源池,同时提供块、文件、对象三种存储服务。因而,数据中心的数据将统一存放到云存储资源池中。通过存储管理系统,可根据用户指令实现数据的调动与共
9、享。另一方面,存储系统内置数据治理,数据分析等于数据强相关的数据应用系统,可实现便捷的数据处理,并将处理好的完整数据对接到大数据平台实现大数据的分析与应用。便捷的实现数据价值的挖掘,助力企业正在实现数字化转型!5、更高的可靠性分布式存储系统在数据冗余方面,通过多副本、纠删码等技术,不仅可以容忍多磁盘的故障不影响数据可靠性,在数据重构修复方面效率也大大提升。由于采用了热备空间概念,将原本一块磁盘重构数据的压力均摊到多磁盘上,速度可提升至1T30min0另一方面,由于采用了无中心化设计,所有存储节点均可承载业务系统,分布式存储还能够容忍服务器故障,存储系统依然稳定可用,可靠性更优。四、分布式存储和
10、集中式存储的对比五、常见的几种分布式存储以及应用场景1、 HDFS主要用于大数据的存储场景,是HadOOP大数据架构中的存储组件。HDFS在开始设计的时候,就已经明确的它的应用场景,就是大数据服务,主要应用于下列几种场景。对大文件存储的性能比较高,例如几百兆,几个G的大文件。因为HDFS采用的是以元数据的方式进行文件管理,而元数据的相关目录和块等信息保存在NaITIeNode的内存中,文件数量的增加会占用大量的NameNOde内存。如果存在大量的小文件,会占用大量内存空间,引起整个分布式存储性能下降,所以尽量使用HDFS存储大文件比较合适。适合低写入,多次读取的业务。就大数据分析业务而言,其处
11、理模式就是一次写入、多次读取,然后进行数据分析工作,HDFS的数据传输吞吐量比较高,但是数据读取延时比较差,不适合频繁的数据写入。HDFS采用多副本数据保护机制,使用普通的X86服务器就可以保障数据的可靠性,不推荐在虚拟化环境中使用。2、 CephCePh是目前应用最广泛的开源分布式存储系统,已得到众多厂商的支持,许多超融合系统的分布式存储都是基于CePh深度定制。而且CePh已经成为1INUX系统和OPenStaCk的“标配”,用于支持各自的存储系统。CePh可以提供对象存储、块设备存储和文件系统存储服务,同时支持三种不同类型的存储服务的特性,这是CePh最鲜明的特点,主要应用于下列几种场景
12、。CePh没有采用HDFS的元数据寻址的方案,而且采用CRUSH算法,数据分布均衡,并行度高。而且在支持块存储特性上,数据可以具有强一致性,可以获得传统集中式存储的使用体验。对象存储服务,CePh支持SWift和S3的AP1接口。在块存储方面,支持精简配置、快照、克隆。在文件系统存储服务方面,支持POSiX接口,支持快照。但是目前CePh支持文件的性能相当其他分布式存储系统,部署稍显复杂,性能也稍弱,一般都将CePh应用于块和对象存储。CePh是去中心化的分布式解决方案,需要提前做好规划设计,对技术团队的要求能力比较高。特别是在CePh扩容时,由于其数据分布均衡的特性,会导致整个存储系统性能的
13、下降。3、 Swift主要面向的是对象存储,和CePh提供的对象存储服务类似。主要用于解决非结构化数据存储问题,和Ceph的对象存储服务的主要区别有几个方面。客户端在访问对象存储系统服务时,Swift要求客户端必须访问Swift网关才能获得数据。而CePh使用一个运行在每个存储节点上的OSD获取数据信息,没有一个单独的入口点,比SWift更灵活一些。数据一致性方面,SWift的数据是最终一致,在海量数据的处理效率上要高一些,但是主要面向对数据一致性要求不高,但是对数据处理效率要求比较高的对象存储业务。而Ceph是始终跨集群强一致性。主要的应用场景,在OpenStack中,对象存储服务使用的就是
14、SWift,而不是Ceph。六、分布式存储的基本理论1、一致性和可用性由于异常的存在,分布式存储系统设计时往往会将数据冗余存储多份,每一份称为一个副本。这样,当某一个节点出现故障时,可以从其他副本上读到数据。可以这么认为,副本是分布式存储系统容错技术的唯一手段。由于多个副本的存在,如何保证副本之间的一致性是整个分布式系统的理论核心。数据一致性在平常软件开发的术语中能经常看见,一般可以分成三种类型,分别为时间一致性、事务一致性和数据一致性。时间一致性,顾名思义,要求所有数据组件的数据在任意时刻都是完全一致的。事务一致性,只能存在在事务开始前的和事务完成之后,在事务过程中数据有可能不一致,举一个简
15、单的例子进行说明。在银行转账过程中,甲转固定金额一万元给乙,甲的账户金额扣减一万,乙的账户金额加上一万,在事务开始前和事务完成之后都能保证甲和乙的帐是对上的,那么这就是事务一致性,但是在事务过程中有可能会出现甲的账户金额扣减一万,乙的账户金额没有增加一万的情况,这就是事务一致性出现问题。数据一致性,在应用程序中涉及多个不同的单机事务,只有在所有的单机事务完成之前和完成之后,数据是完全一致的。2、数据分布分布式系统区别于传统单机系统在于能够将数据分布到多个节点,并在多个节点之间实现负载均衡。数据分布的方式主要有两种,一种是哈希分布,如一致性哈希,代表系统为Amazon的Dynamo系统,Open
16、stack的Swift系统;另夕I种方法是顺序分布,即每张表格上的数据按照主键整体有序,代表系统为Goog1e的Bigtab1e系统。Bigtab1e将一张大表根据主键切分为有序的范围,每个有序范围是一个子表。3、复制为了保证分布式存储系统的高可靠和高可用,数据在系统中一般存储多个副本。当某个副本所在的存储节点出现故障时,分布式存储系统能够自动将服务切换到其他的副本,从而实现自动容错。分布式存储系统通过复制协议将数据同步到多个存储节点,并确保多个副本之间的数据一致性。4、分布式协议分布式协议有很多,其中以两阶段提交和PaXoS协议最具代表性。两阶段提交协议(2PC)或三阶段提交(3PC)用于保证跨多个节点操作的原子性,也就是说,跨多个节点的操作要么在所有节点上全部执行成功,要么全部失败。Paxos协议用于确保多个节点对某个投票(例如哪个节点为主节点)达成一致。