引言
目前,许多来自于电信行业、石油石化行业、数字媒体行业、医疗行业,以及Web2.0、金融分析行业的企业级用户,正面临文件和数据量的指数级增长,现有的文件存储设施不能适应业务增长,系统管理复杂,系统成本、运营成本不断上升,存储设施面临着多重挑战等问题。如邮件、图片、音频、视频等非结构化数据爆炸性增长;越来越多的企业级应用对高性能联机事务处理能力和复杂查询操作能力的需求不断提高;对数据访问带宽和响应时间以及数据的并行访问业务有更高的要求;企业现有系统的扩展能力差,难以满足企业快速变化的业务需求。传统的NAS方案扩展能力有限,并且面向企业级的NAS设备价格往往非常昂贵,购买以及安装独立的NAS设备,将面临着巨大的经济压力和额外的维护成本。因此,为企业提供一种经济可行的、易于管理的存储平台,可以帮助企业使用尽可能低的成本完成数据与计算双重密集型任务。
云计算具有动态部署的功能,可以利用廉价的服务器构建企业级存储平台,具有更加弹性、更加安全以及更低的成本。尤其是私有云能够保护企业核心数据的安全,相比公共云服务,私有云服务所带来的风险会降低很多。企业针对关键业务应用、核心数据存储以及数据的高可靠性需求上更容易接受企业私有云的运营模式。
1 企业私有云存储模式
1.1 Hadoop 分布式计算开源框架
Hadoop是Apache下的一个开源项目,由HDFS、MapReduce、HBase、Hive和ZooKeeper等项目组成。Hadoop 主要由两部分构成:Hadoop 分布式文件系统(HDFS)和在HDFS上的MapReduce 编程模型实现[3]。HDFS是Google GFS的开源版本的实现,作为一个高度容错的分布式文件系统,它能够提供高吞吐量的数据访问,适合存储海量(PB 级)的大文件(通常超过64 M),其原理见图1。
图1 HDFS 分布式文件系统架构
HDFS采用Master/Slave 结构。其中NameNode主要负责维护集群内的元数据,所有块的元数据都被注册在NameNode,对外提供创建、打开、删除和重命名文件或目录的功能。DataNode负责存储数据,并提负责处理数据的读写请求。DataNode定期向NameNode上报心跳,NameNode通过响应心跳来控制DataNode。
Hadoop HBase是基于Google Bigtable的开源实现,属于Hadoop的一个子项目。Hadoop HBase可通过利用Hadoop HDFS提供的文件存储系统,HadoopMapReduce 提供的海量数据处理能力和HadoopZookeeper提供的协同服务,构建一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。这种分布式存储系统的特点是实现可在廉价节点上搭建起大规模结构化存储集群。HBase由一个主节点(Master)协调一个或多个区域服务器(Regionserver)从节点组成,见图2。
Hadoop HBase主节点负责引导初始安装,分配区域给已注册的区域服务器,恢复区域服务器的故障。主节点负载较轻,区域服务器0到多个区域,响应客户端的读/写请求。区域服务器同时负责通知主节点,区域分裂新的子区域的信息,以便主节点管理父区域的下线及替代子区域的分派。HBase依赖于Zookeeper提供协同服务,默认情况下,一个HBase对应一个Zookeeper实例为集群状态提供授权。
图2 HBase 系统总体结构
1.2 云存储模式与传统存储模式比较
云存储概念是在云计算概念上延伸和发展出来的一个新的概念。云存储的本质是服务,云存储通过计算机集群技术、网格技术和分布式文件系统等技术,将网络中大量各种不同类型的存储设备组织起来协同工作,提供统一的数据存储服务和业务访问功能的一种存储模式。企业私有云存储模式实现企业现有资源的改造扩展,从而应对企业级用户高速增长的数据量存储业务与数据高速处理业务。
云存储模式比较传统存储模式具有如下特点:第一,在功能上,相比传统存储模式面向如高性能计算、事务处理应用,云存储模式具有面向多种类型的网络在线存储服务的特点;第二,在性能上,云存储模式具有高数据安全性、高可靠性、高效率,以及适合处理大规模用户、网络环境复杂多变等业务的特点;第三,在数据管理功能上,云存储模式需要满足传统文件访问方式,同时能够支持海量数据管理并提供公共服务支撑功能,以方便云存储系统后台数据的维护。
基于上述特点,云存储模式整体架构自底向上依次是:数据存储层、数据管理层、数据服务层以及云端应用层。数据存储层包括底层的存储介质部署、计算机集群搭建以及设备虚拟化过程;数据管理层实现用户权限控制、数据安全等业务;数据服务层实现数据存储、共享和备份业务逻辑;云端应用层实现用户的定制业务。云存储模式整体架构见图3。
图3 云存储模式整体架构
2 企业私有云存储架构模型
HDFS具有高容错性和高吞吐量,以较低的成本将海量文件存储在普通机器集群上[8]。HDFS作为企业私有云存储平台的底层分布式文件系统,适合处理和存储大文件。但是,HDFS系统结构不适合小文件的处理和存储业务,可以利用HDFS作为对象数据存储容器,通过在HDFS上层构建一个抽象层,对外提供对象存储功能。基于Hadoop的企业私有云存储架构模型见图4。
模型由对象访问接口层、对象元数据存储层、对象实体数据存储和数据归档管理层四部分组成。对象访问接口层对外提供API接口供上层云应用业务调用,同时提供了REST、SOAP和HTTPS支持WEB业务的访问,提供NFS网关实现网络文件共享服务。对象元数据存储层是基于HBase实现,负责对象数据创建、查询和删除等业务,利用HBase可以满足系统的扩展性和高可靠性。对象实体数据存储基于HDFS分布式文件系统,能够实现对象数据和归档文件的可靠存储,同时支持数据冗余。数据归档管理层利用Hadoop MapReduce模块实现对零散小对象文件的归档业务,以及归档文件存储管理和失效对象的磁盘空间回收等功能。
图4 基于Hadoop 的企业私有云存储架构模型
对象访问接口层提供了主流的Web服务接口,主要负责为云端应用提供访问接口。在Hadoop开源框架下实现可供应用层调用的API接口、外部应用可以通过接口调用实现对对象元数据的创建、查询和删除等功能。
对象元数据存储层主要利用HBase开源架构实现了对象元数据的管理等功能。HBase介于NoSQL和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务。该模型的对象元数据存储层共设计了三张表,分别是用于存储对象元数据索引信息的索引容器表,索引容器表结构见表1,用于描述对象元数据信息的对象元数据表,对象元数据索引表见表2和描述用户删除的失效数据的已删除数据表,已删除数据表结构见表3。对象元数据存储层建立在HBase之上,通过管理和维护这三张表实现了对象元数据的创建、查询和删除,以及小文件数据归档的功能。当访问层提交创建数据请求后,系统会检查访问合法性和索引容器表的容量,如果索引容器表的容量不够,将会创建一条新的对象元数据索引容器记录。通过检查后将对象元数据信息添加至对象元数据索引表,同时更新索引容器表的容量,最后将对象元数据存储到HDFS文件系统中。当访问层提交删除数据请求后,系统会检查访问合法性,通过检查后删除对象元数据在对象元数据索引表中的索引信息,同时在已删除数据表添加一条删除数据记录,更新索引容器表容量,进入数据归档周期时,系统将会删除HDFS文件系统中的对象元数据。
表1 索引容器表
表2 对象元数据索引表
表3 已删除对象元数据表
数据归档管理层的主要任务是周期性执行的MapReduce任务,实现对象实体数据的归档和压缩工作。系统周期性的扫描对象元数据存储层元数据信息表,统计未归档的数据信息,根据配置的归档文件大小限制,对数据进行分组。分组完成后将每个分组中的对象文件合并到一个归档文件中,更新相关对象元数据信息表中的数据标识信息。
3 结论
基于Hadoop实现的企业私有云存储平台,能够为企业提供一种廉价的大规模数据存储以及高速数据处理的解决方案。同时,该存储平台具有弹性扩展的特性,能够满足企业对存储平台实时的按需扩容的需求。基于HBase实现的对象存储模型,以HDFS作为数据存储的容器,解决了数据冗余备份的问题。针对企业部门众多,各部门数据格式不同等情况[10],企业私有云存储平台解决了非结构化和半结构化的松散数据存储,以及存储层的可靠性和可扩展性等问题。虽然HDFS系统结构不适合存储大量小文件,但是通过应用MapReduce分布式计算处理架构在后台提供对象归档管理功能,使得该模型可以满足大量小文件的存储难题。同时,基于Hadoop的企业私有云存储平台在对象访问接口层实现了功能丰富的接口,能够满足企业日益增长的应用需求。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/