一种基于Hadoop的数字图书存储系统设计方案

2014-11-11 19:32邹群
黑龙江史志 2014年1期
关键词:存储系统

邹群

[摘 要]数字图书馆是当前各大高校重点建设的信息化系统之一。本文分析了高校数字图书存储面临的问题,提出了一种分层的基于Hadoop的云图书存储方案,该方案具有成本低廉、动态可扩展、可靠性高等优点。

[关键词]Hadoop;数字图书;存储系统

一、引言

随着互联网的蓬勃发展,各大高校开始着手于数字图书馆的建设,数字图书的数据量和数据种类都在高速的增长。随着师生对数字图书的需求日益多样化,如何高效地存储和管理丰富的数字图书信息变得十分重要。传统的数字图书存储方案日益满足不了图书存储业务的需求,因此非常有必要进行基于云架构的海量数字图书存储方案的设计与研究。

目前我国各大高校主要采用SQLServer和Oracle等关系数据库存储数字图书,但是由于数字图书信息量日益庞大,如全部采用关系数据库存储其成本较高,对于盈利性较差的图书部门来说日益增长的费用让人难以承受。而且部分扫描图书体积较大,不适合采用关系数据库保存,如果采用文件式存储,又不利于图书的检索和统计,其安全性、灵活性和扩展性都会受到极大的限制。

二、本方案研究思想

基于此,考虑到现实环境状况和目前国内外相关的学术理论研究水平,本文提出一种基于Hadoop的数字图书云存储方案。Hadoop是一个可以对海量数据作出分布式处理的基础架构,由Apache基金会开发管理,可以部署在廉价的X86硬件设备上。Hadoop数据节点可以按需扩展,能够很容易增大整个系统的处理容量,从而节约存储成本。它的出现为海量数字图书提供了一种全新的、高效的存储、筛选、加工和挖掘方法。本文拟采用基于Linux的Hadoop集群技术,其易于扩充的存储容量,高效处理数据的分布式计算框架,以及基于Hive的元数据管理,使其能够较好地满足海量数字图书存储管理的技术要求。

本方案拟采用开源免费的Hadoop平台用于底层数据存储,然后选择扩展性好、层次分明的SSH(Struts+Spring+Hibernate)框架开发出一套数字图书信息存储系统,实现数字图书的高效管理、使用和维护。基本研究思想是:首先使用Hadoop架构中的HDFS(Hadoop Distributed File System)实现图书文件的分布式存储,然后在HDFS基础上使用HBase技术构建一个分布式的、面向列的开源数据库,最后使用Phoenix开源引擎将针对图书数据的SQL请求转化为针对HBase的操纵。本方案的实现步骤如下:

(1)在普通X86PC集群上构建HDFS;

(2)基于HDFS使用HBase技术构建分布式数据库;

(3)使用Phoenix开源引擎将SQL请求转化为针对HBase的NoSQL操作;

(4)使用SSH框架开发一套数字图书存储系统前台。

三、本方案技术路线

(1)基于HDFS的分布式文件存储技术研究:长久以来传统关系型数据库一直扮演着数据信息存储的重要角色。但是由于图书信息数据的特殊性,经常会有超大文件需要存储,随着时间的推移,需要海量空间来储存这些文件;而且数字图书数据一旦写入很少再更改,对事务要求也比较低。传统数据库无法做到大容量、低价格和高可靠并行。而Hadoop能处理TB大小的文件,其设计建立在更多地响应“一次写入、多次读取”任务的基础上,数据集一旦生成,就会自动复制到不同的存储节点中,然后响应各种类型的数据分析请求,不仅提高了可靠性,也提高了访问带宽,故使用Hadoop来处理数字图书数据尤为合适。

(2)基于HBase技术的分布式数据库研究:HDFS不适合处理低延迟的用户请求,也不适合高效管理海量小文件。HBase是一个很好的选择,它过上层数据管理项目来尽可能地弥补这两条不足。HBase使用缓存和多Master设计来降低来自Client的数据访问压力,以减少延时;利用SequenceFile、MapFile、Har等方式对小文件进行归档,让HDFS能高效地处理好小体积的数字图书。

(3)使用Phoenix引擎实现SQL到NoSQL的转换:Phoenix是一个全新的,相对来说并不为人知的一个开源项目,出自Salesforce.com,旨在打造一个更快的SQL查询工具,面向的对象有HBase或者是部署在HDFS之上的NoSQL数据库,用户通过JDBC接口与其进行交互,降低了系统开发的难度。

(4)基于SSH框架开发的数字图书存储平台:本系统的主要功能是通过Web页面对大量的数字图书数据进行存储管理、显示、查询和统计分析,采用当前流行的Struts+Spring+Hibernate框架编程。系统主要由数据存储系统、数据管理系统和数据显示系统三大模块构成:数据存储系统负责将图书数据存入Hadoop平台;数据管理系统负责图书数据的修改、删除和查询;数据显示系统能够通过调用图书插件显示各种格式的图书数据,如TXT、PDF、CAJ、CHM等。

四、总结

本方案如果能够顺利实施,将会为高校图书馆提供更加准确的图书存储服务,也有利于提高图书馆的现代化管理水平。预期将建成一个结构清晰、可复用性好、维护方便的数字图书存储系统,系统具有以下优点:一、超大规模。系统中大量存储设备协同工作,大大提高了存储容量。二、动态可扩展。可以在不影响系统运营的前提下扩展容量,满足图书数据和用户规模日益增长的需要。三、虚拟化。系统对于使用者是透明的,用户无需关心数据如何存储,用户可以使用各种终端访问系统,获取所需服务。四、高可靠性。Hadoop使用多副本和快速恢复等机制来保障数据的高可靠性。五、价格低廉。本系统可以部署在廉价的X86PC上,可以为经费紧张的图书馆部门节省成本的同时提高设备使用率。因此本系统在图书馆将会具有广阔的应用前景,能够为海量数字图书信息存储提供一套完整的解决方案。

参考文献:

[1]刘贝,汤斌.云存储原理及发展趋势.科技信息,2011(5).

[2]周可,王桦等.云存储技术以及应用.中兴通讯技术,2010(4).

猜你喜欢
存储系统
天河超算存储系统在美创佳绩
面向4K/8K的到来 存储该怎么办?
利用存储系统恢复服务器系统