摘? 要:隨著互聯(lián)網(wǎng)、云計(jì)算、數(shù)據(jù)庫(kù)等技術(shù)的快速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)庫(kù)保存的內(nèi)容越來(lái)越豐富,包括視頻、圖片、文檔等多種類(lèi)型,訪問(wèn)用戶也是數(shù)以億計(jì),因此基于云計(jì)算構(gòu)建網(wǎng)絡(luò)數(shù)據(jù)庫(kù),利用先進(jìn)的虛擬化技術(shù)、MapReduce技術(shù),自動(dòng)化地完成計(jì)算任務(wù),分配大數(shù)據(jù)存儲(chǔ)空間資源,實(shí)現(xiàn)數(shù)據(jù)分布存儲(chǔ)、通信和容錯(cuò)處理,不僅可以大幅度提高數(shù)據(jù)庫(kù)的存儲(chǔ)容量,還可以改進(jìn)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的并發(fā)性和提高利用率,具有重要的作用。
關(guān)鍵詞:云計(jì)算;網(wǎng)絡(luò)數(shù)據(jù)庫(kù);虛擬化;MapReduce
中圖分類(lèi)號(hào):TP393.0? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)05-0082-03
Application and Design of Cloud Computing in Network Database
ZHENG Tongliang
(Foshan Hospital of TCM,F(xiàn)oshan? 528000,China)
Abstract:With the rapid development of internet,cloud computing,database and other technologies,the content of network database is more and more rich,including video,pictures,documents and other types,and hundreds of millions of users are also visited. Therefore,building network database based on cloud computing,using advanced virtualization technology,MapReduce technology,automatically complete the calculation task,and allocate big data storage space resources,distributed data storage,communication and fault-tolerant processing,not only can greatly improve the storage capacity of the database,but also can improve the concurrency and utilization of the network database,which plays an important role.
Keywords:cloud computing;network database;virtualization;MapReduce
0? 引? 言
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是一個(gè)集成光纖陣列技術(shù)、數(shù)據(jù)倉(cāng)庫(kù)技術(shù)等信息的存儲(chǔ)工具,可以保存視頻、圖像和文檔等各類(lèi)型數(shù)據(jù),為網(wǎng)絡(luò)用戶提供強(qiáng)大的訪問(wèn)接入功能[1]。網(wǎng)絡(luò)數(shù)據(jù)庫(kù)承載的數(shù)據(jù)多、訪問(wèn)頻次高,因此傳統(tǒng)的部署技術(shù)無(wú)法滿足實(shí)際需求,因此根據(jù)本院云計(jì)算在網(wǎng)絡(luò)數(shù)據(jù)庫(kù)中的應(yīng)用,本文提出與云計(jì)算技術(shù)進(jìn)行集成,實(shí)現(xiàn)數(shù)據(jù)的優(yōu)先級(jí)訪問(wèn),按照不同的訪問(wèn)頻次、主題類(lèi)型進(jìn)行分類(lèi)保存,提高網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的利用率和高速率。
1? 云計(jì)算技術(shù)及應(yīng)用現(xiàn)狀分析
云計(jì)算是一種先進(jìn)的分布式計(jì)算技術(shù),其可以將數(shù)以萬(wàn)計(jì)的終端和服務(wù)器集成在一起,實(shí)現(xiàn)數(shù)據(jù)業(yè)務(wù)的處理。云計(jì)算可以為用戶提供三個(gè)關(guān)鍵層次的服務(wù),分別是基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。云計(jì)算實(shí)現(xiàn)存儲(chǔ)器、CPU、網(wǎng)絡(luò)帶寬的服務(wù)和共享,實(shí)現(xiàn)基礎(chǔ)設(shè)施即服務(wù),這樣就可以提高云計(jì)算的并發(fā)性,實(shí)現(xiàn)數(shù)以億計(jì)的用戶并發(fā)訪問(wèn)平臺(tái)[2]。平臺(tái)即服務(wù)可以為軟件開(kāi)發(fā)人員提供應(yīng)用程序?qū)崿F(xiàn)和服務(wù)處理的平臺(tái),為程序員提供軟件開(kāi)發(fā)、軟件測(cè)試、軟件部署的環(huán)境,能夠按照需求分配環(huán)境空間。軟件即服務(wù)則可以為供應(yīng)商、內(nèi)容商、通信運(yùn)營(yíng)商提供軟件應(yīng)用程序托管功能,允許用戶連接到應(yīng)用程序,實(shí)現(xiàn)互聯(lián)網(wǎng)的訪問(wèn)操作。云計(jì)算經(jīng)過(guò)多年的發(fā)展和普及,已經(jīng)誕生了許多的云服務(wù),比如騰訊云、百度云、阿里云等,部署數(shù)以億計(jì)的數(shù)據(jù)內(nèi)容。
2? 基于云計(jì)算的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)設(shè)計(jì)
本文在網(wǎng)絡(luò)數(shù)據(jù)庫(kù)中引入了云計(jì)算技術(shù),可以充分利用云計(jì)算的虛擬化、MapReduce等技術(shù),提高網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的存儲(chǔ)效率和并發(fā)性[3]?;谠朴?jì)算的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)可以為用戶提供各類(lèi)型的資源,還可以實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)、傳輸和共享功能,同時(shí)還可以根據(jù)數(shù)據(jù)訪問(wèn)頻次設(shè)置優(yōu)先級(jí),提高對(duì)數(shù)據(jù)的訪問(wèn)效率,如圖1所示。
基于云計(jì)算的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)設(shè)計(jì)包括五個(gè)關(guān)鍵步驟,分別是設(shè)置平臺(tái)操作系統(tǒng)、搭建Hadoop集群、數(shù)據(jù)整合和預(yù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)挖掘和分析。
2.1? 設(shè)置平臺(tái)操作系統(tǒng)
常用的操作系統(tǒng)包括RedHat、CentOS和Debian,這些都可以作為底層平臺(tái)操作工具,具有較強(qiáng)的可擴(kuò)展性,能夠支持?jǐn)?shù)據(jù)處理。數(shù)據(jù)存儲(chǔ)平臺(tái)操作系統(tǒng)還具有虛擬化功能,從而可以擴(kuò)展系統(tǒng)的物理存儲(chǔ)空間、共享CPU、提高通信帶寬的利用率。本文選擇RedHat作為操作系統(tǒng),其可以實(shí)現(xiàn)大數(shù)據(jù)的操作和處理,如圖2所示。
2.2? 搭建Hadoop集群
Hadoop是一個(gè)軟件平臺(tái),可以運(yùn)行視頻、文本、圖像等處理軟件,最核心的技術(shù)為MapReduce,能夠?qū)⒋罅康挠?jì)算機(jī)組成一個(gè)集群,實(shí)現(xiàn)海量數(shù)據(jù)分布式計(jì)算。Hadoop包括很多組成元素,最底層的組成元素是Hadoop Distributed File System(HDFS),HDFS可以基于分布式技術(shù)操作Hadoop集群平臺(tái)中的所有存儲(chǔ)節(jié)點(diǎn)文件,HDFS的上一層就是一個(gè)MapReduce引擎,這個(gè)引擎包括兩個(gè)組成部分,分別是JobTrackers和TaskTrackers,利用Hadoop可以實(shí)現(xiàn)數(shù)據(jù)處理和操作,進(jìn)一步滿足分布式數(shù)據(jù)操作要求,安裝和部署如圖3所示。
2.3? 數(shù)據(jù)整合和預(yù)處理
數(shù)據(jù)存儲(chǔ)平臺(tái)保存的資源非常多,比如文件日志、關(guān)系數(shù)據(jù)、對(duì)象數(shù)據(jù)等,有結(jié)構(gòu)性數(shù)據(jù),也有非結(jié)構(gòu)性數(shù)據(jù),因此在把數(shù)據(jù)整合在一起時(shí)需要進(jìn)行預(yù)處理,以便能夠利用企業(yè)服務(wù)總線進(jìn)行通信傳輸,提高數(shù)據(jù)的一致性和可靠性。本文選擇使用HiveSQL作為數(shù)據(jù)整合軟件,該軟件能夠?qū)崿F(xiàn)大規(guī)模的信息加工,進(jìn)一步加強(qiáng)對(duì)數(shù)據(jù)資源的管控,服務(wù)配置如圖4所示。
2.4? 數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ)可利用HBase和Kudu等存儲(chǔ)管理工具,建立一個(gè)生態(tài)存儲(chǔ)圈,不斷地提高大數(shù)據(jù)平臺(tái)的存儲(chǔ)和管理水平,還可以降低訪問(wèn)延遲,提高數(shù)據(jù)分析能力。數(shù)據(jù)存儲(chǔ)引入數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)不僅可以實(shí)現(xiàn)普通數(shù)據(jù)的處理功能,還具有數(shù)據(jù)智能分析、優(yōu)先級(jí)存儲(chǔ)等功能,一旦某一個(gè)數(shù)據(jù)對(duì)象訪問(wèn)頻次上升,就可以為這些數(shù)據(jù)賦予較高的優(yōu)先級(jí),將其轉(zhuǎn)移到高速緩存中,提高用戶的訪問(wèn)效率。
2.5? 數(shù)據(jù)挖掘和分析
數(shù)據(jù)存儲(chǔ)的資源非常多,這些資源通常是無(wú)序的、雜亂的,雖然符合一定的組織原則,但是人們利用數(shù)據(jù)仍非常復(fù)雜,因此引入數(shù)據(jù)挖掘和分析功能,可以提高數(shù)據(jù)利用的時(shí)效,縮短數(shù)據(jù)處理時(shí)間,如圖6所示。
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)建設(shè)的關(guān)鍵技術(shù)包括很多,比如虛擬化技術(shù)和MapReduce技術(shù)。虛擬化技術(shù)包括軟件虛擬化和硬件虛擬化[4]。網(wǎng)絡(luò)數(shù)據(jù)庫(kù)引入的虛擬化技術(shù)多屬于硬件虛擬化技術(shù),能夠引入輪轉(zhuǎn)方法、分片方法和多任務(wù)操作處理方法進(jìn)行操作,實(shí)現(xiàn)對(duì)存儲(chǔ)空間、CPU、通信帶寬的利用,進(jìn)一步提高計(jì)算機(jī)硬件設(shè)備的共享服務(wù)能力。虛擬化可以共享和擴(kuò)展物理存儲(chǔ)空間,確保多用戶共享CPU或通信帶寬資源,基于按需服務(wù)機(jī)制實(shí)現(xiàn)大數(shù)據(jù)平臺(tái)操作。MapReduce是一個(gè)為網(wǎng)絡(luò)數(shù)據(jù)庫(kù)提供并行處理的計(jì)算模型,更適用于集群平臺(tái)高性能計(jì)算,允許數(shù)以億計(jì)的節(jié)點(diǎn)進(jìn)行分布式集群,可以實(shí)現(xiàn)分布式操作服務(wù)。MapReduce能夠提供一個(gè)簡(jiǎn)單、便捷的程序設(shè)計(jì)方法,更有利于程序員進(jìn)行編程和處理。MapReduce能夠處理海量的半結(jié)構(gòu)化數(shù)據(jù),利用并行的結(jié)構(gòu)解決特定的、復(fù)雜的數(shù)據(jù)處理問(wèn)題,比如在一個(gè)關(guān)系數(shù)據(jù)庫(kù)中,可以使用SQL語(yǔ)言執(zhí)行數(shù)據(jù)插入、查詢、修改和刪除操作,還可以使用傳統(tǒng)的C++語(yǔ)言、Java語(yǔ)言等解決這個(gè)問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作語(yǔ)言與傳統(tǒng)程序語(yǔ)言的有效結(jié)合,實(shí)現(xiàn)一個(gè)功能更加強(qiáng)大的數(shù)據(jù)處理功能。MapReduce為用戶提供的編程環(huán)境也非常完善,主要包括MapReduce Platform、JDT和PDE。JDT可以支持Java語(yǔ)言開(kāi)發(fā),PDE可以支持組件或插件開(kāi)發(fā),MapReduce Platform則可以為移動(dòng)應(yīng)用軟件開(kāi)發(fā)提供一個(gè)擴(kuò)展的IDE,提供一個(gè)通用的軟件開(kāi)發(fā)平臺(tái),MapReduce Platform可以顯示大數(shù)據(jù)并發(fā)集群運(yùn)行時(shí)態(tài),提高集成軟件開(kāi)發(fā)工具的基礎(chǔ)。
3? 結(jié)? 論
通過(guò)實(shí)驗(yàn)證明,網(wǎng)絡(luò)數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)視頻、圖像和文檔的有序組織,為用戶提供一個(gè)易于檢索、高并發(fā)的接口,實(shí)現(xiàn)信息的共享加工和處理服務(wù),保證大數(shù)據(jù)平臺(tái)的處理速度和自動(dòng)化水平,提高效率。
參考文獻(xiàn):
[1] 范麗麗.云計(jì)算中數(shù)據(jù)庫(kù)的相關(guān)問(wèn)題研究與實(shí)現(xiàn) [J].電腦知識(shí)與技術(shù),2015,11(7):7-8.
[2] 唐箭.云計(jì)算數(shù)據(jù)庫(kù)研究及其在遠(yuǎn)程教學(xué)中的應(yīng)用 [J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2019,25(9):238-239.
[3] 王娜娜,王冬梅,王喬平.云計(jì)算中數(shù)據(jù)庫(kù)的關(guān)鍵問(wèn)題研究與實(shí)現(xiàn) [J].中國(guó)新通信,2013,15(2):58.
[4] 張洋.云計(jì)算中異構(gòu)數(shù)據(jù)庫(kù)方案的研究與設(shè)計(jì) [J].電腦編程技巧與維護(hù),2017(12):63-65.
作者簡(jiǎn)介:鄭通亮(1974.11-),男,漢族,廣東肇慶人,數(shù)據(jù)庫(kù)工程師,研究方向:系統(tǒng)和數(shù)據(jù)庫(kù)管理。