梁俊榮
〔摘要〕Hadoop中的HDFS是大數(shù)據(jù)存儲處理的關(guān)鍵技術(shù),HDFS在存儲海量數(shù)據(jù)集中有著高效、可靠的優(yōu)點。為解決圖書館傳統(tǒng)關(guān)系型數(shù)據(jù)庫在海量數(shù)據(jù)存儲和訪問效率中存在的瓶頸問題,本文提出了一種基于Hadoop的圖書館復(fù)合大數(shù)據(jù)存儲系統(tǒng)。該復(fù)合大數(shù)據(jù)存儲系統(tǒng)能夠滿足圖書館大數(shù)據(jù)存儲需求,提高大數(shù)據(jù)存儲效率,可高效保障圖書館大數(shù)據(jù)決策的需求。
〔關(guān)鍵詞〕Hadoop;圖書館;大數(shù)據(jù);存儲系統(tǒng)
DOI:10.3969/j.issn.1008-0821.2017.02.012
〔中圖分類號〕G25076〔文獻(xiàn)標(biāo)識碼〕A〔文章編號〕1008-0821(2017)02-0063-05
〔Abstract〕HDFS in Hadoop is one of the key technologies of large data storage treatment,HDFS is efficient and reliable in large data storage.To solve the bottleneck problems of the traditional relationship database in compound big data storage and access efficiency of library,in this paper,a compound big data storage system design for library based on hadoop was proposed.The compound big data storage system could solve the problem of big data storage in library,could improve the efficiency of big data storage,and satisfied the big data decision demand of library.
〔Key words〕Hadoop;library;big data;storage system
隨著云計算技術(shù)、傳感器網(wǎng)絡(luò)技術(shù)、移動寬帶傳輸技術(shù)和終端設(shè)備制造技術(shù)的發(fā)展,圖書館的服務(wù)模式和讀者閱讀方式發(fā)生了巨大變革,以讀者為中心的個性化服務(wù)定制和服務(wù)內(nèi)容的智能推送,已經(jīng)成為圖書館當(dāng)前的主要服務(wù)模式。在服務(wù)模式和讀者閱讀方式多樣化發(fā)展的同時,圖書館的用戶服務(wù)數(shù)據(jù)和讀者閱讀相關(guān)數(shù)據(jù)快速遞增,已從TB、PB量級向EB量級急速增長,當(dāng)前,圖書館數(shù)據(jù)環(huán)境已具有海量(Volume)、快速(Velocity)、多類型(Variety)、難辨識(Veracity)和低價值密度(Value)的大數(shù)據(jù)5“V”特性,圖書館已進(jìn)入大數(shù)據(jù)時代[1]。
圖書館大數(shù)據(jù)主要由用戶服務(wù)數(shù)據(jù)、IT基礎(chǔ)設(shè)施運行數(shù)據(jù)、視頻監(jiān)控數(shù)據(jù)、讀者個體特征數(shù)據(jù)、讀者閱讀行為數(shù)據(jù)、服務(wù)器監(jiān)控數(shù)據(jù)、傳感器網(wǎng)絡(luò)數(shù)據(jù)、閱讀終端數(shù)據(jù)等組成。這些大數(shù)據(jù)每年平均以50%的速度快速激增,其中非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)占據(jù)大數(shù)據(jù)總量的85%以上。此外,圖書館大數(shù)據(jù)決策系統(tǒng)對數(shù)據(jù)的存取具有高效、精準(zhǔn)、快速和實時的要求,傳統(tǒng)的關(guān)系型數(shù)據(jù)存儲系統(tǒng)已不能滿足圖書館大數(shù)據(jù)海量、指數(shù)級增長、快速存取、高吞吐率的存儲需求,因此,必須構(gòu)建新型的大數(shù)據(jù)存儲系統(tǒng),才能滿足圖書館大數(shù)據(jù)管理與決策的需求。
Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System,簡稱HDFS),用戶可以在不了解分布式底層細(xì)節(jié)的情況下開發(fā)分布式程序,充分利用集群的威力進(jìn)行高速運算和存儲。HDFS具有高可靠性、高可擴(kuò)展性及高容錯性的特點,并且設(shè)計用來部署在低廉的(Low-cost)硬件設(shè)備上。同時,它支持以高吞吐量(High Throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序[2]。2004年,Google公司提出的MapReduce編程模型,解決了大型分布式計算中的編程模型問題[3]。2006年,雅虎將Hadoop項目從Nutch搜索引擎項目中獨立,成為Apache的一個單獨子項目。隨后,Apache基金會根據(jù)MapReduce模型開發(fā)出開源的大數(shù)據(jù)處理框架Hadoop,在Yahoo、IBM、百度等公司得到了大量的應(yīng)用和快速推廣[4]。截至2013年10月,Hadoop220版本已經(jīng)成功發(fā)布,F(xiàn)acebook、阿里巴巴、百度和騰訊都采用Hadoop部署了大數(shù)據(jù)處理平臺[5]。針對圖書館大數(shù)據(jù)環(huán)境特點,基于Hadoop技術(shù)構(gòu)建圖書館大數(shù)據(jù)存儲系統(tǒng),它可滿足圖書館對復(fù)雜大數(shù)據(jù)的存儲、查詢、分析和決策的需求。
1圖書館大數(shù)據(jù)存儲的需求與挑戰(zhàn)
大數(shù)據(jù)時代,伴隨數(shù)據(jù)總量和數(shù)據(jù)環(huán)境復(fù)雜度的快速增長,圖書館對數(shù)據(jù)庫系統(tǒng)的安全性、存儲容量、管理效率、讀寫性能、存儲經(jīng)濟(jì)性和可擴(kuò)展性等提出了更高的要求,要求存儲系統(tǒng)具有較高的安全性、集成度、穩(wěn)定性、可控性和可擴(kuò)展性,能夠滿足圖書館海量數(shù)據(jù)存儲管理與大數(shù)據(jù)決策的需求。
11大數(shù)據(jù)存儲海量和快速的需求
當(dāng)前,伴隨圖書館服務(wù)模式和讀者閱讀方式多樣化的發(fā)展,圖書館的數(shù)據(jù)總量已從TB、PB量級向EB量級急速增長,這些以指數(shù)級快速增長的大數(shù)據(jù)對圖書館的存儲系統(tǒng)提出了新的要求,首先要求存儲系統(tǒng)具有高數(shù)據(jù)吞吐量、準(zhǔn)確和動態(tài)存取的特點,能夠根據(jù)大數(shù)據(jù)采集、傳輸和決策需求,實現(xiàn)多個不同地點的部署和具有廣域擴(kuò)展的能力。其次,針對讀者個性化服務(wù)對大數(shù)據(jù)決策實時性的需求,大數(shù)據(jù)存儲系統(tǒng)應(yīng)實現(xiàn)快速的數(shù)據(jù)存儲、查詢、讀取和傳輸操作,為圖書館大數(shù)據(jù)決策提供可靠的數(shù)據(jù)存儲與讀取支持。第三,圖書館大數(shù)據(jù)具有多數(shù)據(jù)源和多結(jié)構(gòu)類型的特點,其大數(shù)據(jù)存儲也以非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)存儲為主。針對不同的大數(shù)據(jù)總量、數(shù)據(jù)類型和存儲模式需求,大數(shù)據(jù)存儲系統(tǒng)在設(shè)計上應(yīng)采取多種數(shù)據(jù)存儲格式和存儲介質(zhì)并存的特點。
12大數(shù)據(jù)存儲的安全性需求
大數(shù)據(jù)存儲安全性,是關(guān)系圖書館服務(wù)可靠性和讀者隱私保護(hù)有效的關(guān)鍵問題。首先,圖書館大數(shù)據(jù)存儲系統(tǒng)應(yīng)保證數(shù)據(jù)的完整性,確保數(shù)據(jù)不被截獲、監(jiān)聽、竊取、篡改、復(fù)制、破壞或丟失。并能夠通過圖書館部署的數(shù)據(jù)安全監(jiān)控和網(wǎng)絡(luò)安全監(jiān)控設(shè)備,對與大數(shù)據(jù)存儲相關(guān)的數(shù)據(jù)存儲系統(tǒng)、網(wǎng)絡(luò)傳輸系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)傳輸節(jié)點和應(yīng)用軟件進(jìn)行安全監(jiān)控,及時發(fā)現(xiàn)大數(shù)據(jù)存儲面臨的安全問題。其次,應(yīng)通過用戶訪問權(quán)限授權(quán)、限制和特權(quán)審核的方式,對訪問數(shù)據(jù)庫存儲系統(tǒng)的圖書館員工和其它訪問者,進(jìn)行身份與訪問權(quán)限限制,防止惡意用戶通過獲取超級權(quán)限來訪問和侵犯大數(shù)據(jù)庫[6]。第三,圖書館網(wǎng)絡(luò)是圖書館大數(shù)據(jù)存取的載體,如何通過有效檢查大數(shù)據(jù)存儲區(qū)域網(wǎng)絡(luò)的安全性和存儲安全控制日志(比如防火墻、IDS和用戶訪問日志等),是及時、準(zhǔn)確地發(fā)現(xiàn)圖書館大數(shù)據(jù)存儲安全問題的重要步驟。第四,圖書館如何實現(xiàn)大數(shù)據(jù)的快速備份、過期敏感數(shù)據(jù)擦除和數(shù)據(jù)災(zāi)難恢復(fù),也是提升大數(shù)據(jù)存儲系統(tǒng)安全可控性應(yīng)重點關(guān)注的問題。
13應(yīng)確保大數(shù)據(jù)存儲可靠和可用
大數(shù)據(jù)具有高價值總量和低價值密度的特點,圖書館可通過對大數(shù)據(jù)的噪聲過濾和價值挖掘,來提升大數(shù)據(jù)的價值密度與可用性,因此,圖書館允許大數(shù)據(jù)存儲系統(tǒng)在一定范圍內(nèi)存在少量的數(shù)據(jù)錯誤。首先,圖書館傳統(tǒng)的將數(shù)據(jù)強制寫入磁盤、雙控制器等冗余備份方式,雖然能夠保證數(shù)據(jù)具有較高的準(zhǔn)確性和可災(zāi)難恢復(fù)特性,但在大數(shù)據(jù)備份中存在著高成本和低效率的問題,不能滿足大數(shù)據(jù)備份的需求。其次,基于SAN或NAS網(wǎng)絡(luò)的傳統(tǒng)數(shù)據(jù)存儲模式,因網(wǎng)絡(luò)傳輸帶寬遠(yuǎn)低于大數(shù)據(jù)存儲系統(tǒng)數(shù)據(jù)讀寫的速率,無法滿足圖書館EB級別大數(shù)據(jù)存儲的需求,可能會因為所查詢的大數(shù)據(jù)傳輸至決策系統(tǒng),或者決策系統(tǒng)的計算結(jié)果寫入存儲系統(tǒng)的過程有較長的時延,而導(dǎo)致大數(shù)據(jù)決策應(yīng)用的實時性下降。而基于Hadoop的大數(shù)據(jù)存儲系統(tǒng)采用的DAS(直連式存儲,Direct-Attached Storage)方式雖然大幅降低了數(shù)據(jù)存儲的網(wǎng)絡(luò)傳輸時延,但存在著跨節(jié)點數(shù)據(jù)訪問管理和存儲數(shù)據(jù)塊管理等問題[7]。第三,為了降低圖書館大數(shù)據(jù)的存儲成本,圖書館會采用眾多價格低廉的存儲設(shè)備存儲數(shù)據(jù),如何依靠容錯軟件和故障監(jiān)控系統(tǒng)大幅降低多點存儲設(shè)備的故障率,是圖書館大數(shù)據(jù)可靠存儲應(yīng)關(guān)注的問題。第四,大數(shù)據(jù)決策應(yīng)用涉及圖書館的所有部門、業(yè)務(wù)和系統(tǒng)平臺,在同一時刻存在著多用戶、多主機(jī)并發(fā)訪問大數(shù)據(jù)存儲系統(tǒng)的情況,因此,在多用戶并發(fā)訪問環(huán)境下如何保證大數(shù)據(jù)存儲系統(tǒng)安全、高效、經(jīng)濟(jì)和可靠,是圖書館面臨的又一嚴(yán)峻挑戰(zhàn)。
14大數(shù)據(jù)存儲系統(tǒng)應(yīng)具備較強的可兼容性
數(shù)據(jù)采集源和數(shù)據(jù)結(jié)構(gòu)多樣性是圖書館大數(shù)據(jù)的一個顯著特征,首先,當(dāng)前半結(jié)構(gòu)化及非結(jié)構(gòu)化數(shù)據(jù)占據(jù)圖書館大數(shù)據(jù)總量的85%以上,而且隨著圖書館服務(wù)模式和讀者閱讀方式多樣化的發(fā)展,非半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)占據(jù)圖書館大數(shù)據(jù)的比例將進(jìn)一步攀升,圖書館傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)庫無法滿足海量、復(fù)雜非結(jié)構(gòu)化數(shù)據(jù)的存儲需求[8]。其次,圖書館大數(shù)據(jù)的存儲和讀取是面向多數(shù)據(jù)源、多決策應(yīng)用系統(tǒng)和多存儲節(jié)點的數(shù)據(jù)操作,因此,大數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)接口必須兼容不同設(shè)備的數(shù)據(jù)傳輸機(jī)制,并根據(jù)大數(shù)據(jù)決策需求提供相應(yīng)的數(shù)據(jù)讀取服務(wù)(針對決策系統(tǒng)對大數(shù)據(jù)的海量快速傳輸、數(shù)據(jù)交互式查詢和數(shù)據(jù)批處理等),提供統(tǒng)一和強兼容性的大數(shù)據(jù)讀寫接口。第三,大數(shù)據(jù)存儲系統(tǒng)應(yīng)根據(jù)不同的大數(shù)據(jù)應(yīng)用對數(shù)據(jù)存取效率的特殊需求,將大數(shù)據(jù)決策中頻繁訪問的熱點數(shù)據(jù)和實時決策數(shù)據(jù)等,從大數(shù)據(jù)存儲庫中提取并放置于內(nèi)存或Flash(SSD)中,以滿足大數(shù)據(jù)決策中對海量數(shù)據(jù)的實時、極速傳輸需求。
15大數(shù)據(jù)存儲經(jīng)濟(jì)性關(guān)系大數(shù)據(jù)應(yīng)用有效性
降低大數(shù)據(jù)存儲成本是提升圖書館大數(shù)據(jù)決策收益率的關(guān)鍵。首先,圖書館在大數(shù)據(jù)存儲系統(tǒng)的構(gòu)建中,應(yīng)通過新穎、簡捷和經(jīng)濟(jì)的存儲架構(gòu),對原有的存儲系統(tǒng)平臺進(jìn)行升級和無縫鏈接,在保證數(shù)據(jù)存儲業(yè)務(wù)連續(xù)性的前提下,降低大數(shù)據(jù)存儲系統(tǒng)建設(shè)成本的投入。其次,應(yīng)根據(jù)不同類型大數(shù)據(jù)對存儲的安全性、復(fù)雜性、吞吐速率和存儲成本的不同需求,對不同存儲需求的大數(shù)據(jù)選擇不同的存儲介質(zhì)和存儲策略,以此實現(xiàn)大數(shù)據(jù)的分級儲存,在增加大數(shù)據(jù)存儲靈活性和可控性的同時,實現(xiàn)大數(shù)據(jù)存儲總成本的大幅下降。第三,在滿足圖書館大數(shù)據(jù)災(zāi)難恢復(fù)和可靠性需求的前提下,還應(yīng)盡可能地通過刪除重復(fù)數(shù)據(jù)來提升存儲空間的使用效率,并通過存儲虛擬化技術(shù)實現(xiàn)大數(shù)據(jù)存儲系統(tǒng)的多用戶共享。第四,如何將大數(shù)據(jù)存儲系統(tǒng)與相關(guān)的網(wǎng)絡(luò)傳輸系統(tǒng)、服務(wù)器系統(tǒng)有效融合,提升大數(shù)據(jù)存儲系統(tǒng)與存儲相關(guān)平臺系統(tǒng)的兼容性,也是保證大數(shù)據(jù)存儲經(jīng)濟(jì)性的關(guān)鍵[9]。
2基于Hadoop的圖書館大數(shù)據(jù)存儲系統(tǒng)的設(shè)計與存儲管理21基于Hadoop的圖書館大數(shù)據(jù)存儲系統(tǒng)的設(shè)計
首先,基于Hadoop的圖書館大數(shù)據(jù)存儲系統(tǒng),可以有效利用圖書館傳統(tǒng)的廉價存儲服務(wù)器集群設(shè)備構(gòu)建,具有較強的存儲容錯性、可擴(kuò)展性、低故障率和透明存儲的優(yōu)點,特別適合存儲圖書館系統(tǒng)運行參數(shù)數(shù)據(jù)、讀者閱讀行為監(jiān)控數(shù)據(jù)、傳感器網(wǎng)絡(luò)數(shù)據(jù)、閱讀終端設(shè)備參數(shù)數(shù)據(jù)等半結(jié)構(gòu)化和非結(jié)構(gòu)化大數(shù)據(jù)[10]。其次,基于Hadoop的圖書館大數(shù)據(jù)存儲系統(tǒng)具有較低的系統(tǒng)建設(shè)、運營和管理成本,眾多小容量低端存儲設(shè)備采用分布部署和就近存儲的原則,消除了因網(wǎng)絡(luò)傳輸帶寬不足可能帶來的大數(shù)據(jù)決策瓶頸問題。此外,存儲模型具有快速、低故障率、經(jīng)濟(jì)和透明的優(yōu)點,有效避免了大數(shù)據(jù)的體量、文件大小和文件數(shù)量等方面對存儲系統(tǒng)的限制。本文設(shè)計的基于Hadoop的圖書館大數(shù)據(jù)存儲系統(tǒng)組織結(jié)構(gòu)如圖1所示:
基于Hadoop大數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)收集層,主要實現(xiàn)結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的收集、定義和類型劃分,Sqoop是一個用來將Hadoop和關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)相互轉(zhuǎn)移的工具,可以將關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到Hadoop的HDFS中,實現(xiàn)數(shù)據(jù)集在Hadoop和傳統(tǒng)數(shù)據(jù)庫之間轉(zhuǎn)移,是大數(shù)據(jù)存儲系統(tǒng)中數(shù)據(jù)傳輸?shù)闹匾ぞ遊11]。文件存儲層是支持Hadoop計算框架的分布式大數(shù)據(jù)存儲系統(tǒng),其基于大量的廉價存儲服務(wù)器設(shè)備構(gòu)建,具有高容錯、可擴(kuò)展和高并發(fā)的優(yōu)點,可支持巨量大數(shù)據(jù)決策者快速并發(fā)訪問、查詢和下載。此外,還支持存儲系統(tǒng)不停機(jī)動態(tài)擴(kuò)容,以及數(shù)據(jù)正確性的自檢、復(fù)制、備份和恢復(fù)。數(shù)據(jù)存儲層主要由Hcatalog、HBade、Redis組成,Hcatalog是apache開源的對于表和底層數(shù)據(jù)管理的統(tǒng)一服務(wù)平臺,主要完成多種數(shù)據(jù)處理工具之間的通信,以及應(yīng)用程序的數(shù)據(jù)被其他應(yīng)用程序在使用前的發(fā)現(xiàn)。HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫,HBase在Hadoop之上提供了類似于Bigtable的能力。Redis存儲系統(tǒng)支持主從同步,數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,這使得Redis可執(zhí)行單層樹復(fù)制,同步有助于提高大數(shù)據(jù)讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余性[12]。大數(shù)據(jù)存儲系統(tǒng)的統(tǒng)一數(shù)據(jù)接口可兼容不同設(shè)備的數(shù)據(jù)傳輸機(jī)制,并根據(jù)大數(shù)據(jù)決策需求提供相應(yīng)的數(shù)據(jù)讀取服務(wù)(針對決策系統(tǒng)對大數(shù)據(jù)的海量快速傳輸、數(shù)據(jù)交互式查詢和數(shù)據(jù)批處理等)需求,提供統(tǒng)一和強兼容性的大數(shù)據(jù)讀寫接口。大數(shù)據(jù)決策層基于大數(shù)據(jù)存儲層的支持,為圖書館業(yè)務(wù)部門提供大數(shù)據(jù)分析和決策支持。系統(tǒng)平臺配置與調(diào)度層主要負(fù)責(zé)平臺系統(tǒng)的參數(shù)配置和確保系統(tǒng)兼容性,并為大數(shù)據(jù)存儲系統(tǒng)不同的結(jié)構(gòu)層調(diào)度、分配系統(tǒng)資源。平臺管理層主要負(fù)責(zé)對大數(shù)據(jù)存儲安全性、運行效率、可靠性、經(jīng)濟(jì)性和可控性的管理工作。
22基于Hadoop存儲系統(tǒng)存儲性能的擴(kuò)展和優(yōu)化
圖書館大數(shù)據(jù)存儲具有數(shù)據(jù)海量、大數(shù)據(jù)量文件比例高、并發(fā)訪問量巨大,以及對大數(shù)據(jù)庫進(jìn)行文件并發(fā)讀取操作遠(yuǎn)大于寫入操作的特點,因此,基于Hadoop的大數(shù)據(jù)存儲系統(tǒng)運行策略應(yīng)支持多客戶機(jī)并發(fā)高速讀取操作,有較高的存儲效率和較低的存儲成本,并支持存儲系統(tǒng)依據(jù)大數(shù)據(jù)冗余備份的需求,執(zhí)行相應(yīng)的數(shù)據(jù)備份策略?;贖adoop的大數(shù)據(jù)存儲系統(tǒng)的可擴(kuò)展性存儲流程如圖2所示。
NameNode負(fù)責(zé)管理文件系統(tǒng)的命名空間,主要維護(hù)文件系統(tǒng)樹及整棵樹內(nèi)所有的文件目錄結(jié)構(gòu)和文件元數(shù)據(jù)。這些信息以兩個文件形式(命名空間鏡像文件和編輯日志文件)永久地保存在本地磁盤上,NameNode記錄著每個文件中各個塊所在的數(shù)據(jù)節(jié)點信息,存儲節(jié)點數(shù)據(jù)塊的位置信息在系統(tǒng)啟動時由數(shù)據(jù)節(jié)點重建。大數(shù)據(jù)存儲節(jié)點(DataNode)是大數(shù)據(jù)的存儲單元,當(dāng)圖書館業(yè)務(wù)部門在大數(shù)據(jù)決策中需要讀取數(shù)據(jù)時,首先應(yīng)當(dāng)訪問NameNode以獲取文件的信息和數(shù)據(jù)分布特征,進(jìn)而可依據(jù)獲取的信息從存儲節(jié)點讀取數(shù)據(jù)。當(dāng)用戶從NameNode獲取數(shù)據(jù)相關(guān)信息之后,后期重復(fù)讀取這些數(shù)據(jù)時就不需要再次訪問NameNode,客戶端可以依據(jù)以前獲得的文件目錄信息從存儲節(jié)點讀取數(shù)據(jù)。此外,圖書館還可根據(jù)大數(shù)據(jù)存儲需求,通過增加DataNode的節(jié)點數(shù)量實現(xiàn)大存儲能力的橫向擴(kuò)展,僅需要將所增加的DataNode加入到NameNode中進(jìn)行管理即可,基于Hadoop的大數(shù)據(jù)存儲系統(tǒng)具有高數(shù)據(jù)吞吐量、透明存儲、低復(fù)雜度和經(jīng)濟(jì)性強的優(yōu)點[13]。
23采用基于動態(tài)存儲副本備份的容錯模式
基于Hadoop的大數(shù)據(jù)存儲系統(tǒng)通過存儲節(jié)點的擴(kuò)展,有效地滿足了圖書館大數(shù)據(jù)總量指數(shù)增長對存儲系統(tǒng)存儲能力快速擴(kuò)展的需求,但隨著廉價存儲節(jié)點數(shù)量和復(fù)雜度的上升,其存儲節(jié)點的故障率也將快速增長,將導(dǎo)致大數(shù)據(jù)存儲的安全性和可靠性下降。因此,為了確保大數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)安全、可靠、可控和可用,必須結(jié)合基于Hadoop大數(shù)據(jù)存儲系統(tǒng)的結(jié)構(gòu)特點,設(shè)計符合圖書館大數(shù)據(jù)存儲安全需求的數(shù)據(jù)備份與災(zāi)難恢復(fù)策略,才能保證圖書館大數(shù)據(jù)存儲系統(tǒng)安全、可用。本文設(shè)計的基于Hadoop大數(shù)據(jù)存儲系統(tǒng)的動態(tài)存儲副本放置策略如圖3所示:
若干個存儲節(jié)點服務(wù)器共同放置在同一機(jī)架上,在同一機(jī)架上放置的存儲節(jié)點服務(wù)器具有較高的數(shù)據(jù)傳輸吞吐率和可靠性。為了提升大數(shù)據(jù)存儲的安全、可靠性,諸如機(jī)架1上的DataNote2存儲節(jié)點,用戶在向存儲系統(tǒng)的DataNode2節(jié)點寫入數(shù)據(jù)時,DataNode2會將寫入的數(shù)據(jù)復(fù)制寫入其他相臨DataNode1、DataNode3、DataNode4中(對于普通的大數(shù)據(jù)文件采用3份復(fù)制的策略,而對于敏感的大數(shù)據(jù)文件則采用6份復(fù)制的策略),以及相臨機(jī)架2中的DataNode7節(jié)點中,如果存儲節(jié)點DataNode1失效,DataNode1則會首先向位于同一機(jī)架的最近相臨節(jié)點發(fā)出請求,重新在備份節(jié)點中下載并獲得失效節(jié)點的備份數(shù)據(jù)[14]。當(dāng)位于同一機(jī)架的所有存儲節(jié)點均損毀時,則從其它機(jī)架的備份存儲節(jié)點中恢復(fù)丟失、損壞的數(shù)據(jù),具有較高的數(shù)據(jù)災(zāi)難恢復(fù)效率和經(jīng)濟(jì)性。為了提升圖書館大數(shù)據(jù)動態(tài)存儲副本備份的效率,數(shù)據(jù)管理員可根據(jù)大數(shù)據(jù)的安全級別、訪問頻率、出錯概率、存儲時間、系統(tǒng)可靠性、網(wǎng)絡(luò)狀況等因素,動態(tài)綜合設(shè)定、添加或刪除備份存儲節(jié)點的數(shù)量,不斷提升大數(shù)據(jù)存儲系統(tǒng)的存儲空間利用率和數(shù)據(jù)災(zāi)難恢復(fù)效率。
3結(jié)束語
伴隨大數(shù)據(jù)總量、數(shù)據(jù)結(jié)構(gòu)多樣性和數(shù)據(jù)環(huán)境復(fù)雜度的快速增長,圖書館傳統(tǒng)的關(guān)系數(shù)據(jù)庫已不能滿足大數(shù)據(jù)存儲的需求,大數(shù)據(jù)存儲系統(tǒng)的安全性、可用性和可靠性等問題,已成為影響圖書館大數(shù)據(jù)決策科學(xué)性和讀者個性化服務(wù)可靠性的關(guān)鍵。而基于Hadoop技術(shù)構(gòu)建的圖書館大數(shù)據(jù)存儲系統(tǒng),可以有效利用圖書館原有的結(jié)構(gòu)化存儲系統(tǒng)設(shè)備,具有存儲安全性高、結(jié)構(gòu)簡單、易于擴(kuò)展和強經(jīng)濟(jì)性的特點,有效地滿足了圖書館大數(shù)據(jù)決策和用戶服務(wù)對大數(shù)據(jù)存儲系統(tǒng)的高標(biāo)準(zhǔn)要求,且隨著存儲節(jié)點性的提升和制造成本的下降,該系統(tǒng)未來會有更加廣闊的使用前景[15]。
在基于Hadoop技術(shù)的圖書館大數(shù)據(jù)存儲系統(tǒng)構(gòu)建中,數(shù)據(jù)存儲節(jié)點的可靠性、動態(tài)存儲副本放置策略的科學(xué)性、存儲系統(tǒng)資源調(diào)度的有效性、存儲空間的利用率等,始終是關(guān)系圖書館大數(shù)據(jù)存儲科學(xué)性和可用性的關(guān)鍵。因此,圖書館應(yīng)重點加強存儲系統(tǒng)架構(gòu)的效率和可靠性,通過科學(xué)均衡存儲節(jié)點的負(fù)載和增強單一節(jié)點性能,提升存儲系統(tǒng)的綜合存儲能力。此外,還應(yīng)提高海量大數(shù)據(jù)存儲算法的科學(xué)性和計算效率,才能確保大數(shù)據(jù)存儲系統(tǒng)存儲資源調(diào)度和分配最優(yōu),才能在保證存儲安全、可靠性的前提下節(jié)約系統(tǒng)能耗[16]。
參考文獻(xiàn)
[1]孟小峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計算機(jī)研究與發(fā)展,2013,50(1):146-169.
[2]楊俊杰,廖卓凡,馮超超.大數(shù)據(jù)存儲架構(gòu)和算法研究綜述[J].計算機(jī)應(yīng)用,2016,36(9):2465-2471.
[3]涂新莉,劉波,林偉偉.大數(shù)據(jù)研究綜述[J].計算機(jī)應(yīng)用研究,2014,31(6):1612-1617.
[4]張濱,陳吉榮,樂嘉錦.大數(shù)據(jù)管理技術(shù)研究綜述[J].計算機(jī)應(yīng)用與軟件,2014,31(11):1-5.
[5]張琳,譚軍,白明澤.基于MongoDB的蛋白質(zhì)組學(xué)大數(shù)據(jù)存儲系統(tǒng)設(shè)計[J].計算機(jī)應(yīng)用,2016,31(1):232-236.
[6]馬蕾,楊洪雪,劉建平.大數(shù)據(jù)環(huán)境下用戶隱私數(shù)據(jù)存儲方法的研究[J].計算機(jī)仿真,2016,33(2):465-468.
[7]金弟,莊錫進(jìn),王啟迪,等.存儲框架模型在地震資料大數(shù)據(jù)中的應(yīng)用[J].計算機(jī)系統(tǒng)應(yīng)用,2016,25(2):45-51.
[8]林彬,李姍姍,廖湘科,等.Seadown:一種異構(gòu)Map Reduce集群中面向SLA的能耗管理方法[J].計算機(jī)學(xué)報,2013,36(5):977-987.
[9]CHEN Q,YAO J,XIAO Z.LIBRA:lightweight data skew mitigation in Map Reduce[J].IEEE Transactions on Parallel & Distributed Systems,2015,26(9):2520-2533.
[10]宋寶燕,王俊陸,王妍.基于范德蒙碼的HDFS優(yōu)化存儲策略研究[J].計算機(jī)學(xué)報,2015,38(9):1825-1837.
[11]TANG S,LEE B S,HE B.Dynamic job ordering and slot configurations for Map Reduce workloads[J].IEEE Transactions on Services Computing,2016,9(1):4-17.
[12]魏文娟,王黎明.異構(gòu)Hadoop集群下的比例數(shù)據(jù)分配策略[J].計算機(jī)應(yīng)用與軟件,2015,32(6):316-319.
[13]WANG J,QIU M,GUO B,et al.Phase-reconfigurable shuffle optimization for Hadoop Map Reduce[J].IEEE Transactions on Cloud Computing,2015,(99):121-127.
[14]廖彬,于炯,張?zhí)?,?基于分布式文件系統(tǒng)HDFS的節(jié)能算法[J].計算機(jī)學(xué)報,2013,36(5):1047-1064.
[15]蔡平.基于Hadoop的NoSQL數(shù)據(jù)庫安全研究[D].上海:上海交通大學(xué),2013:23-33.
[16]陳臣.一種基于新型存儲的數(shù)字圖書館分布式大數(shù)據(jù)存儲架構(gòu)[J].現(xiàn)代情報,2015,35(1):100-103.
(本文責(zé)任編輯:郭沫含)