當前位置:
首頁 > 最新 > 雲原生時代下的資料庫服務

雲原生時代下的資料庫服務

嘉賓|熊中哲

編輯|張嬋

在國內公有雲都在提供「容器 +Kubernetes"的服務來幫助企業上雲的背景下,資料庫服務應該如何藉助雲原生理念來助力企業解決上雲過程中重要的數據存儲和安全問題?

隨著雲計算和容器技術的發展,雲原生(Cloud Native)理念應運而生,中國市場也在積極擁抱雲原生理念,成為雲原生領域相關技術的生力軍。在國內公有雲都在提供「容器 +Kubernetes"的服務來幫助企業上雲的背景下,資料庫服務應該如何藉助雲原生理念來助力企業解決上雲過程中重要的數據存儲和安全問題?對此,我們採訪了沃趣科技,來了解企業級資料庫雲產品是什麼樣的。?

沃趣的產品體系

沃趣已經成立 6 年,其產品體系是在不斷討論中逐步完善的。

初期, 沃趣通過整合開源領域的軟硬體技術為客戶提供高性能一體機也即是 QData, 提供高性能, 高可用, 易擴展的資料庫產品及整體解決方案。

隨後, 沃趣在想如果把 QData 集群節點之間距離拉的更長一點, 譬如 60 公里, 是否可以滿足用戶跨 IDC 構建雙活系統的需求, 於是有了 QData Infinite。同時,為了滿足用戶數據備份、恢復、冗餘的需求,以及如何更好地將備份系統適用到更多場景(譬如:誤操作之後的數據恢復,應用預發布,指定時間點恢復等),沃趣又推出了 QBackup 備份容災雲平台。

當然,沃趣最終目的還是希望幫助用戶更高效地交付資料庫,並利用好最新的 Oracle 特性。所以在以上的軟硬體基礎上,沃趣又率先在業內推出了全面支持 Oracle 12C 的 QData Cloud。

除此之外, 沃趣的產品也開始覆蓋 MySQL,期望通過藉助容器、編排等技術提供更好的 MySQL 私有 RDS (relation data system),以 Oracle 和 MySQL 為主,產品覆蓋資料庫的整個生命周期,包括資料庫集群創建,分庫分表集群,讀寫分離集群,集群水平擴展,資料庫實例高可用,實例的備份、容災,以及日誌分析、SQL 審計等等。

如何理解雲原生?

雲原生是一種構建和運行應用程序的方法,可以利用雲計算模式的優勢 —— 彈性和按需計算的能力。雲原生應用程序以雲計算平台的快速響應為基礎構建和部署,為企業提供跨雲更高的靈活性、彈性和可移植性。

沃趣產品及研發負責人熊中哲說,很多大神對「Cloud Native」有各自的解釋,概念上可簡單歸納為:可擴展,無單點故障,自治,自動化,與底層平台解耦。從沃趣實踐的角度看,使用雲原生架構意味著:

通過容器技術構建資料庫實例運行態, 提供單機多實例的資源隔離以及硬體資源的穿透等;

利用容器的編排技術以及擴展機制實現 RDS 相關業務;

利用分散式存儲構建彈性的資料庫集群,簡化實例高可用,擴容,備份,恢復等操作;

借用雲原生架構實現資料庫運行指標的採集和日誌採集, 並在此基礎之上提供標準的 API 以構建數據和日誌分析的平台。

熊中哲介紹到,目前開源的雲原生應用程序很多,但是持久化方面,特別是資料庫方面的項目就更少了,最為大家所了解的是 Vitess。Vitess 是一個基於 MySQL sharding 機制的資料庫集群項目,可以非常方便的做到水平擴展。Vitess 從 2011 年開始,就作為 YouTube 的一個核心系統組件,在 Google Cloud 上運行,現在規模已經達到上萬個資料庫實例節點了。相比這些開源項目,沃趣還在學習之中,正在不斷摸索來完善技術和產品。

雲原生架構下的資料庫研發

熊中哲說,從需求的角度看,雲原生架構下的資料庫和傳統的資料庫沒有任何不同。不管使用何種技術,業務對資料庫的要求本質上沒有什麼變化。但是從技術實現上看,採用雲原生架構會遇到一些很具體的問題 :

