摘 要 本文研究了私有云數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)、私有去數(shù)據(jù)平臺(tái)和用戶(hù)的構(gòu)建方法。陳述了在私有云數(shù)據(jù)庫(kù)中常用的相關(guān)技術(shù)。對(duì)私有云數(shù)據(jù)庫(kù)的發(fā)展具有總結(jié)性的作用。
【關(guān)鍵詞】私有云 私有云數(shù)據(jù)庫(kù) 架構(gòu) 相關(guān)技術(shù)
1 私有云
云計(jì)算是一種基于互聯(lián)網(wǎng)的分布式計(jì)算,由Google的首席執(zhí)行官Eric Schmidt第一次提出。云計(jì)算在商業(yè)運(yùn)營(yíng)中有公有云、私有云和混合云三種常見(jiàn)的計(jì)算模式。公有云是運(yùn)營(yíng)商面對(duì)公眾開(kāi)發(fā)的云計(jì)算服務(wù)。私有云是面向企事業(yè)單位內(nèi)部開(kāi)發(fā)設(shè)計(jì)的云計(jì)算服務(wù)?;旌显剖怯晒性坪退接性葡嘟Y(jié)合的產(chǎn)物。
私有云是針對(duì)單位的專(zhuān)享服務(wù)而構(gòu)建的,擁有單位的防火墻保護(hù),數(shù)據(jù)的安全性比公有云和混合云要高很多。私有云相對(duì)于公有云分布計(jì)算集中,用戶(hù)范圍小、管理方便、服務(wù)質(zhì)量好,能夠充分使用本單位的現(xiàn)有硬件資源和軟件資源。
2 私有云數(shù)據(jù)庫(kù)
私有云據(jù)庫(kù)就是將數(shù)據(jù)庫(kù)部署在私有云的虛擬計(jì)算環(huán)境中,從下至上由數(shù)據(jù)存儲(chǔ)、私有云數(shù)據(jù)庫(kù)平臺(tái)和用戶(hù)組成。
2.1 數(shù)據(jù)存儲(chǔ)
在私有云數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)的存儲(chǔ)方案決定了數(shù)據(jù)的安全性。無(wú)論采用雙機(jī)熱備還是雙機(jī)冷備,在服務(wù)器進(jìn)行切換時(shí)一定要保證數(shù)據(jù)的一致性,這樣才能實(shí)現(xiàn)數(shù)據(jù)的完整性。目前采用DRBD(Distributed Replicated Block Device)存儲(chǔ)或共享存儲(chǔ)方案的較多。DRBD是由通過(guò)軟件系統(tǒng)實(shí)現(xiàn)主服務(wù)器和備用服務(wù)器之間的實(shí)時(shí)存儲(chǔ)復(fù)制。主服務(wù)器和備用服務(wù)器之間可以角色互換。缺點(diǎn)是數(shù)據(jù)容量翻倍、資源浪費(fèi),有“腦裂”風(fēng)險(xiǎn)。共享存儲(chǔ)方案是將存儲(chǔ)空間與主服務(wù)器和備用服務(wù)器相互獨(dú)立。在數(shù)據(jù)存儲(chǔ)時(shí)通過(guò)服務(wù)器操作將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)設(shè)備的同一個(gè)分區(qū),保證了數(shù)據(jù)的一致性。缺點(diǎn)是某一時(shí)刻只允許一臺(tái)服務(wù)器進(jìn)行數(shù)據(jù)存儲(chǔ),多臺(tái)服務(wù)器不能并行操作,效率低。
2.2 私有云數(shù)據(jù)庫(kù)平臺(tái)
私有云數(shù)據(jù)庫(kù)平臺(tái)主要包括平臺(tái)組件、OpenStack服務(wù)、云數(shù)據(jù)庫(kù)管理和系統(tǒng)管理四部分。
平臺(tái)組件分為集中式和分布式。集中式將所有服務(wù)組件都設(shè)置在一個(gè)服務(wù)設(shè)備上,能夠節(jié)省資源但容災(zāi)性能差。分布式將服務(wù)組件部署在不同的服務(wù)器上,服務(wù)響應(yīng)速度快容災(zāi)性好。
OpenStack服務(wù)由數(shù)據(jù)計(jì)算、鏡像管理、虛擬網(wǎng)絡(luò)、塊存儲(chǔ)、對(duì)象存儲(chǔ)、身份認(rèn)證、控制面板和消息管理等組件模塊構(gòu)成。每個(gè)模塊可以獨(dú)立向用戶(hù)提供資源服務(wù)。
云數(shù)據(jù)庫(kù)管理是通過(guò)底層數(shù)據(jù)庫(kù)資源池實(shí)現(xiàn)的。數(shù)據(jù)庫(kù)資源池的功能是為執(zhí)行進(jìn)程發(fā)出的信息流提供所需的物理支持和響應(yīng),信息流包括數(shù)據(jù)庫(kù)服務(wù)器的創(chuàng)建、添加、刪除、修改、查詢(xún)和刷新等操作。數(shù)據(jù)庫(kù)資源池可以由MySQL、Oracle、SQL Server等多種數(shù)據(jù)庫(kù)組成。
系統(tǒng)管理包括控制指令、節(jié)點(diǎn)管理、故障處理、負(fù)載分配等功能。控制指令包括狀態(tài)指令、數(shù)據(jù)備份與恢復(fù)、日志查詢(xún)等。節(jié)點(diǎn)管理通過(guò)監(jiān)控系統(tǒng)對(duì)私有云中各個(gè)節(jié)點(diǎn)的實(shí)時(shí)狀態(tài)進(jìn)行監(jiān)管。故障處理功能是對(duì)各節(jié)點(diǎn)中出現(xiàn)的故障進(jìn)行自動(dòng)相應(yīng)處理。負(fù)載分配功能是統(tǒng)計(jì)私有云各節(jié)點(diǎn)的負(fù)載情況,根據(jù)負(fù)載均衡原則自動(dòng)進(jìn)行負(fù)載遷移。
2.3 用戶(hù)
根據(jù)操作權(quán)限分為普通用戶(hù)和管理員用戶(hù)。普通用戶(hù)僅享有數(shù)據(jù)的存取和查詢(xún)服務(wù)。管理員用戶(hù)擁有系統(tǒng)的所有權(quán)限,可以控制系統(tǒng)。
3 相關(guān)技術(shù)
3.1 VLAN
虛擬局域網(wǎng)(virtual local area network,簡(jiǎn)稱(chēng)VLAN)是一項(xiàng)成熟的網(wǎng)絡(luò)技術(shù),擁有傳輸速率快、操作簡(jiǎn)單、易管理和擴(kuò)展性好的特點(diǎn)。VLAN能夠?qū)⒕钟蚓W(wǎng)絡(luò)根據(jù)需要?jiǎng)澐譃槎鄠€(gè)小型網(wǎng)段,不受計(jì)算機(jī)位置的控制,這樣可以有效控制私有云數(shù)據(jù)庫(kù)操作引起的廣播風(fēng)暴,提高數(shù)據(jù)的安全性和冗余數(shù)據(jù)的剔除能力。
3.2 Xen
Xen是使用虛擬化技術(shù)在一臺(tái)設(shè)備上運(yùn)行多個(gè)操作系統(tǒng),各個(gè)系統(tǒng)間相互獨(dú)立,共同享用硬件資源和數(shù)據(jù)信息。在私有云數(shù)據(jù)庫(kù)中使用該技術(shù)不僅可以提高設(shè)備的利用率,減少硬件投入,還能夠解決多個(gè)數(shù)據(jù)庫(kù)同時(shí)運(yùn)行產(chǎn)生的沖突問(wèn)題。
3.3 Ceilometer
Ceilometer技術(shù)是OpenStack中的一項(xiàng)子技術(shù),可以提供輪詢(xún)代理、通知代理、收集器、API、報(bào)警五個(gè)核心服務(wù),每個(gè)服務(wù)不僅可以再次增加,還能夠根據(jù)負(fù)荷的擴(kuò)大增加節(jié)點(diǎn)。輪詢(xún)代理的功能是對(duì)OpenStack 服務(wù)進(jìn)行輪詢(xún)查詢(xún),統(tǒng)計(jì)輪詢(xún)數(shù)據(jù)。通知代理的功能是把消息隊(duì)列中的信息通知給OpenStack,并實(shí)現(xiàn)樣本的轉(zhuǎn)換。收集器的功能是把通知代理中的轉(zhuǎn)換樣本存儲(chǔ)到數(shù)據(jù)庫(kù)中。API的功能是向需求者提供收集器存儲(chǔ)的數(shù)據(jù)樣本。報(bào)警的功能是按照定義的報(bào)警條件對(duì)數(shù)據(jù)進(jìn)行檢查并通知給系統(tǒng)。
Ceilometer五個(gè)核心服務(wù)的過(guò)程是數(shù)據(jù)采集、數(shù)據(jù)傳送和數(shù)據(jù)存儲(chǔ)的過(guò)程。目前Ceilometer能夠識(shí)別關(guān)系數(shù)據(jù)庫(kù)的MySQL、非關(guān)系數(shù)據(jù)庫(kù)HBase和兩者間的MongoDB數(shù)據(jù)庫(kù)。
3.4 WebSocket
WebSocket在私有云數(shù)據(jù)庫(kù)中的應(yīng)用實(shí)現(xiàn)了瀏覽器與服務(wù)器的雙工通信。通過(guò)WebSocket 協(xié)議瀏覽器與服務(wù)器在握手操作后就能夠建立雙工高速通道,兩者間進(jìn)行直接的數(shù)據(jù)傳輸,減少了服務(wù)器的輪詢(xún)時(shí)間。在定義WebSocket接口時(shí)除了要定義WebSocket協(xié)議還要定義JavaScript應(yīng)用程序的WebSocket接口。
WebSocket有readyState和bufferedAmount兩個(gè)屬性。readyState有0、1、2和3共四種狀態(tài)。0表示正在Web與云服務(wù)器正在進(jìn)行握手連接,還未連接成功。1表示W(wǎng)eb與云服務(wù)器已經(jīng)連接成功,可以進(jìn)行通信。2表示W(wǎng)eb與云服務(wù)器握手操作被取消,正在進(jìn)行斷開(kāi)操作。3表示W(wǎng)eb與云服務(wù)器已經(jīng)斷開(kāi)連接。bufferedAmount的功能是Web與云服務(wù)器的連接緩沖區(qū)。
4 總結(jié)
私有云數(shù)據(jù)庫(kù)是云計(jì)算技術(shù)中的一項(xiàng)重要內(nèi)容,依賴(lài)于云計(jì)算的提高。隨著市場(chǎng)的發(fā)展越來(lái)越多的企業(yè)需要構(gòu)建私有云數(shù)據(jù)庫(kù),但以下問(wèn)題會(huì)成為近幾年解決的首要問(wèn)題。
(1)目前應(yīng)用在私有云數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)有關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù),各類(lèi)數(shù)據(jù)庫(kù)對(duì)云服務(wù)器系統(tǒng)的要求各不同,其兼容性問(wèn)題有待進(jìn)一步研究。
(2)為了避免在進(jìn)行數(shù)據(jù)網(wǎng)絡(luò)傳輸時(shí)出現(xiàn)訪(fǎng)問(wèn)延遲現(xiàn)象,私有云數(shù)據(jù)庫(kù)要求網(wǎng)絡(luò)環(huán)境較為苛刻。
(3)隨著黑客技術(shù)的發(fā)展,私有云數(shù)據(jù)庫(kù)的安全性研究也不可忽視。
作者簡(jiǎn)介
陸濤(1979-),女,遼寧省本溪市人。碩士學(xué)位。研究方向?yàn)檐浖_(kāi)發(fā)與信息安全。
作者單位
遼寧軌道交通職業(yè)學(xué)院機(jī)電工程系 遼寧省沈陽(yáng)市 110023