雲上未來:資料庫融合PaaS雲平台建設探索
作者:麻鵬飛·沃趣科技產品經理
企業業務複雜、IT系統內部存在多種類型的關係型資料庫
雲計算、大數據、人工智慧、等新興技術不斷發展壯大,驅使更多應用的發展創新,但是我們通過搜索Google引擎的DB-Engines Ranking搜索熱度可以看到,Oracle、MySQL、SQL Server等傳統的關係型資料庫依然是主流並且應用最廣泛的資料庫。
B端市場的企業內部由於應用的複雜性和多樣性(深層次的原因,不同的ISV提供的解決方案使用不同類型的關係型資料庫導致)。企業通常購買外部人天服務進行響應和維護的工作,或通過招聘及內部培養針對不同類型的關係型資料庫人才梯隊。這些不同類型的關係型資料庫硬體設備一般無法通用,每一套應用和資料庫集群都是獨立的運維管理方式的弊端不斷湧現。
資料庫融合平台整合能力
統一對待
整合企業內部不同關係型資料庫到統一管理平台,首先需要將不同類型的資料庫當成同一個「對象」對待。Docker技術的發展使這一想法變得更加簡單可行(KVM虛擬化技術同樣也可以做到打包成鏡像,但是由於Guest OS開銷的存在以及版本迭代的複雜性等),無論是Oracle、MySQL還是SQL Server都是操作系統中的Progress。當前Docker容器化技術已經相當成熟穩定,無論是Oracle、MySQL和SQL Server官方都推出Docker穩定版鏡像。
編排調度
有了我們可以整體運行在一個OS內的Progess的Docker技術後,我們需要考慮如何部署在分散式架構中滿足企業對整體系統的可靠性要求。
Kubernetes已經全面贏得容器編排技術的戰爭,火速佔據了市場。
kubernetes由Linux基金會和Google共同創辦的雲計算基金會(CNCF,Cloud Native Computing Foundation)進行管理,是一個以開源為目的組織。旨在幫助企業基於容器化和雲原生技術,能夠在公有雲或者私有雲上快速部署自身的應用並擁有快速擴展的能力,目前Kubernetes可以說已經成為業內標準。
高可用
關係型資料庫的高可用方案是一個老生常談的話題,關係型資料庫集群架構為了保證前端應用業務的連續性以及可靠性,通常要求資料庫集群建設有可靠的方案。
CAP理論大家都熟悉,關係型資料庫是典型的C(Consistency)A(Availability)應用,但是如果要保證C(Consistency)P(Partition tolerance)架構,具有一定的容災能力、集群架構通常需要3節點部署(使用本地存儲)。
類似MySQL官方的MGR方案,3節點僅有一個節點可進行讀寫另外兩個節點提供只讀。如果另外兩個節點未提供對外輸出只讀能力,那麼對於平台來說,除了3節點能保證高可用一定的冗餘能力外,另外2個節點浪費計算資源。
彈性能力
軟體定義存儲
kubernetes在1.9版本,對於存儲卷的支持採用CSI(Container Stroage Interface)的方案,減少之前in-tree方式帶給k8s自身核心代碼的耦合度和複雜性,存儲提供商或者企業可以通過開發CSI介面實現對分散式存儲的管理能力(沃趣科技基於CSI介面實現存儲管能力:https://kubernetes.io/blog/2018/08/02/dynamically-expand-volume-with-csi-and-kubernetes/)。
採用計算存儲分離的方案,對於資料庫平台來說,計算資源所用即所需,既應用需要一個4C16G計算規格的資料庫實例,平台就提供滿足計算規格的資料庫。通過平台的可用性檢測及分散式存儲卷的編排和調度能力,保證資料庫高可用和數據不丟的同時,計算資源節省2/3。
SAN存儲支持
剛剛才說了Kubernetes是雲原生的開源平台,現在又要支持商用的SAN存儲,是不是光速又打自己的臉。Kubernetes的存儲卷管理支持的協議(https://kubernetes.io/docs/concepts/storage/volumes/)包括FC(Fibre Channel)及ISCSI,B端市場的企業經歷一次又一次的IT架構洗禮,仍會有大量的EMC SAN商用存儲的設備需要利舊,而且在傳統的銀行金融行業,核心業務系統的數據依然希望使用更加可靠的商用存儲。
QFusion資料庫融合PaaS平台
沃趣科技的QFusion採用K8S及雲原生技術實現資料庫融合平台,該平台完全兼容官方kubernetes並通過軟體一致性認證,提供Oracle、MySQL和SQL Server資料庫統一運維管理能力,是一款具有高彈性、高性能,易管理可擴展的資料庫私有雲PaaS產品。
平台結合資料庫業務場景,提供MySQL主從集群以及資料庫中間件,以滿足不同的應用場景需求,讓企業資料庫平台管理人員更加註重業務應用的發展,根據業務的需求能夠快速的進行橫向擴展。
通過整合原生組件Prometheus grafana,提供資料庫實例全方位的運行狀態監控及故障告警功能,能夠第一時間發出預警信息進行處理,避免對應用業務造成影響。同時提供資料庫實例日誌採集及MySQL的慢SQL詳情,協助DBA管理員準確查找定位問題出處。
※AI 是一個大謊言
※Google 開源 ClusterFuzz:使得查找錯誤並修復錯誤變得異常簡單
TAG:雲頭條 |