如何統一保管資料庫密碼;

如何動態發現資料庫實例;

如何統一管理資料庫實例配置;

監控數據的增長和查詢效率不再成反比;

是否可以採集每一條日誌, 並提供標準介面查詢;

如何更好的進行實例資源的隔離,而不是依賴介面化程度不夠的 CGroup;

建立 Zone 和 Region 的概念,並以此隔離租戶、實例、存儲資源等;

如何跟底層的 IaaS 解耦,"Run once, run anywhere"。

類似的問題還有很多。原來的方法是做到哪裡是哪裡,但是使用 Cloud Native 架構,沃趣可以找到很好的架構和解決方案,更專註在具體業務的實現,不再從零開始, 比如:

重構監控數據存儲,把監控數據從關係型資料庫遷移到時序資料庫,解決隨著數據量的增長查詢效率明顯下降的問題;

重構日誌採集模塊,將基於 SSH 的方式重構,不僅可以存儲資料庫產生的每一條日誌,還可以提供標準的 Rest API,提供標準的查詢介面;

引入高性能隊列為客戶建立數據 Bus,解決之前 peer-to-peer 的問題;

此外,為了更好地運用雲原生架構,沃趣團隊進行了大量學習,做了很多改進。首先是掌握了新的語言和新的編程方式:從 Python 轉到 Golang,從熟悉的多進程,多線程並發架構轉換到 Golang 基於協程的並發架構;從基於事件驅動的祈使式 (Imperative), 到基於 observe--diff--reconcile 的聲明式 (Declarative),團隊也花了不少精力在寫出 Kubernetes-Native Code。其次是提升工程能力,改進原有的代碼提交流程,提升 Code Review 的質量,並加如 E2E 測試。為此沃趣升級了 GitLab 平台,集成了 CI/CD 流程。

當然 Kubernetes 不能解決所有問題, 了解其邊界是真正落地的開始, 泛泛而談並不是嚴謹的態度, 在特定的場景和領域, 很多問題還需要我們自己解決. 借用 Google 工程師 Kelsey Hightower 的一句話:

「We very receptive this Kubernetes can』t be everything to everyone.」

技術在變,資料庫服務的核心不變

在雲原生領域,目前也有很多在不斷演進發展的新技術,現在很多人都在討論容器編排技術的下一站是不是 Service Mesh。對於大部分人來說,還沒有能力去判斷一項新技術的前景,只能靜觀其變。

熊中哲借用了 Jeff Bezos 討論 AWS 戰略時說過的一句話:「They like low prices, they like availability, they don"t want the services to be down, they like data security. It"ll still be true 10 years from now, 20 years from now.」

在產品層面, 沃趣則會更多地關注那些不變的東西,比如:

利用高密度和彈性, 讓用戶硬體投入成本更低;

提供更多資料庫類型和架構選擇,提升用戶的交付能力,把更多的精力投入到業務開發中,而不在關注運維中的所有細節;

提供更可靠的數據實時備份和恢復方案,讓最有價值的數據得到保護。

嘉賓介紹

熊中哲,沃趣科技產品 & 研發負責人,曾就職於阿里巴巴和百度,超過十年關係型資料庫經驗。2012 年 6 月,與阿里巴巴原數資料庫團隊幾位核心骨幹共同創業,組建了沃趣科技。目前致力於將雲原生理念引入到關係型資料庫服務中。

活動推薦

國內外的 AIOps 專家都在做什麼?

隨著業務越做越大,運維將會遇到越來越多的痛點,無論是異常檢測、故障發現、瓶頸分析、自愈等工作都需要大量的智能化,AIOps 會是業務運維場景下的大勢所趨,Gartner 預計在 2020 年 AIOps 的使用率將會達到 50% 甚至更高。

2018 年 7 月 6-9 日,InfoQ 將在深圳舉行全球架構師峰會,邀請了 QQ 技術運營總監策划了「不可阻擋的 AIOps」專題,其中邀請了 Pinterest 監控組經理孟曉橋前來分享《搭建大規模高性能的時間序列大數據平台》。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 高效開發運維 的精彩文章:

微軟為macOS開發大型Git倉庫虛擬文件系統
Udp的反向代理:nginx

TAG:高效開發運維 |