基于云数据库的高校数字图书馆升级方案研究

2017-03-14 11:49邱芬朱宜炳
科技视界 2016年27期
关键词:应用研究

邱芬 朱宜炳

【摘 要】随着移动互联网的发展,高校数字图书馆建设开始进入“云”时代。传统的数字图书馆采用关系数据库和普通文件系统存储电子书籍,存在着诸多不便。如何将其平滑过渡到云图书馆是一个值得研究的课题。本文分析了传统数字图书馆面临的问题,提出了一种基于HBase技术的升级方案,该方案屏蔽了NoSQL与SQL数据库之间的差异,无需对原有数字图书馆系统做二次开发,即可访问Hadoop系统中存储的数字资源。

【关键词】HBase;云图书馆;应用研究

1 高校数字图书馆建设现状

随着移动互联网和智能设备的蓬勃发展,随时随地进行无纸化学习变得越来越重要,各大高校开始着手于数字图书馆建设以顺应这一趋势[1]。由于师生对数字图书需求的日益多样化,以及数字图书的数据量和数据种类呈指数增长,图书存储对服务器空间的需求也急剧膨胀,非结构化数据的存储需求突出[2]。同时师生对数字图书服务的及时性要求越来越高,使得高效存储和管理丰富的数字图书对资源和资金的消耗成为高校图书馆沉重的负担[4]。

由于历史原因,很多高校的数字图书馆系统缺乏顶层设计和统一规划,主要采用Sybase、DB2和Oracle等关系数据库存储数字图书。随着数字图书数量快速增加,全部采用关系数据库存储其成本较高,易用性和时效性也得不到保障。而且相当数量的数字图书体积较大,并不适合存进关系数据库,如果采用文件式存储,数据的安全性、灵活性和扩展性都会受到极大的限制,也又不利于数字图书的备份、检索和统计[3]。而且,有些数字图书业务独占一个数据库,数据冗余度高、共享性差。因此,传统的数字图书存储方案日益满足不了高校对数字图书服务的需求,因此进行海量数字图书存储方案的研究是十分有必要的[5]。

2 云图书馆技术研究

基于Hadoop或Spark的云计算方案对海量数据进行云存储是当前计算机领域的研究热点。云计算是一种按需交付和使用信息服务的模式,它是服务器的横向扩展。而云存储则是云计算的基础,云存储通过计算机网格和分布式协同处理系统将网络中大量不同类型的存储设备集接,作为一个服务体系对外提供接口供各种客户端访问,这种存储对用户是透明的。对于高校的数字图书馆而言,不仅要能够存储海量图书数据,还要能对数据进行高速I/O, 由于Hadoop在云计算和云存储领域具有很高的人气,很多商业公司采用Hadoop软件构建自己的私有云,因此本文选择Hadoop开源框架解决种需求[6]。

首先,Hadoop以一种可伸缩且高效的方式处理图书文档。由于HDFS具有心跳算法、数据块冗余、数据流式访问等机制,自动维护着数字图书的多个副本,因此具有较高的容错性,可以保障数字图书的安全性和完整性,非常适合图书馆信息化建设对文档的分布式存储需求。其次,Map/Reduce框架将对数字图书的CRUD访问分解为并行的Map任务和Reduce任务。两类任务都可以运行在多台服务器上,从而可以轻易处理PB级图书数据。

HBase是Apache基金会Hadoop项目的子项目,是一个适合存储非结构化数据的云数据库,与一般的关系数据库不同,HBase以表的形式存储数据,但是其基于列而不是基于行的模式。尽管每个HBase表由行和列组成,但每列只属于一个特定的用户。每个元素在底层HDFS系统中保存了多个版本,由时间戳来标识。行并作为检索记录的主键,也是数据在表中的唯一标识。HBase在HDFS之上提供了与Google公司BigTable类似的能力,和BigTable提供的分布式数据存储一样,HBase也实现了基于云存储的具有高性能、高可靠、列存储、可伸缩的分布式数据库系统,可用于存储用户的非结构化数据[3]。

