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