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