産品簡介
DRDS 是一款基于 RDS for MySQL 、采用分庫分表技術進行擴充的分布式 OLTP 資料庫服務産品,産品目标旨在提升資料存儲容量、并發吞吐、複雜計算效率三個方面的擴充性需求。
DRDS 核心能力采用标準關系型資料庫技術實作,建構與公共雲( cloud native ),配合完善的管控運維及産品化能力,使其具備穩定可靠、高度可擴充、持續可運維、類傳統單機 MySQL 資料庫體驗的特點。
DRDS 在公共雲和專有雲沉澱多年,曆經各界天貓雙十一核心交易業務及各行業阿裡雲客戶業務的考驗。承載大量使用者核心線上業務,橫跨網際網路、金融&支付、教育、通信、公共事業等多行業,是阿裡巴巴集團内部所有線上核心業務及衆多阿裡雲客戶業務接入分布式資料庫的事實标準。
産品特點
穩定
對于絕大部分應用而言,關系型資料庫所承擔的職責是整個資料管理系統中最為核心基礎的,不光直接影響到終端使用者的服務體驗,同時也是業務資料的最後一道保險,是以穩定性是資料庫最為核心的選型因素。
DRDS 的穩定性建立在對久經考驗的 MySQL 合理使用的基礎上,單機 MySQL 在高并發、大量資料存儲和複雜計算場景下,呈現出相對弱勢的狀态。
DRDS 将資料拆分到多個 RDS MySQL,使每個 RDS MySQL 承擔合适的并發、資料存儲和計算負載,各個 RDS MySQL 處于穩定狀态,DRDS 層面處理分布式邏輯a,最終得到一個具有穩定可靠、高度擴充性的分布式關系型資料庫系統。
相比于全自研分布式 NewSQL 資料庫,DRDS 産品始終以持續穩定性和可運維性作為第一要務,同時通過标準資料庫技術彌補與單機資料庫的體驗差異,讓使用者便捷、快速地上手使用,充分發揮産品的業務價值。
高度可擴充
相比傳統單機關系型資料庫,DRDS 采用分層架構可確定在并發、計算、資料存儲三個方面均可線性擴充,通過增加 DRDS 節點 和 RDS for MySQL 執行個體達到水準擴充效果。
相比基于分布式存儲的新型 cloud native 資料庫,理論上 DRDS 的擴充性沒有上限,打消業務在快速發展的過程中針對資料庫擴充性産生的後顧之憂與運維壓力。
持續可運維
關系型資料庫對于絕大部分應用而言需要 7 * 24 小時穩定工作,持續可運維是資料庫的核心關鍵能力。
DRDS 在公共雲和專有雲持續深耕多年,提供豐富的産品化能力及完備的運維體系,通過完整的 OpenAPI 可讓業務自行定時與內建。
生命周期管理
- 執行個體建立、重新開機、釋放
- 資料庫建立、删除
- 資料白屏化操作
容量管理
- 水準拆分、垂直拆分
- 讀寫分離
- 分析型隻讀執行個體
- 并發型隻讀執行個體
- 彈性變配
- 平滑擴容、熱點擴容
- 拆分變更
安全與審計
- VPC
- IP 白名單
- 賬号與權限管理
- SQL 審計與分析
容災管理
- 一體化備份恢複(快速&一緻性)
- SQL 閃回
- 表資源回收筒
- 多可用區執行個體容災部署
監控告警
- 自有分層監控
- 雲監控接入與關鍵名額報警管理
資料生态
- DTS 資料遷移、同步、訂閱
- 資料內建
- DMS 資料管理
- QuickBi 內建
- 搜尋OpenSearch、Elasticsearch
- 大資料計算與資料倉庫
标準類關系型資料庫能力
傳統關系型資料庫具備良好的使用者認知和使用習慣,DRDS 采用标準關系型資料庫技術實作,在提供分布式擴充能力的基礎之上,大幅相容單機 MySQL 使用體驗。
通過 RDS for MySQL 提供穩定的存儲支援,DRDS 核心專注于分布式 SQL 層,整個分布式 SQL 層如同大部分單機關系型資料庫,分為網絡和協定層、SQL 解析層、優化層和執行層。其中優化層包含邏輯優化和實體優化,執行層包含單機兩階段執行、單機并行執行( Parallel Query )和多機并行執行( DAG ),采用多種傳統單機資料庫優化和執行技術。
與單機資料庫不同的是,DRDS 将資料拆分邏輯加入到了 SQL 優化和執行過程中,與其他分布式資料庫不同的是,在面向 OLTP 場景時,DRDS 着重關注因分布式而帶來的代價,提供了包括自定義資料拆分、算子 move-arround 和 pushdown、join 和 aggregation 的 co-located 優化和計算、分布式事務的處理和優化、分布式全局二級索引、面對遠超單機資料容量的外置 DAG 計算等技術。
适用場景
按應用類型選擇
DRDS 能夠很好的服務面向個人客戶、消費者、裝置的事務型業務,關注響應時間,SQL 偏向點查點寫,具備較高并發特征,類似網際網路、移動網際網路、網際網路+業務(通信、支付&金融、教育、出行、零售餐飲等)有非常好的效果。
針對傳統的企業級應用,因為資料不斷擴充,急需更強計算能力的線上事務資料庫,DRDS 最近兩年在複雜 SQL 優化、并行執行、分布式事務等方面進展較大,很好的滿足這種訴求,因為天然的資料分片,資料處理并行度效果不錯。

