阿里分布式数据库服务实践
沈询: 阿里巴巴资深技术专家,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中检查端口是否被占用
云栖长卷:一张图看懂云栖七年