3 本方案技术路线

本文采用研究学习与应用开发相结合的方式,首先深入研究了Hadoop的系统架构和HDFS的运行原理,接着对Hadoop数据文件的读写机制和Hadoop性能调优进行了研究和分析,基本研究思想是:首先使用Hadoop架构中的HDFS实现数字图书云存储系统,然后在HDFS基础上使用HBase技术构建一个分布式的、面向列的云数据库,最后使用开源的Phoenix引擎将针对图书数据的SQL访问转化为针对HBase的NoSQL调用,从而避免大规模修改原有的数字图书馆系统。本方案的实现步骤如下:

(1)在图书馆服务器集群上构建HDFS云存储系统。传统关系型数据库在数字图书馆建设中一直扮演着图书存储的重要角色。由于数字图书数据一旦写入很少再修改,也较少有事务要求,Hadoop的設计建立在更多地响应“一次写入、多次读取”的基础上,数据集一旦生成就较少修改,然后自动复制到不同的存储节点中,不仅提高了可靠性,也提高了系统带宽,故使用Hadoop来处理数字图书尤为合适[3]。

(2)使用HBase技术在HDFS云存储系统之上构建分布式云数据库。HDFS存储系统不适合处理低延迟的用户请求,也难以高效管理海量小文件。HBase可以弥补这两条不足。HBase通过使用缓存和多Master设计来降低来自Client的数据访问压力,以减少延时;同时利用MapFile、SequenceFile等方式对小文件进行压缩打包,让HDFS存储系统能高效地处理好小体积的数字图书。

(3)使用开源的Phoenix引擎将针对云数据库的SQL访问转化为NoSQL访问。Phoenix引擎出自Salesforce公司,是一个实现SQL到NoSQL转换的项目,其可以高效地通过SQL语句操纵HBase或者MangoDB数据库,用户通过JDBC接口与其进行交互,就像访问传统的关系数据库一样。

(4)将原有数字图书馆系统的关系数据库访问地址映射为新的云数据库访问地址。很多高校的数字图书馆建设在软硬件上已经投入了大量的资金,在不影响原系统运行的前提下可以平滑实现关系数据库到云数据库的过渡。

4 总结

本方案如果能够顺利实施,将有利于提高图书馆对信息资产的管理水平,从而为广大师生提供更加便利的在线学习服务。通过对HBase和HDFS等技术的研究,结合图书馆对海量数字图书存储的实际需求,设计的方案具有以下优点:(1)存储容量动态可扩展。系统中大量服务器协同工作,可以在不影响系统运行的前提下动态扩展,满足数字图书存储规模日益增长的需要。(2)信息资源虚拟化。基于HBase的云数据库对于使用者是透明的,用户无需关心数据如何存储,原有MIS系统也只需要做少量修改。(3)高可靠高。Hadoop的多副本和快速恢复等机制可以充分保障数据的可靠性。而且HBase和Phoenix引擎可以部署在普通服务器上,从而为图书馆部门节省成本的同时提高设备使用效率。因此本方案对数字化校园建设中的数据存储和服务器使用规划都具有一定的参考价值。

【参考文献】

[1]朱锦益.大数据时代数字化图书馆建设[J].图书档案,2016,2.

[2]林志生.云计算技术在高校图书馆管理中的应用[J].产业与经济论坛,2016,15(6).

[3]王庆波,金涬,何乐等.虚拟化与云计算[M].电子工业出版社,2012:110-180.

[4]刘安定.云环境下图书馆信息资源建设的机遇[J].赤峰学院学报,2016,3.

[5]张兴旺.云图书馆基础理论研究与进展[J].图书馆论坛,2012,9.

[6]高新成.基于Hadoop的校园云存储系统的研究[J].陕西理工学院学报,2012,8.

[责任编辑:朱丽娜]

猜你喜欢
应用研究
节奏训练在初中音乐课程教学中的应用研究
AG接入技术在固网NGN的应用研究
空域分类关键技术及应用研究
分层教学,兼顾全体