顾黄亮
作者顾黄亮2021-05-11 14:21
技术总监, 苏宁消费金融有限公司

分布式存储在数据治理场景中价值定位及优势解读

字数 6592阅读 1380评论 0赞 2

引言:

随着信息技术呈现井喷式发展,尤其以数字经济为代表的IT新基建将成为新经济的发展动能。同时以云计算、大数据、人工智能、区块链等为代表的数字技术不断涌现,快速向各领域进行融合渗透。在技术导向更为明显的今天,以数据为核心的数字化转型已是大势所趋。在笔者所在的金融领域,更是数据密集型行业,无论在企业经营的方方面面,所积累的海量数据资源,通过对这些数字资产进行管理、应用、治理,并运用到内部管理、过程优化、业务运营和数字反馈等多个领域。

在本篇文章中,通过对分布式存储的发展路径、架构类型、分布式理论,以及在数据治理场景中的实践进行阐述,一起探讨分布式存储技术在数据治理体系中发挥怎样的价值。

一、新数据时代存储所面临的挑战

随着人脸识别、人工智能、 AI 安防、物联网、 5G 等新技术新业务的快速应用,使得数据的增长飞速发展。传统存储系统的集中式架构,导致在扩展性上无法满足数据增长需求。另一方面,随着新业务的应用,性能需求也将越来越高,容量与性能的双重增长,导致存储系统面临新的挑战。

1 、存储扩展能力有限1 、存储扩展能力有限

在新数据时代,数据的高速增长成为主要特性,存储的扩展性成为重要考虑指标之一。传统存储采用集中式架构,存储的扩展性受制于控制器性能,无法提供有效的高扩展能力。另一方面,在传统存储架构中,数据处理均依靠控制器能力,因此,在海量数据的处理上更是难以承载。

2 、硬件封闭,管理复杂

传统存储是个黑盒子,设备管理和数据应用均无法提供可视化操作,在业务数量越来越多,数据应用越来越复杂的今天,无可视化操作的管理系统给运维带来很大的难度。例如 LUN 与主机的映射关系管理、 LUN 的性能、容量规划管理等都需要一对一的调整、管理。无形中增加了管理难度,提升了运维成本。

3 、数据孤岛,数据难共享利用

数据的价值在于利用,传统存储系统常常做到了数据存的作用,但针对数据的管理和利用往往差强人意。目前数据中心一般都有几十个到上百个业务系统,不同业务系统对存储的需求和使用方式都不一样,比如用户数据库业务系统需要有高 IOPS 的块存储服务,广电用户非线性视频编辑、医院 PACS 系统需要大容量大吞吐的文件存储、对象存储等等。存储系统独立建设,从而形成数据孤岛。对于共享数据型业务系统建设或大数据业务建设必须继续重建独立基础架构。重复投资,架构复杂,回报率低下。

4 、可靠性不足

传统存储虽然封闭式独有硬件设计,但在一个引擎情况下,虽然内置两个控制器,在引擎层面依然存在单点故障风险。在数据冗余方面,传统存储架构通常采用 raid 冗余方式,通过热备磁盘的方式作为损害磁盘的替换方案。但 raid 的数据重构,往往需要整个 raid 组的所有磁盘参与重构,从而导致重构的速度很慢而且性能影响较大。如果此时此 raid 组再次发生磁盘损坏,数据丢失一定会发生。因此,在可靠性上依然差强人意。

二、分布式存储解决之道

分布式存储采用分布式架构,利用标准 x86 服务器构建存储资源池,消除了专用硬件的依赖性,并提供块、文件、对象等多种存储服务。此外,分布式架构实现了多节点高并发业务处理,每一个节点都有数据存储和处理能力,所以整个平台具备更高性能和更高可靠性,能够同时满足数据库等结构化数据高 IOPS 需求和视频、图像等非结构化数据高吞吐需求,如下图所示。

三、分布式存储的产品价值

1、灵活扩展满足海量数据存储需求

分布式存储系统,采用Scale-out扩展架构,可实现超大集群规模的部署,从3节点存储集群起步,可实现灵活的扩展至数千节点。存储容量可实现一个集群EB级数据空间。同时由于分布式架构,每一个存储节点都可以提供独立的性能支撑,在高并发的数据处理中,可以实现更高的存储性能,更高的带宽吞吐和IOPS。有效的解决海量数据高扩展和高性能的存储需求。

