引言
目前,許多來自于電信行業、石油石化行業、數字媒體行業、醫療行業,以及Web2.0、金融分析行業的企業級用戶,正面臨文件和數據量的指數級增長,現有的文件存儲設施不能適應業務增長,系統管理復雜,系統成本、運營成本不斷上升,存儲設施面臨著多重挑戰等問題。如郵件、圖片、音頻、視頻等非結構化數據爆炸性增長;越來越多的企業級應用對高性能聯機事務處理能力和復雜查詢操作能力的需求不斷提高;對數據訪問帶寬和響應時間以及數據的并行訪問業務有更高的要求;企業現有系統的擴展能力差,難以滿足企業快速變化的業務需求。傳統的NAS方案擴展能力有限,并且面向企業級的NAS設備價格往往非常昂貴,購買以及安裝獨立的NAS設備,將面臨著巨大的經濟壓力和額外的維護成本。因此,為企業提供一種經濟可行的、易于管理的存儲平臺,可以幫助企業使用盡可能低的成本完成數據與計算雙重密集型任務。
云計算具有動態部署的功能,可以利用廉價的服務器構建企業級存儲平臺,具有更加彈性、更加安全以及更低的成本。尤其是私有云能夠保護企業核心數據的安全,相比公共云服務,私有云服務所帶來的風險會降低很多。企業針對關鍵業務應用、核心數據存儲以及數據的高可靠性需求上更容易接受企業私有云的運營模式。
1 企業私有云存儲模式
1.1 Hadoop 分布式計算開源框架
Hadoop是Apache下的一個開源項目,由HDFS、MapReduce、HBase、Hive和ZooKeeper等項目組成。Hadoop 主要由兩部分構成:Hadoop 分布式文件系統(HDFS)和在HDFS上的MapReduce 編程模型實現[3]。HDFS是Google GFS的開源版本的實現,作為一個高度容錯的分布式文件系統,它能夠提供高吞吐量的數據訪問,適合存儲海量(PB 級)的大文件(通常超過64 M),其原理見圖1。
圖1 HDFS 分布式文件系統架構
HDFS采用Master/Slave 結構。其中NameNode主要負責維護集群內的元數據,所有塊的元數據都被注冊在NameNode,對外提供創建、打開、刪除和重命名文件或目錄的功能。DataNode負責存儲數據,并提負責處理數據的讀寫請求。DataNode定期向NameNode上報心跳,NameNode通過響應心跳來控制DataNode。
Hadoop HBase是基于Google Bigtable的開源實現,屬于Hadoop的一個子項目。Hadoop HBase可通過利用Hadoop HDFS提供的文件存儲系統,HadoopMapReduce 提供的海量數據處理能力和HadoopZookeeper提供的協同服務,構建一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統。這種分布式存儲系統的特點是實現可在廉價節點上搭建起大規模結構化存儲集群。HBase由一個主節點(Master)協調一個或多個區域服務器(Regionserver)從節點組成,見圖2。
Hadoop HBase主節點負責引導初始安裝,分配區域給已注冊的區域服務器,恢復區域服務器的故障。主節點負載較輕,區域服務器0到多個區域,響應客戶端的讀/寫請求。區域服務器同時負責通知主節點,區域分裂新的子區域的信息,以便主節點管理父區域的下線及替代子區域的分派。HBase依賴于Zookeeper提供協同服務,默認情況下,一個HBase對應一個Zookeeper實例為集群狀態提供授權。
圖2 HBase 系統總體結構
1.2 云存儲模式與傳統存儲模式比較
云存儲概念是在云計算概念上延伸和發展出來的一個新的概念。云存儲的本質是服務,云存儲通過計算機集群技術、網格技術和分布式文件系統等技術,將網絡中大量各種不同類型的存儲設備組織起來協同工作,提供統一的數據存儲服務和業務訪問功能的一種存儲模式。企業私有云存儲模式實現企業現有資源的改造擴展,從而應對企業級用戶高速增長的數據量存儲業務與數據高速處理業務。
云存儲模式比較傳統存儲模式具有如下特點:第一,在功能上,相比傳統存儲模式面向如高性能計算、事務處理應用,云存儲模式具有面向多種類型的網絡在線存儲服務的特點;第二,在性能上,云存儲模式具有高數據安全性、高可靠性、高效率,以及適合處理大規模用戶、網絡環境復雜多變等業務的特點;第三,在數據管理功能上,云存儲模式需要滿足傳統文件訪問方式,同時能夠支持海量數據管理并提供公共服務支撐功能,以方便云存儲系統后臺數據的維護。
基于上述特點,云存儲模式整體架構自底向上依次是:數據存儲層、數據管理層、數據服務層以及云端應用層。數據存儲層包括底層的存儲介質部署、計算機集群搭建以及設備虛擬化過程;數據管理層實現用戶權限控制、數據安全等業務;數據服務層實現數據存儲、共享和備份業務邏輯;云端應用層實現用戶的定制業務。云存儲模式整體架構見圖3。
圖3 云存儲模式整體架構
2 企業私有云存儲架構模型
HDFS具有高容錯性和高吞吐量,以較低的成本將海量文件存儲在普通機器集群上[8]。HDFS作為企業私有云存儲平臺的底層分布式文件系統,適合處理和存儲大文件。但是,HDFS系統結構不適合小文件的處理和存儲業務,可以利用HDFS作為對象數據存儲容器,通過在HDFS上層構建一個抽象層,對外提供對象存儲功能。基于Hadoop的企業私有云存儲架構模型見圖4。
模型由對象訪問接口層、對象元數據存儲層、對象實體數據存儲和數據歸檔管理層四部分組成。對象訪問接口層對外提供API接口供上層云應用業務調用,同時提供了REST、SOAP和HTTPS支持WEB業務的訪問,提供NFS網關實現網絡文件共享服務。對象元數據存儲層是基于HBase實現,負責對象數據創建、查詢和刪除等業務,利用HBase可以滿足系統的擴展性和高可靠性。對象實體數據存儲基于HDFS分布式文件系統,能夠實現對象數據和歸檔文件的可靠存儲,同時支持數據冗余。數據歸檔管理層利用Hadoop MapReduce模塊實現對零散小對象文件的歸檔業務,以及歸檔文件存儲管理和失效對象的磁盤空間回收等功能。
圖4 基于Hadoop 的企業私有云存儲架構模型
對象訪問接口層提供了主流的Web服務接口,主要負責為云端應用提供訪問接口。在Hadoop開源框架下實現可供應用層調用的API接口、外部應用可以通過接口調用實現對對象元數據的創建、查詢和刪除等功能。
對象元數據存儲層主要利用HBase開源架構實現了對象元數據的管理等功能。HBase介于NoSQL和RDBMS之間,僅能通過主鍵(row key)和主鍵的range來檢索數據,僅支持單行事務。該模型的對象元數據存儲層共設計了三張表,分別是用于存儲對象元數據索引信息的索引容器表,索引容器表結構見表1,用于描述對象元數據信息的對象元數據表,對象元數據索引表見表2和描述用戶刪除的失效數據的已刪除數據表,已刪除數據表結構見表3。對象元數據存儲層建立在HBase之上,通過管理和維護這三張表實現了對象元數據的創建、查詢和刪除,以及小文件數據歸檔的功能。當訪問層提交創建數據請求后,系統會檢查訪問合法性和索引容器表的容量,如果索引容器表的容量不夠,將會創建一條新的對象元數據索引容器記錄。通過檢查后將對象元數據信息添加至對象元數據索引表,同時更新索引容器表的容量,最后將對象元數據存儲到HDFS文件系統中。當訪問層提交刪除數據請求后,系統會檢查訪問合法性,通過檢查后刪除對象元數據在對象元數據索引表中的索引信息,同時在已刪除數據表添加一條刪除數據記錄,更新索引容器表容量,進入數據歸檔周期時,系統將會刪除HDFS文件系統中的對象元數據。
表1 索引容器表
表2 對象元數據索引表
表3 已刪除對象元數據表
數據歸檔管理層的主要任務是周期性執行的MapReduce任務,實現對象實體數據的歸檔和壓縮工作。系統周期性的掃描對象元數據存儲層元數據信息表,統計未歸檔的數據信息,根據配置的歸檔文件大小限制,對數據進行分組。分組完成后將每個分組中的對象文件合并到一個歸檔文件中,更新相關對象元數據信息表中的數據標識信息。
3 結論
基于Hadoop實現的企業私有云存儲平臺,能夠為企業提供一種廉價的大規模數據存儲以及高速數據處理的解決方案。同時,該存儲平臺具有彈性擴展的特性,能夠滿足企業對存儲平臺實時的按需擴容的需求。基于HBase實現的對象存儲模型,以HDFS作為數據存儲的容器,解決了數據冗余備份的問題。針對企業部門眾多,各部門數據格式不同等情況[10],企業私有云存儲平臺解決了非結構化和半結構化的松散數據存儲,以及存儲層的可靠性和可擴展性等問題。雖然HDFS系統結構不適合存儲大量小文件,但是通過應用MapReduce分布式計算處理架構在后臺提供對象歸檔管理功能,使得該模型可以滿足大量小文件的存儲難題。同時,基于Hadoop的企業私有云存儲平臺在對象訪問接口層實現了功能豐富的接口,能夠滿足企業日益增長的應用需求。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/