鄒群
[摘 要]數字圖書館是當前各大高校重點建設的信息化系統之一。本文分析了高校數字圖書存儲面臨的問題,提出了一種分層的基于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).