雲資料庫RDS MySQL Serverless已來

語言: CN / TW / HK

DBA的痛,你有嗎?

Case1: 資料庫又被打滿了,業務宕機了!

大促不斷、明星又八卦了、俄烏戰爭了 總有你不知道的某個時刻,庫又被打滿了......

Case2: 某某同學,為什麼你的資料庫負載這麼低,為什麼搞這麼大規格???

某某老闆突然看了一下資料庫監控,發現負載這麼低(業務低谷期),嚴重懷疑我們為什麼這麼浪費資源......

Case3: 太貴了,太貴了,今年又超預算了!!!

IT系統成本太高太高,研發、測試、生產系統預算支出這麼高?你不優化系統提高效率,我就優化你,老闆看著預算支出咆哮著......

RDS MySQL Serverless公測結束,正式對外服務,以上問題統統消失!

以終為始、解您痛點

讓算力像自來水一樣按需使用一直都是各大雲廠商的目標。Serverless概念以及FaaS+BaaS的設計思想提出,極大的影響了近幾年雲端計算的發展。隨著阿里雲的FC、AWS的Lambda 以及國內各友商FaaS模式的發展,業內對資料庫模式的BaaS需求越發強烈。資料庫Serverless的核心是解決例項CPU/記憶體/磁碟等資源的平滑升降,讓資料庫例項根據負載情況按需分配資源,最終可以用最合理的IT資源完成客戶價值:

Provision & Serverless版本資源對比

為了更好的服務客戶,阿里雲RDS MySQL Serverless在設計開發中始終堅持以下幾個目標:

  • 提升雲資源的利用率,平峰填谷帶來資源最大化利用,為客戶帶來更高的價效比空間;

  • 建設極致的彈效能力,自動化應對流量洪峰,提升DBA等運維同學的幸福感;

  • 依託AliSQL的定製能力,結合Serverless場景做深度優化,保障極致彈性過程的穩定性;

  • 秒級計費能力以及豐富的產品功能,讓按需使用和按量付費更徹底;

  • 例項資源隔離分配,避免爭搶,讓您用的更穩;

阿里雲RDS for MySQL資料庫在資源池化能力、監控能力、彈效能力、計費能力上深耕多年,當資料庫能做到秒級監控、秒級彈性、秒級計費、核心無感調參、智慧診斷等等能力之後,將這些能力整合到一起之後就自然而然催生出Serverless資料庫這種形態。Serverless資料庫既是客戶所需,也是一件水到渠成的事情。

從技術架構上,RDS MySQL Serverless秉承一貫的雲原生之路,分為接入層、路由層、計算層、儲存層四個層次,充分利用雲原生基礎設施的彈效能力,將資源解耦和分層彈性做到極致。輔助以智慧決策能力、統一資源排程能力等成熟的周邊工具能力,將Serverless能力做到更加穩定和順滑。

作為阿里雲首款商業化的Serverless資料庫,RDS Serverless資料庫引領著資料庫Serverless的創新。在本次商業化的內容當中,也首先引入了若干理念的變化:

  1. RDS MySQL Serverless首次引入了歸一化的資源度量單位RCU,針對底層不同的硬體型別進行了算力的統一化;

  2. RDS MySQL Serverless 首次引入了秒級計費的能力,將資料庫的計費力度精細到秒的力度;

  3. RDS MySQL Serverless 首次引入了Data API的概念,讓應用像範圍RESTful介面一樣訪問資料庫,以更好的姿勢接入到函式計算當中;

夯實基礎、釋放潛能

RDS MySQL Serverless產品於 2022年8月15日正式對外發布MySQL 8.0基礎版的商業售賣,為保障客戶使用資料庫Serverless的穩定性和高性價比,主要在以下幾個方面進行深入改造和優化:

1、本地秒級彈性

依託雲原生能力,彈性排程可以最快做到3-5秒資源彈性;即當客戶例項負載發生突變,系統會快速感知到變化並分配適量資源讓您的例項負載始終趨向合理範圍。

本地秒級彈性架構

