摘要:為實現(xiàn)大數(shù)據(jù)的安全存儲和高效檢索,本文提出基于Hadoop(分布式系統(tǒng)基礎(chǔ)架構(gòu))的大數(shù)據(jù)存儲與檢索性能優(yōu)化方法。以Hadoop架構(gòu)為核心,構(gòu)建分布式存儲系統(tǒng),利用Hadoop分布式集群優(yōu)勢,實現(xiàn)大數(shù)據(jù)的分塊處理和存儲,并引入分布式區(qū)域檢索算法在各個區(qū)域中進行所需數(shù)據(jù)檢索。測試結(jié)果顯示:分布式存儲能夠更高效地完成大數(shù)據(jù)存儲,各個類別數(shù)據(jù)的檢索結(jié)果誤差均低于2%。
關(guān)鍵詞:Hadoop;大數(shù)據(jù)存儲;檢索性能優(yōu)化
引言
計算機技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展使數(shù)據(jù)規(guī)模激增,數(shù)據(jù)量大、異構(gòu)性等對存儲系統(tǒng)構(gòu)成挑戰(zhàn),傳統(tǒng)數(shù)據(jù)庫難以滿足需求[1]。同時,高效檢索海量數(shù)據(jù)成為一大難題。此時,Hadoop(分布式系統(tǒng)基礎(chǔ)架構(gòu))以其高可靠性、可擴展性和高處理效率逐漸進入大眾視野,其能夠有效處理大數(shù)據(jù),支持并行處理,提升處理速度[2]。本文旨在利用Hadoop優(yōu)化大數(shù)據(jù)存儲與檢索性能,解決分布式數(shù)據(jù)庫的局限性,提高大數(shù)據(jù)管理的效率和支持能力。
1. 大數(shù)據(jù)存儲與檢索性能優(yōu)化
1.1 基于Hadoop的大數(shù)據(jù)存儲和檢索方法整體架構(gòu)
為保證大數(shù)據(jù)的存儲和檢索效果,本文提出基于Hadoop的大數(shù)據(jù)存儲與檢索性能優(yōu)化方法,該方法以Hadoop為核心,構(gòu)建分布式存儲系統(tǒng),并結(jié)合數(shù)據(jù)檢索方法,實現(xiàn)大數(shù)據(jù)的統(tǒng)一管理[3]?;贖adoop的大數(shù)據(jù)存儲和檢索方法整體架構(gòu)如圖1所示。
Hadoop分布式體系集成分布式文件系統(tǒng)(hadoop distributed file system,HDFS)、MapReduce框架以及HBase組件,構(gòu)建一個針對大數(shù)據(jù)處理的完整架構(gòu)。這一架構(gòu)的核心在于實現(xiàn)大數(shù)據(jù)的高效存儲、處理、分析及任務的并行化處理(Map階段)與結(jié)果的綜合整合(Reduce階段)。在實際應用場景中,大數(shù)據(jù)技術(shù)展現(xiàn)了其無可比擬的可靠性,能有效應對眾多企業(yè)面臨的龐大數(shù)據(jù)量挑戰(zhàn)[4]。其各個部分的詳細功能如下所述。
(1)HDFS作為Hadoop的底層存儲基石,為分布式計算環(huán)境提供強有力的文件系統(tǒng)支持。
(2)MapReduce負責在龐大的數(shù)據(jù)集上進行高效的分布式計算任務,可將大數(shù)據(jù)處理任務進行分割,使其形成數(shù)個小數(shù)據(jù)塊,通過數(shù)個計算節(jié)點進行并行處理后,再將處理結(jié)果進行合并。
(3)HBase是一種適用于大數(shù)據(jù)應用的高性能數(shù)據(jù)庫,其寫操作包括暫存至HLog、按row key順序?qū)懭隡emStore內(nèi)存,以及MemStore滿時flush至HDFS。合理設(shè)置MemStore的flush閾值對提升大數(shù)據(jù)處理效率與穩(wěn)定性至關(guān)重要。為加快數(shù)據(jù)訪問,可構(gòu)建多級緩存體系,減少磁盤I/O依賴,增強Hadoop生態(tài)系統(tǒng)的數(shù)據(jù)管理[5]。
1.2 數(shù)據(jù)存儲
1.2.1 Hadoop分布式集群結(jié)構(gòu)
在Hadoop分布式體系中,大數(shù)據(jù)以無索引堆結(jié)構(gòu)存儲在HDFS中,包含索引信息文件以提升檢索能力。數(shù)據(jù)分塊存儲在從節(jié)點并冗余備份,確保安全可靠。關(guān)鍵索引文件存儲在主節(jié)點內(nèi)存中,主節(jié)點定期向備份節(jié)點傳輸索引備份,維護大數(shù)據(jù)完整性[6]。Hadoop分布式集群結(jié)構(gòu)如圖2所示。
1.2.2 基于HDFS的大數(shù)據(jù)存儲優(yōu)化
HDFS在進行大數(shù)據(jù)存儲過程中,為保證數(shù)據(jù)存儲效果,大數(shù)據(jù)分塊處理后分布存儲于從節(jié)點上,對各個數(shù)據(jù)塊設(shè)定相應的存儲副本率,以此為后續(xù)的大數(shù)據(jù)檢索提供可靠依據(jù)[6]。基于HDFS的大數(shù)據(jù)存儲優(yōu)化流程如圖3所示。
HDFS的主要目的是實現(xiàn)大文件或者大數(shù)據(jù)存儲,其默認的數(shù)據(jù)塊大小為64MB,在進行文件訪問時,訪問時間包括地址查詢時間和數(shù)據(jù)傳輸時間,基于此可計算數(shù)據(jù)的傳輸效率,其計算公式為
(1)
式中,t1表示數(shù)據(jù)傳輸時間;t2表示地址查詢時間;sc表示數(shù)據(jù)塊大小;v表示數(shù)據(jù)傳輸速度。結(jié)合該公式,HDFS在進行數(shù)據(jù)存儲時,須設(shè)定合理的sc,以此保證數(shù)據(jù)傳輸效率和負載均衡性。
1.3 大數(shù)據(jù)檢索方案
1.3.1 分布式區(qū)域檢索方法
Hadoop的HDFS實現(xiàn)大數(shù)據(jù)分布式存儲,配合分布式區(qū)域檢索算法高效完成大規(guī)模數(shù)據(jù)的區(qū)域檢索,通過多節(jié)點協(xié)同和索引機制實現(xiàn)快速數(shù)據(jù)檢索[7]?;诜植际絽^(qū)域檢索算法的大數(shù)據(jù)檢索步驟如下所述。
步驟1:依據(jù)HDFS實現(xiàn)大數(shù)據(jù)分塊存儲后,對各個數(shù)據(jù)塊進行信息命名。
步驟2:依據(jù)數(shù)據(jù)塊所處的從節(jié)點和時序區(qū)間來劃分存儲區(qū)域,并為這些區(qū)域賦予相應的時間命名。同時,對每個時間范圍內(nèi)的數(shù)據(jù),根據(jù)預設(shè)的數(shù)據(jù)塊尺寸,為這些文件塊中的數(shù)據(jù)構(gòu)建一套時間索引架構(gòu)[8]。
步驟3:為了計算各個區(qū)域從節(jié)點中需要的數(shù)據(jù)塊數(shù)量,計算公式為
(2)
式中,表示大數(shù)據(jù)量;t代表數(shù)據(jù)傳輸?shù)臅r間;x表示開銷比,指的是除了實際數(shù)據(jù)以外,為了存儲或傳輸數(shù)據(jù)而額外增加的開銷。
步驟4:針對大數(shù)據(jù)的數(shù)據(jù)塊數(shù)量分割結(jié)果,構(gòu)建分區(qū)索引,即為每個分區(qū)生成一個獨立的索引文件,文件詳細記錄該分區(qū)所涵蓋的所有數(shù)據(jù)塊。這個分區(qū)索引的主要作用是,當進行查詢時,能夠迅速定位到與查詢區(qū)域存在交集的分區(qū)[9]。
步驟5:通過初始化與HDFS的連接,能夠?qū)⑺芯植康乃饕募铣梢粋€統(tǒng)一的全局索引文件,以此構(gòu)建全局索引系統(tǒng)。這個全局索引扮演至關(guān)重要的角色,能夠在分布式環(huán)境中快速識別出哪些節(jié)點存儲著滿足查詢條件的數(shù)據(jù),從而精確地定位到數(shù)據(jù)分區(qū)所在的節(jié)點位置。
大數(shù)據(jù)檢索通過分布式計算環(huán)境中的兩級索引架構(gòu)實現(xiàn),全局索引文件存于主節(jié)點內(nèi)存,局部索引文件存儲在從節(jié)點,優(yōu)化查詢性能并減少Map任務數(shù)量。利用Hadoop容錯能力,設(shè)計主從節(jié)點容錯機制,包括主節(jié)點信息備份和從節(jié)點Block備份策略,確保數(shù)據(jù)完整性和可靠性[10]。
2. 結(jié)果分析
為檢驗方法有效性,選取四川巴蜀聯(lián)勝科技有限公司對生產(chǎn)數(shù)據(jù)的處理為例。該企業(yè)原服務器難以應對大數(shù)據(jù)管理,查詢效率低下。采用文中方法進行數(shù)據(jù)存儲與檢索,并分析其效果。在該企業(yè)原有的核心主機中部署Hadoop集群,設(shè)置靜態(tài)內(nèi)網(wǎng)IP,以此避免該服務器被外部網(wǎng)絡(luò)入侵,并且修改計算機中的hosts文件,向該文件中添加所有服務器的IP和主機名稱,以此保證大數(shù)據(jù)能夠正確傳輸,同時保證worker節(jié)點和slave節(jié)點之間能夠相互識別,保證節(jié)點之間能夠完成遠程連接,數(shù)據(jù)服務器相關(guān)參數(shù)如表1所示。
為驗證文中方法對該企業(yè)大數(shù)據(jù)的存儲效果,通過文中方法對該企業(yè)生產(chǎn)相關(guān)的大數(shù)據(jù)進行存儲,獲取在存儲不同數(shù)據(jù)量時所需的存儲時間,并將該存儲結(jié)果與原始該企業(yè)的存儲結(jié)果進行對比,測試結(jié)果如表2所示。
對表2測試結(jié)果進行分析后得出:文中方法在進行不同大小的數(shù)據(jù)存儲時,能夠在較短的時間內(nèi)完成,數(shù)據(jù)量為100GB時,所需的存儲時間為62.5秒;該企業(yè)原始的數(shù)據(jù)庫在進行100GB數(shù)據(jù)存儲時需要225.7秒。因此,文中采用的分布式存儲能夠更高效地完成大數(shù)據(jù)存儲。
數(shù)據(jù)存儲后則需滿足數(shù)據(jù)的檢索需求,為驗證文中方法的數(shù)據(jù)檢索效果,采用檢索結(jié)果誤差作為評價指標,測試該方法在進行不同類別數(shù)據(jù)檢索時的效果,檢索誤差標準低于2%,測試結(jié)果如表3所示。
對表3測試結(jié)果進行分析后得出:隨著數(shù)據(jù)塊數(shù)量的逐漸增加,通過文中方法對設(shè)計數(shù)據(jù)、生產(chǎn)數(shù)據(jù)、檢驗數(shù)據(jù)進行檢索后,各個類別數(shù)據(jù)的檢索結(jié)果誤差均低于2%。因此,文中方法能夠滿足該公司的大數(shù)據(jù)檢索需求。
結(jié)語
本文針對大數(shù)據(jù)的存儲和檢索展開相關(guān)研究,提出基于Hadoop的大數(shù)據(jù)存儲與檢索優(yōu)化方法,該方法將Hadoop集成架構(gòu)和分布式區(qū)域檢索算法相結(jié)合,以此更好地滿足大數(shù)據(jù)的存儲需求和檢索需求,為大數(shù)據(jù)的管理提供了可靠依據(jù)。
參考文獻:
[1]王亞偉.對大數(shù)據(jù)存儲系統(tǒng)架構(gòu)及數(shù)據(jù)安全放置機制的研究[J].信息記錄材料,2024,25(4):171-173,176.
[2]李新平.大數(shù)據(jù)處理流程及存儲與管理技術(shù)研究[J].電腦編程技巧與維護,2023(3):97-100,133.
[3]趙子晨,楊鋒,郭玉輝,等.基于Hadoop技術(shù)的加速器大數(shù)據(jù)安全存儲與高效分析系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2024,47(8):9-17.
[4]陳澤川,寧騰飛,李智,等.基于分布式微服務和Hadoop集群的系統(tǒng)研究[J].物聯(lián)網(wǎng)技術(shù),2023,13(1):107-108,111.
[5]王韶霞.基于云計算技術(shù)的電力數(shù)據(jù)檢索及查詢系統(tǒng)設(shè)計[J].太原學院學報(自然科學版),2023,41(1):74-79.
[6]王欣.基于云計算的大數(shù)據(jù)網(wǎng)絡(luò)信息檢索技術(shù)及擴展[J].電子技術(shù)與軟件工程,2022(18):222-225.
[7]鐘建坤,陳紀欽.云計算下的大數(shù)據(jù)網(wǎng)絡(luò)信息檢索技術(shù)分析[J].中國新通信,2023,25(8):29-31,34.
[8]劉靜靜.數(shù)據(jù)結(jié)構(gòu)在大數(shù)據(jù)存儲與檢索中的性能優(yōu)化研究[J].信息與電腦(理論版),2024,36(6):163-166.
[9]吳瓊.基于大數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)安全存儲檢索系統(tǒng)的設(shè)計研究[J].中國新通信,2024,26(23):38-40.
[10]吳元杰.基于大數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)安全存儲檢索系統(tǒng)的設(shè)計[J].軟件,2024,45(5):95-97.
作者簡介:袁海平,本科,工程師,yhp@lzls.net,研究方向:大數(shù)據(jù)、人工智能。