按容量選擇
OLTP 業務領域,容量包含并發度、資料存儲、複雜 SQL 響應時間 3 個次元。任意一個次元已經出現問題,或者按照業務規劃,在不久的未來就會出現。那麼 DRDS 是一個合适的選擇。
對于業務發展初期選擇分布式還是不選擇分布式,總會面臨很多考量,但是從資料庫角度出發來看,業務使用的 SQL、資料類型、事務、索引、其他功能是确定的,對于大部分業務來說,隻要 SQL 支援度、資料類型、事務、索引支援比較完整,并且有有效手段在各種極端情況下具備能力擴充,那麼這項技術對于業務的未來發展,較低機率存在瓶頸效應,相反,它可能是所有方案中最有生命力的方式。
按成本選擇
業務對于資料庫的成本考量,分為 3 個部分,
1、業務開發上手使用難度,
2、長期穩定性和性能表現,
3、服務持有成本。
業務開發上手難度過高,往往會導緻項目延期,業務效果差強人意。對于一個新型資料庫而言,如何有效相容現有流行資料庫使用習慣、功能支援完整度至關重要。DRDS 相容 MySQL 生态,對于主流的用戶端、驅動有着較好相容性,SQL 相容層面,已經比較少碰到功能報錯問題,業務迅速進行功能對接成為可能。
長期穩定性和性能表現,因為 DRDS 将資料、負載分擔到多個 RDS 中,是以面對逐漸加大的工作負載,DRDS 相比大規格單機資料庫有着更好的穩定性表現,性能表現層面,因為天然分布式,并發表現是其強項,配合單機并行計算、多機 DAG 計算,能夠覆寫大部分線上資料的複雜計算需求。
服務持有成本方面,按照相等負載對标其他方案, DRDS 使用相對低配 RDS ,展現出的成本曲線随着 RDS 數量上升,相比其他方案,成本曲線趨向平緩。DRDS 的客戶群體中,不乏 1 個 DRDS 下挂載幾十個 RDS 實作資料高效存取和計算的需求。
按應用生命周期發展選擇
DRDS 除了提供水準拆分能力,也提供了垂直拆分能力,并且應對極端熱點,提供熱點拆分能力,很好的滿足了業務在整個生命周期中對資料庫的訴求,可在業務發展的各個階段切入。每個階段的轉換,DRDS 又提供各項能力保駕護航。
産品架構
業務架構
DRDS 在業務建構資料管理體系所處的位置如下圖所示, DRDS 承擔業務面向線上事務資料存取與計算的訴求,通過資料內建、資料傳輸産品,和緩存産品、大資料生态配合使用。
核心架構
DRDS 使用體驗相容 MySQL 體系 , 采用标準關系型資料庫技術實作,并且大幅度增強其适應分布式場景的能力,因為有 MySQL 存儲支援,是以 DRDS 核心技術能力展現主要是在分布式 SQL 層。
整個分布式 SQL 層如同大部分傳統單機關系型資料庫,分為網絡和協定層、SQL 解析層、優化層和執行層,其中優化層包含邏輯優化和實體優化,執行層包含單機兩階段執行、單機并行執行和多機并行執行,應用了多種傳統單機資料庫優化和執行技術。
和單機資料庫不同的是,DRDS 将資料拆分邏輯加入到了 SQL 優化和執行過程中,并且和其他分布式資料庫不同的是,在面向 OLTP 場景時,DRDS 特别關注分布式所帶來的代價,提供了包括資料拆分的可定制化(指定拆分字段和算法)、算子 move-arround 和 pushdown 、 join 和 aggregation 的 co-located 優化和計算 、分布式事務的處理和優化、分布式全局二級索引、面對遠超單機資料容量的外置 DAG 計算等核心技術。
部署架構
DRDS 服務部署在公有雲上,采取多種方式確定生産安全,其中包括
- 支援 VPC、IP 白名單、非對稱賬号密碼、TLS 等方式,確定資料服務安全
- 使用獨享高性能實體資源、執行個體間充分隔離、支援多可用區執行個體,確定資料服務穩定
- 支撐系統采用多 region 隔離部署、核心資料服務 SLA 與管控 SLA 解綁,確定不出現系統性問題
阿裡雲分布式關系型資料庫服務 DRDS産品簡介産品特點适用場景産品架構了解更多
目前 DRDS 已經在國内大部分 region 部署,并且具備海外輸出能力,逐漸開放海外各 region , 助力業務區域擴張。