2、弹性扩容与替换

由于实现了分布式存储平台,那么此平台无论多少个节点都可以看作一个资源池,每一个节点可以看做这个资源池的一个分子。通过系统预装、软件优化可直接将分子加入到整个平台之中,因而,在存储性能或者容量资源不够时,均可以通过添加硬件资源来提升存储集群的相应资源。

另一方面,由于硬件采用标准化X86服务器,并且集群内每个节点均通过软件系统进行统一管理,在硬件设备老旧或者故障时,可便捷的直接更换新硬件,加入集群中。简单方便并且对于上层业务无感知。友善的提供产品更替。并且,更替节点或者磁盘后,存储系统将会进行自动重建数据,平衡各节点的数据分布。此操作无需人工干预即可自动完成。降低使用难度。

3、可视化、标准化让管理更简单

相较于传统存储黑盒子的管理方式,分布式存储实现了标准硬件的交付,标准硬件服务器的运维管理会更简单。在存储生命周期过程中的管理具备以下优点。

部署上线:存储节点内置与硬件深度优化后的存储系统,30分钟即可实现部署上线。告别传统的软件部署安装,调优适配,真正实现了开箱即用。

配置规划:按照系统指示,实现资源分配和管理。资源配置可实现灵活的分配和回收。配置规划全部可视化操作,无需人工手动记录对应关系,一切均可直观使用管理。

管理运维:直观的可视化管理设计,可实现全集群的一页管理。硬件的cpu、网络、磁盘等健康监控,到逻辑卷、用户数、存储集群的稳定运行情况均可动态展示,做到实时监控预警。

故障排查:故障排场从传统的故障告警实现了提前预防。分布式存储可实现集群的健康监测,在故障潜伏期即可实现故障提醒。真正实现故障的提前处理,防患未然。

4、统一存储资源,实现数据共享共用

分布式存储系统通过统一硬件资源池,同时提供块、文件、对象三种存储服务。因而,数据中心的数据将统一存放到云存储资源池中。通过存储管理系统,可根据用户指令实现数据的调动与共享。

另一方面,存储系统内置数据治理,数据分析等于数据强相关的数据应用系统,可实现便捷的数据处理,并将处理好的完整数据对接到大数据平台实现大数据的分析与应用。便捷的实现数据价值的挖掘,助力企业正在实现数字化转型!

5、更高的可靠性

分布式存储系统在数据冗余方面,通过多副本、纠删码等技术,不仅可以容忍多磁盘的故障不影响数据可靠性,在数据重构修复方面效率也大大提升。由于采用了热备空间概念,将原本一块磁盘重构数据的压力均摊到多磁盘上,速度可提升至1T/30min。另一方面,由于采用了无中心化设计,所有存储节点均可承载业务系统,分布式存储还能够容忍服务器故障,存储系统依然稳定可用,可靠性更优。

四、分布式存储和集中式存储的对比

五、常见的几种分布式存储以及应用场景

1、HDFS

主要用于大数据的存储场景,是Hadoop大数据架构中的存储组件。HDFS 在开始设计的时候,就已经明确的它的应用场景,就是大数据服务,主要应用于下列几种场景。

对大文件存储的性能比较高,例如几百兆,几个G的大文件。因为HDFS采用的是以元数据的方式进行文件管理,而元数据的相关目录和块等信息保存在NameNode的内存中, 文件数量的增加会占用大量的NameNode内存。如果存在大量的小文件,会占用大量内存空间,引起整个分布式存储性能下降,所以尽量使用HDFS存储大文件比较合适。

适合低写入,多次读取的业务。就大数据分析业务而言,其处理模式就是一次写入、多次读取,然后进行数据分析工作,HDFS的数据传输吞吐量比较高,但是数据读取延时比较差,不适合频繁的数据写入。

HDFS采用多副本数据保护机制,使用普通的X86服务器就可以保障数据的可靠性,不推荐在虚拟化环境中使用。

2、Ceph

Ceph是目前应用最广泛的开源分布式存储系统,已得到众多厂商的支持,许多超融合系统的分布式存储都是基于Ceph深度定制。而且Ceph已经成为LINUX系统和OpenStack的“标配”,用于支持各自的存储系统。Ceph可以提供对象存储、块设备存储和文件系统存储服务,同时支持三种不同类型的存储服务的特性,这是Ceph最鲜明的特点,主要应用于下列几种场景。

