閱讀244 返回首頁    go 阿裏雲 go 技術社區[雲棲]


阿裏分布式數據庫服務實踐


沈詢: 阿裏巴巴資深技術專家,08年加入阿裏巴巴,一直從事阿裏分布式數據層方麵的研發工作,參與了公司大部分的去IOE工作,具備較多實操經驗。目前主要負責淘寶分布式數據層(TDDL),阿裏分布式數據庫服務(DRDS),阿裏分布式消息服務(Notify,MetaQ)的開發和架構設計工作。

經過近一年的運營,阿裏巴巴的分布式數據庫(DRDS)已經協助電商,電信,銀行,政府等多種類型的係統進行過業務分布式改造,在係統實施的過程中,我們碰到和解決了哪些問題? 他們是怎麼解決的?背後的思考是什麼?未來在何方? 以下來分享下精彩內容。

DRDS簡介

起源

DRDS 脫胎於 alibaba的cobra 分布式數據庫引擎06年上線使用,在alibaba有近百應用在使用,目前已經開源,DRDS80%的代碼出自cobra proxySql解析器,執行流程配置)。

DRDS吸收了taobao TDDL分布式數據庫引擎的大量優秀經驗和解決方案,08年上線使用,目前在使用的應用近千個,大量實際應用解決方案支持分布式join,支持分布式aggregation (group sum max min),支持異步索引構建,支持Auto sharding ,自動擴容縮容。

從TDDL到DRDS,

DRDS專門針對外部用戶進行了配置的重新設計簡化了配置操作規範與流程盡可能使得應用像操作一個數據庫一樣的操作DRDS用戶的專業化指導。

場景廣泛:互聯網應用,企業內大數據應用,政務類應用,物聯網應用。

應用場景

應用的業務需求單機已經無法滿足,一個RDS數據庫的最大實例也無法滿足用戶的需求,可能遇到容量瓶頸、事務數瓶頸、讀取瓶頸,我們就可以考慮使用分布式數據庫了。

Scale out(多機水平擴展),使用廉價數據庫陣列來滿足用戶需求—DRDS

優勢:更輕量的使用數據庫,未來更換的成本小;一次重構,以後基本再無需擔心係統瓶頸。劣勢:重構遷移需要付出成本;分布式環境下一些查詢會被限製不允許執行;完成相同功能需要比單機擴展付出更多成本。

 

 

                                             圖1

理想狀態就是Scale out 與scale up結合。如圖1所示,讓係統架構具備scale out的能力,盡可能提升單機利用率,但不要過早過度設計。

 

最後更新:2017-04-01 13:37:06

  上一篇:go Docker基礎之三: 安裝docker+HelloWorld
  下一篇:go Docker基礎之四: Docker入門