如上架構示意圖可見,彈性排程系統設計拆分為4個階段,共同完成例項的快速彈性;

  • 監控感知

    秒級監控例項的綜合狀態,包括計算、儲存、網路以及MySQL的核心指標,並將核心資料上報給控制器;

  • 決策控制

    決策控制模組會根據例項的實時狀態綜合判斷例項的效能瓶頸,給出資源彈升建議;

  • 資源排程

    資源排程負責完成資源的再分配,確保資源合理使用不發生例項間的互相爭搶;

  • 執行控制

    最終控制器會完成例項所需記憶體和相應引數的修改,確保例項資源的最佳配比;

通過以上一系列的任務的執行+正反饋,不斷的動態調整,讓您的例項平穩執行在合理的資源區間,給您帶來極致的彈性和價效比。

2、儲存自動擴容

通過線上大量的例項執行經驗可以看到,很多例項因為擴容不及時而導致鎖定,進而影響業務。因此MySQL Serverless在設計時候考慮提供雲盤容量自動擴容,通過對磁碟水位的實時探測,會每5分鐘對磁碟進行巡檢並按需執行擴容(最大32T),最大限度避免您的例項因為空間不足鎖定。

3、支援例項自動啟停

為了給研發/測試例項或者週期無負載例項提供更極致的成本優化,MySQL Serverless支援了例項的自動啟停功能,以便客戶在不需要訪問資料庫的時候,讓其進入靜默狀態,可以進一步給客戶帶來資源成本的節省。

例項自動啟停架構示意圖

為保障例項啟停體驗,我們在以下幾方面進行了深入改造:

  • AliSQL核心啟動效率深度優化

    通過阿里雲AliSQL資料庫核心團隊的不斷優化,將例項核心本身的啟動時間壓縮到10秒;

  • Router優化改造

    通過對Router的深度改造,可以讓例項睡眠期間也不“宕機”,當MySQL是靜默狀態時,一旦有請求訪問,Router會Hold請求直到MySQL醒來,讓系統一直線上,隨時響應客戶的請求;

  • 雲原生資源排程優化

    為保障例項資源分配和載入的效率,我們採用了分散式資源排程能力,並不斷優化執行效率,極大的降低了例項啟動管控時間;

  • 雲原生容器下載加速優化

    結合阿里云云原生團隊的容器加速能力,可以做到例項啟動按需載入,完美解決了容器下載效率問題。

4、秒級計費能力

通過架構升級,MySQL Serverless資料庫實現了秒級計費:

  • 正常執行的例項,計費系統會記錄例項秒級RCU資源量變化,推送精確計費;

  • 當您的例項進去自動暫停階段,計費系統只會計量您的儲存雲盤費用,讓您省到極致;

  • 當您的例項恢復啟動狀態後,計費系統會重新按照資源RCU進行秒級計費;

5、生態接入能力

傳統資料庫通過都是通過JDBC/ODBC進行資料庫CURD等操作,對於程式設計師有較高的要求。本次Serverless資料庫通過HTTP請求直接訪問資料庫,降低資料庫的使用門檻。

RDS自有的Secret Manager系統會安全地儲存好您的資料庫訪問憑證(使用者名稱,密碼),通過ARN識別符號,我們可以確認您對您的serverless資料庫的訪問許可權,併為您提供以RESTful API,SDK整合等方式靈活地執行SQL語句與資料庫進行互動的能力。使用者示意圖如下:

展望未來、合作共贏

未來RDS S erverless會繼續大力 發展 在產品形態、極致彈性以及智慧運維等方面不斷推陳出新,持續加強建設穩定性 ,讓客戶放心用雲,從而更專注自身業務的發展,合作共贏。

RDS MySQL Serverless 已經發布,您可以通過點選“ 閱讀原文來體驗使用產品, 期待您的建議和反饋! 歡迎致電郵箱: [email protected]

作者資訊

李大勇 RDS MySQL核心研發人員, 專注於資料庫Serverless方向探索及架構實踐。

推薦閱讀

點選 “閱讀原文” 檢視 雲資料庫  RDS SQL Server  更多資訊