Ceph没有采用HDFS的元数据寻址的方案,而且采用CRUSH算法,数据分布均衡,并行度高。而且在支持块存储特性上,数据可以具有强一致性,可以获得传统集中式存储的使用体验。

对象存储服务,Ceph支持Swift和S3的API接口。在块存储方面,支持精简配置、快照、克隆。在文件系统存储服务方面,支持Posix接口,支持快照。但是目前Ceph支持文件的性能相当其他分布式存储系统,部署稍显复杂,性能也稍弱,一般都将Ceph应用于块和对象存储。

Ceph是去中心化的分布式解决方案,需要提前做好规划设计,对技术团队的要求能力比较高。特别是在Ceph扩容时,由于其数据分布均衡的特性,会导致整个存储系统性能的下降。

3、Swift

主要面向的是对象存储,和Ceph提供的对象存储服务类似。主要用于解决非结构化数据存储问题,和Ceph的对象存储服务的主要区别有几个方面。

客户端在访问对象存储系统服务时,Swift要求客户端必须访问Swift网关才能获得数据。而Ceph使用一个运行在每个存储节点上的OSD获取数据信息,没有一个单独的入口点,比 Swift 更灵活一些。

数据一致性方面,Swift的数据是最终一致,在海量数据的处理效率上要高一些,但是主要面向对数据一致性要求不高,但是对数据处理效率要求比较高的对象存储业务。而 Ceph 是始终跨集群强一致性。主要的应用场景,在OpenStack中,对象存储服务使用的就是Swift,而不是Ceph。

六、分布式存储的基本理论

1、一致性和可用性

由于异常的存在,分布式存储系统设计时往往会将数据冗余存储多份,每一份称为一个副本。这样,当某一个节点出现故障时,可以从其他副本上读到数据。可以这么认为,副本是分布式存储系统容错技术的唯一手段。由于多个副本的存在,如何保证副本之间的一致性是整个分布式系统的理论核心。

数据一致性在平常软件开发的术语中能经常看见,一般可以分成三种类型,分别为时间一致性、事务一致性和数据一致性。

时间一致性,顾名思义,要求所有数据组件的数据在任意时刻都是完全一致的。

事务一致性,只能存在在事务开始前的和事务完成之后,在事务过程中数据有可能不一致,举一个简单的例子进行说明。在银行转账过程中,甲转固定金额一万元给乙,甲的账户金额扣减一万,乙的账户金额加上一万,在事务开始前和事务完成之后都能保证甲和乙的帐是对上的,那么这就是事务一致性,但是在事务过程中有可能会出现甲的账户金额扣减一万, 乙的账户金额没有增加一万的情况,这就是事务一致性出现问题。

数据一致性,在应用程序中涉及多个不同的单机事务,只有在所有的单机事务完成之前和完成之后,数据是完全一致的。

2、数据分布

分布式系统区别于传统单机系统在于能够将数据分布到多个节点,并在多个节点之间实现负载均衡。数据分布的方式主要有两种,一种是哈希分布,如一致性哈希,代表系统为

Amazon的Dynamo 系统,Openstack的Swift系统;另外一种方法是顺序分布,即每张表格上的数据按照主键整体有序,代表系统为Google的Bigtable系统。Bigtable 将一张大表根据主键切分为有序的范围,每个有序范围是一个子表。

3、复制

为了保证分布式存储系统的高可靠和高可用,数据在系统中一般存储多个副本。当某个副本所在的存储节点出现故障时,分布式存储系统能够自动将服务切换到其他的副本,从而实现自动容错。分布式存储系统通过复制协议将数据同步到多个存储节点,并确保多个副本之间的数据一致性。

4、分布式协议

分布式协议有很多,其中以两阶段提交和Paxos协议最具代表性。两阶段提交协议(2PC)或三阶段提交(3PC)用于保证跨多个节点操作的原子性,也就是说,跨多个节点的操作要么在所有节点上全部执行成功,要么全部失败。Paxos 协议用于确保多个节点对某个投票(例如哪个节点为主节点)达成一致。

七、分布式存储在数据治理过程中的定位

