虞翔,夏春梅
(保山學院,云南保山,678000)
基于MySQL的云數據庫分析與設計初探
虞翔,夏春梅
(保山學院,云南保山,678000)
云計算是在互聯網的基礎上建立的一種計算方式。通過該方式,軟硬件的共享資源和信息都會在對應的設備或是計算機中被提供。而云計算中最主要的商業模式是PaaS。其中DaaS是PaaS平臺中的基礎功能,它可以利用MySQL數據庫技術,進行系統架構和部署設計,以此來實現云數據庫的服務。
MySQL;數據庫;設計
云計算可以說是數據共享中新興的基礎架構方式。它能夠實現將更大的資源池進行相互聯系,然后為用戶提供更加豐富的信息服務,這是信息技術一次新的變革。它的主要功能就是將更多的網絡連接起來,然后對各種資源進行統一的調度和管理,這樣用戶就可以根據自己的需求提取信息。其中提供這些資源的網絡就是“云”。對于用戶來說,“云”中的資源是可以進行無限擴展的,而且還能夠隨時進行提取,根據需求進行使用,隨時可以進行擴展,根據使用的不同進行付費。一些云計算提供商主要用戶提供通用的應用和網絡業務,而用戶可以在瀏覽器中,或是某些應用的軟件,再或是移動程序向云服務進行訪問等,其中服務和軟件相關的信息都會在“云”上進行保存。
在云計算中使用的PaaS的方式,它主要是對開發者提供一些“云”服務。PaaS平臺是對移動互聯網進行服務,它是建立在托管平臺和在托管平臺中運行的應用之上。PaaS應用包括三種類型:第三方的應用、管理能力開放網關的應用、管理應用等。可以看出在該平臺中必須建立一個能夠進行數據儲存的功能。很多的開發者對于數據的使用,更喜歡以“云”的方式提供的服務,而上文提到的DaaS(Database-as-a-Service),是指一種數據也就是服務,它是PaaS中的一個子系統。它能夠提供使用性較高的多租戶數據庫服務,而且具有維護簡單、容易擴展,對用戶能夠顯示清楚地位置。而關于PaaS平臺的應用可以參考圖1所示,開發者在PaaS平臺中可以進行DaaS儲存能力的購買。管理者可以將一些數據庫中訪問用戶名好密碼提供給合法的用戶,進而連接DaaS接口,然后在用戶建立一個數據庫,之后在進行相應的初始化工作。而開發者的應用程序則是在虛擬機上進行運行的。用戶通過這些提供的用戶名和密碼,進入DaaS進行數據的訪問,這與訪問一般的MySQL是不一樣的。用戶在訪問的過程中不需要對一些數據庫中的代碼進行調整,直接就可以利用DaaS進行數據的讀取。這也是DaaS中最具有代表性的優勢,同時DaaS系統還具有:位置透明、可擴展性、多租戶、可用性高、代碼侵入低等功能。

圖1 PaaS調度分析圖
在MySQL中,DaaS系統包括三層結構:代理服務器板塊、數據庫服務、文件服務。
代理服務器板塊主要負責的是將訪問數據轉發到對應的數據庫服務器中,而且還實現控制的功能。代理服務板塊屬于雙機溫備份的架構,兩臺主機可以對外展示相同的IP地址,而備用服務器與主服務器運行的程序是相同的,主要有MySQL-Proxy程序以及UniHA相關程序。其中MySQL-Proxy實現的功能是透傳訪問的數據請求,同時對其進行控制。在實際的工作中,主代理服務器是進行數據訪問請求接收任務的。如果主機服務器出現宕機情況,那么它的工作則有代理服務器進行實現,在這個工作的過程中DaaS的使用者是透明的。
數據庫方面的服務器是對數據庫服務提供一個集群。每臺機器在集群中都是使用MySQL程序,而且數據庫服務器中的每個機器只是實現計算的能力,并不實現存儲的能力。
文件服務器主要是為DaaS提供儲存的功能,目前被作為PAID磁盤,它是通過NFS掛載將各種數據在服務其器中進行掛載。如果在PAID磁盤中出現儲存重復的情況,它可以利用數據冗長的方式將系統的可用性進行提高。
2.1 隔離方式
想要實現多租戶的功能,首先就是對數據進行隔離以及性能的隔離。
數據的隔離包括三個方面:(1)對數據庫進行分離,就是把不同的租戶按數據類型分布;(2)實現數據共享,將不同的租戶有關的數據保存在同一個數據庫中不同的Schema中;(3)數據共享模式,就是將不同的租戶數據,保存在相同的數據庫中的Schema中。
實現數據庫的分離能夠保證較好的隔離性;還有就是實現更好的共享性。
性能的隔離。實現性能的隔離主要取決于選擇多線程的應用程序還是多進程的。而MySqL是屬于單進程和多進程的功能模式。
2.2 DaaS的可擴展機制
DaaS的可擴展性是指能夠實現平滑的在線擴容,它能夠增加相關的存儲資源,從而提高數據庫的服務能力。
數據庫的擴展服務器。在DaaS中可以實現數據庫服務器的擴展,這樣服務器會增多,那么會提高用戶使用MySQL服務的效率。
數據儲存的擴展。在磁盤中進行儲存是存在限度的,如果是比較大的數據,就要進行新的磁盤購買了,然后通過MySQL replication技術,把用戶的信息轉移到新的磁盤中,之后在將用戶請求的路由轉換到新的磁盤中,同時將用戶原來磁盤中的訪問數據刪除。
本文通過對關于MySQL有關的云數據庫進行分析,從而對云數據的建立進行了一定的介紹。我們可以看出基于MySQL建立的云數據服務,具有很高的可用性、同時也能實現多租戶的功能,而且該平臺的擴展性較高,對于用戶沒有太多的限制,這些都在很大程度上方便了用戶的訪問,以及實現了大量數據儲存簡便的功能。
[1]牛小寶.基于MySQL的云數據庫設計與實現[D].南京郵電大學,2016.
[2]吳山,徐鵬.基于MySQL實現云數據庫服務的設計與實現[J].2011.
[3]楊凱.淺談基于MySQL數據庫結構設計[J].科技展望,2015,25(36).
Analysis and Design of Cloud Database Based on
Yu Xiang,Xia Chunmei
(Baoshan university, Baoshan Yunnan,678000)
Cloud computing is based on the Internet to establish a calculation method. In this way, the hardware and software shared resources and information will be in the corresponding equipment or computer is provided. The most important business model in cloud computing is PaaS. DaaS is the basic function of PaaS platform, it can use MySQL database technology, system architecture and deployment design, in order to achieve the cloud database services.
MySQL; database; design