韓繼英
(山西職業技術學院,山西 太原 030006)
云數據庫是大數據計算和傳統數據庫的融合物,能夠適應技術發展,具有高儲存性、拓展性等優良特性。近幾年隨著大數據技術的不斷發展和數據量的不斷攀升,越來越多的終端用戶將自己的數據轉移至云端,因此研究云數據庫對于企業發展具有積極的作用。本文基于私有云平臺,借助前端開發C++技術,來進行云數據庫設計與實現,旨在提高云數據庫的可靠性和安全性。
云數據庫是大數據云數據庫和傳統意義上數據庫的整合和技術融合產物,基本框架是通過構建虛擬環境將數據上傳至云數據庫,終端客戶根據自身特性選擇對應的數據獲取路徑[1]。云數據庫保證了儲存容量的彈性化機制。云數據庫一般具有以下特性。
(1)終端用戶選擇適用性廣,可以根據自己的實際情況選擇對應的數據庫,且支持容量的擴增。
(2)具有數據穩定性,防止由于其他因素造成數據的泄漏和遺失,一定程度上降低了用戶數據安全風險。
(3)可實現遠程參數調配,最大限度地降低設備維護成本。
(4)實現數據的安全備份機制,提供數據安全監控策略,保證和提高數據的可靠性。
云數據庫基于私有平臺來規劃部署數據庫。本文通過對數據庫進行資源集群化,終端用戶可以根據自己的實際情況,選擇對應的數據庫,儲存容量、內存大小等;借助Web Service提供實例化操作,最大限度地降低用戶界面操作難度;此外用戶還可以對數據庫進行參數匹配,調整性能參數,提高系統的穩定性和安全性。
數據庫的儲存方式對于數據庫的可靠性具有重要影響作用,為實現數據的標準化,在進行數據庫服務器切換過程中,本次采用DRBD與共享存儲集合儲存模式[2]。
數據庫基于實例化實現數據庫的環境搭建,不同類型的數據庫具有不同的服務器集群范圍,如高可用集群;因此為了營造云數據庫的工作環境,需基于硬件服務器上融合MySQL、Percona軟件和插件等[3]。數據庫物理服務器池有個虛擬IP提供用戶適用,用戶在進入Web中,選擇不同類型的數據,IP以及數據備份路徑,系統會自動搭建數據庫環境,此時用戶的物理服務器池也會出現。
本文基于前端開發C++技術,采用高可用的系統架構思路來決心系統設計,底層數據庫以Python調用SaltStack實現對數據庫的調用和匹配,軟件層面既要實現邏輯的通信,又要實現設備層之間的交互。
本文OpenStack架構設計在每個控制點上都安裝了network和MySQL數據庫等有關Nova組件的服務器,通過完成不同的任務目標,實現多個節點控制,可被多臺(本文2臺)服務器控制。本文計算機節點Nova-compute、虛擬化插件等,可實現虛擬內存、CPU等,由于數據計算節點集群化通過在存儲節點安裝Nova-volume或Nova-Cinder服務器,實現儲存節點的虛擬化和共享儲存的目的。此外在Glance鏡像中還可以接入計算機節點,控制儲存單元的磁盤大小。本項目主要通過安裝Neutron-server到網絡節點,實現為虛擬機實例提供網絡服務,如網絡端口的創建、子網及虛擬網絡等功能[4]。而管理網是由數據層、存儲層根據組網所對標的目標不同,主要的功能是保證網絡節點的順暢、數據安全性以及防火墻規則調整。
基于OpenStack平臺的構架設計,不僅保證了原架構的功能外,還提高了平臺的可靠性和運行安全、穩定性;此平臺是實現終端用戶的管理和配置,通過將客戶的目的匹配對應的服務,實現統一管理[5]。一般包括云主機、云存儲、網絡等相關介質;本文所涉及的平臺構架體系主要包括硬件的設置、服務體系的構件以及數據庫的設計。
云平臺組件主要用于儲存各個系統運行的數據。云平臺的硬件設置按照性能不同對組件配置不同的服務器。可節省物理介質資源。但缺點就是系統反應速度慢、服務器故障即面臨組件的更換;分布式則可實現不同組件匹配不同的服務器,動態響應快、高可用(見圖1)。
物理服務器池以高可用架構設計思路,匹配集群化管理模式,在系統正常工作下,主服務器會處于待機狀態,此時系統的儲存模式是共享存儲;當系統出現異常狀態時,系統會自動轉換至online狀態,此時數據將保存至備用服務器端并啟動數據的安全性能;每個服務器可匹配虛擬IP,通過IP服務控制服務器狀態。云數據庫物理架構如圖2所示。

圖1 平臺架構

圖2 云數據庫物理架構
主要功能設計不僅可以實現數據化實例創建還可以對服務器進行匹配修改,如添加、刪除、刷新等操作。
本文數據庫表設計主要涉及多種數據庫,如MySQL;因此在數據集群化時,需要根據數據庫的參量信息選擇不同的集群。數據庫物理狀態也能被用戶調用和查看,如磁盤利用率、內存大小等。數據庫實例化的同時也會受服務器性能和內存大小的影響。設計數據庫存儲云數據庫的物理服務器池相關信息[6]。
MySQL數據庫的實例化,系統可實現多種參量的修改,參量一般會在儲存數據表中進行保存,當用戶需要對參量進行修改,則在web頁面輸入對應的信息,此時前端軟件會對輸入的信息進行預處理,通過實例化進行參數匹配。
Python端獲得數據后,根據實例參量選擇對應的服務,經過多次的實例化表征后,架構++修改數據庫表db-paralist中value-now。
數據備份選用定時器觸發模式,通過備份模式對數據庫進行數據表的修改和傳遞,當用戶設置了備份信息表后,定時器如被激發,備份指令會響應,此時系統會把ASN.1的編碼格式發送至后臺C++端實現備份路徑和方式的生成。Python端收到對應的指令后,此時備份位置會被放置VG中,加之時間戳的作用,包含了備份路徑和已備份文件名的備份信息會重新返回到Python端,并被寫入數據表中,用戶就可以通過Web頁面查看實例備份文件記錄。
數據庫對于系統、平臺都是不可或缺的一部分,尤其是隨著大數據、云數據的發展,數據庫的可靠性和安全性對于系統、平臺的發展、維護都具有積極影響。本文通過研究對MySQL云數據庫進行需求分析、系統平臺構架設計等方面的研究可得出基于MySQL云數據庫設計與實現可滿足大部分系統、平臺的需求,通過實例化操作最大限度地提高了數據庫的實用性。