阿裏分布式數據庫服務實踐
沈詢: 阿裏巴巴資深技術專家,08年加入阿裏巴巴,一直從事阿裏分布式數據層方麵的研發工作,參與了公司大部分的去IOE工作,具備較多實操經驗。目前主要負責淘寶分布式數據層(TDDL),阿裏分布式數據庫服務(DRDS),阿裏分布式消息服務(Notify,MetaQ)的開發和架構設計工作。
經過近一年的運營,阿裏巴巴的分布式數據庫(DRDS)已經協助電商,電信,銀行,政府等多種類型的係統進行過業務分布式改造,在係統實施的過程中,我們碰到和解決了哪些問題? 他們是怎麼解決的?背後的思考是什麼?未來在何方? 以下來分享下精彩內容。
DRDS簡介
起源
DRDS 脫胎於 alibaba的cobra 分布式數據庫引擎,06年上線使用,在alibaba有近百應用在使用,目前已經開源,DRDS的80%的代碼出自cobra proxy(Sql解析器,執行流程,配置)。
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
上一篇:
Docker基礎之三: 安裝docker+HelloWorld
下一篇:
Docker基礎之四: Docker入門
Java關鍵字throw和throws
數據挖掘——數據歸約之大型數據集的維度
Android中使用Animation實現控件的動畫效果以及Interpolator和AnimationListener的使用
抽象模型,嚴謹代碼,開源分享
數 AI 人物還看今朝!CCAI 2017 人工智能青年論壇即將啟航
Ehcache配置的overflowToDisk屬性
J2EE的web.xml中filter-mapping的位置導致的亂碼問題
windows中修改catalina.sh上傳到linux執行報錯This file is needed to run this program
windows和linux中檢查端口是否被占用
雲棲長卷:一張圖看懂雲棲七年