为构建数据治理体系,企业不仅要结合业务需求合理规划,更要依托信息技术疏理数据内容、安全存储数据、高效利用数据,存储系统必然是重要支撑。现阶段,多数企业倾向于通过搭建数据湖(Data Lake)来存储包括结构化、半结构化、非结构化数据在内的数据资源,以供上层调用。这样一来,分布式存储在企业数据治理体系中,无疑扮演着重要角色。

那么,分布式存储、数据湖、数据治理之间有何关系呢?本质上,分布式存储是提供存储功能和特性的软件,它将数据从硬件架构上解放出来,使用户专注于数据蕴含的价值。分布式存储通过统一的虚拟管理平台,与前端应用、管理程序、物理空间进行交互,极大简化数据管理。数据湖是以自然格式存储的数据的系统,一般包括结构化数据、半结构化数据、非结构化数据和二进制数据等全部原始数据资源。简而言之,要实现数据存储和管理的优化,基于分布式存储搭建统一数据湖无疑是极佳的选择。

底层硬件设备提供物理存储空间,存储引擎统筹硬件资源搭建数据湖存储,数据湖用来存储所有的原始数据资源,数据湖引擎根据业务应用的需求灵活调用数据湖中的数据,用以跨业务检索或数据共享等,还可以通过 AI、大数据分析等应用挖掘数据价值。分布式存储以分布式架构、弹性扩展、海量数据支撑、管理运维简单等优势,帮助企业搭建稳定可靠的数据平台,轻松实现海量数据的存储和管理,依靠AI 后处理框架挖掘数据价值,成为企业治理数据的好帮手。

八、分布式存储在数据治理过程中的优势

一般来说,分布式存储在数据治理过程中的优势作为分布式底座而存在,在很多企业中,称之为数据中台。

数据中台解决方案,以分布式存储作为能力后台,为数据中台提供存储支撑。基于分布式架构搭建统一存储池;通过生命周期管理、智能QoS等实现自动化管理;集成AI后处理框架,整合企业现有的AI 能力,将数据价值最大化释放,为企业提供数据治理的技术支持。数据中台解决方案能够帮助企业解决数据孤岛、实现数据有序治理和高效利用,一般有下列几种优势。

1、解决海量存储需求

针对企业缺乏统一数据视图、存在数据孤岛等问题,分布式存储因其抽象化、池化等特性,从根本上解决了这类问题。软硬件解耦使得存储软件不再依赖于专有硬件。通过虚拟化,将物理存储空间虚拟成统一资源池,建立统一命名空间,构建多业务共享的数据湖,让数据自由分配、使用和调度,消除信息孤岛,提高资源利用率。其全分布式架构,弹性扩展灵活,支撑EB级容量,满足企业对容量、性能等需求。针对元数据、主数据管理等问题亦有应对之策。所有节点软硬件配置完全对等,无独立的元数据或管理节点,数据均衡分布在每个节点上,任一节点故障不会影响读写访问,轻松实现按需部署、平滑扩容。

2、解决智能管理需求

分布式存储提供丰富的API,根据业务应用要求,自动按需部署存储资源,实现基于存储策略的自动化管理目标,极大地简化管理,节省基础设施投入,降低运维成本。其自定义管理的策略,实现生命周期自动化管理;通过智能缓存、数据分层等特性,让存储介质“物尽其用”,在数据访问性能和存储成本之间实现平衡。

3、解决数据价值释放需求

伴随 AI 技术的兴起,数据治理开始向“智能化”转变。与传统存储不同,分布式存储能够实现内容感知,配合前端应用对海量数据进行大数据分析和价值挖掘。目前绝大多数的数据中台解决方案,均集成了AI后处理框架,帮助企业更好的实现 AI 赋能和价值挖掘;同时还支持 Hadoop、Spark 等大数据分析系统,充分释放数据价值。面对诸多难题,分布式存储帮助企业打造智能化的数据治理平台,解决数据的存储、管理、共享等一系列问题,极大地提升数据治理水平,为数字化转型提供有力支撑。

九、结语

随着数字化转型的进程不断推进,企业逐步深刻认识数据资源对数字化转型的重要意义,促使相关的数据工具技术也不断的迭代和更新。分布式存储在未来以更快的性能、更高的灵活性和开放性、更强的扩展性,实现更便捷的管理、更简单的运维以及更少的投入,帮助企业在数据治理过程中更好的进行企业数据的管理、保护和变现。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

分布式块存储选型优先顺序调查

发表您的选型观点,参与即得50金币。