[1] 阿里分布式数据库服务原理与实践

[1] 阿里分布式数据库服务原理与实践

ID:9213811

大小:676.73 KB

页数:44页

时间:2018-04-23

[1] 阿里分布式数据库服务原理与实践_第1页
[1] 阿里分布式数据库服务原理与实践_第2页
[1] 阿里分布式数据库服务原理与实践_第3页
[1] 阿里分布式数据库服务原理与实践_第4页
[1] 阿里分布式数据库服务原理与实践_第5页
资源描述:

《[1] 阿里分布式数据库服务原理与实践》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、阿里分布式数据库服务原理与实践沈询自我介绍•花名沈询•DRDS目前负责架构设计•阿里分布式数据层(TDDL)负责人•参与过阿里集团大部分的Oracle到MySQL的迁移工作•在分布式存储领域经验比较丰富Agenda•DRDS介绍•在线数据迁移原理与应用•在线应用数据拆分经验DRDS介绍DRDS介绍•起源•核心价值•应用场景•架构与原理DRDS介绍-起源•起源–DRDS脱胎于alibaba的cobra分布式数据库引擎•06年上线使用•在alibaba有80+应用在使用,目前已经开源•DRDS的80%的代码出自cobrapr

2、oxy–Sql解析器–执行流程–配置DRDS介绍-起源•起源–DRDS吸收了taobaoTDDL分布式数据库引擎的大量优秀经验和解决方案•08年上线使用•目前在使用的应用900+•大量实际应用解决方案支持–分布式join–分布式aggregation(groupsummaxmin)–异步索引构建–Autosharding,自动扩容缩容DRDS介绍-起源•起源–DRDS专门针对外部用户进行了配置的重新设计•简化了配置操作规范与流程•尽可能使得应用像操作一个数据库一样的操作DRDS•用户的专业化指导DRDS介绍-核心价值•核

3、心价值–mysql兼容性•95%以上的mysql查询可以直接在drds上运行•在大部分情况下,可以把drds当做一个单机mysql来使用。•适当的做出了功能上的限制,以保证用户可以一直能够享受到线性的水平扩展能力。–自动数据运维•把机器简单的添加到集群内就可以实现水平扩展和自动的负载均衡。–管理更容易•建库建表增减字段,一个命令可以搞定DRDS介绍-应用场景•应用的业务需求单机已经无法满足–一个RDS数据库的最大实例也无法满足用户的需求•容量瓶颈•事务数瓶颈•读取瓶颈DRDS介绍-应用场景•Scaleup(单机垂直扩展)

4、–购买或更换更高端的机器-oraclerac/高端存储盘柜•优势–业务不用修改代码–业务改动小•劣势–架构被把持,更换存储成本巨大–定价权在数据库软件厂商–把定时炸弹的时间往后拨了一些时间,最终还是会炸的DRDS介绍-应用场景•Scaleout(多机水平扩展)–使用廉价数据库阵列来满足用户需求--DRDS–优势•更轻量的使用数据库,未来更换的成本小•一次重构,以后基本再无需担心系统瓶颈–劣势•重构需要付出成本•分布式环境下一些查询会被限制不允许执行•完成相同功能需要比单机扩展付出更多成本DRDS介绍-应用场景•理想状态–

5、Scaleout与scaleup结合•让系统架构具备scaleout的能力•尽可能提升单机利用率–但不要过早过度设计2.521.510.50单机垂直扩展成本多机水平扩展成本DRDS介绍-架构与原理DRDS介绍-架构与原理•DRDS-Server–直接为应用或者用户提供基于MySQL协议的数据服务,是整个系统提供服务的核心部分,数据服务以LVS集群的方式对外提供。•DRDS-Manager–为整个系统的各个子系统提供管理、控制和协调工作,并对相关配置进行持久化;该系统目前以主备的模式提供高可用服务。•用户管理Web控制台–

6、用户管理控制台是用户参与系统管理的入口,用户可以在上面创建表、规则、修改表结构、执行数据迁移和扩容工作等,是系统面向用户的控制台。DRDS介绍-架构与原理•系统管理Web控制台–WebServer,系统管理控制台是运维与运营方参与整个系统管理和监控的入口,使用方可以查看系统运行状况、监控系统关键指标等,是系统面向管理的控制台。DRDS-Manager•DataMigration–支持由用户触发的数据迁移和扩容操作,系统采用全量+基于binlog增量的方式工作。•RDS实例群–基于MySQL的数据库实例,可以是基于现有pr

7、oxy的,也可以直接基于MySQL实例的。DRDS介绍-架构与原理DRDS介绍-架构与原理•流程•AST–抽象语法树–标记SQL的组成方式•执行计划–告知执行器如何高效的利用K-VDRDS介绍-架构与原理•Join的执行计划–表A在机器mA,表B在机器mB–select*fromAujoinBoonu.id=o.buyer_idwhereu.name='sun‘JoinJoinOnu.id=leftColumns:[U.ID]o.buyer_idrightColumns:[O.BUYER_ID]type:innerjoi

8、nstrategy:INDEX_NEST_LOOPexecuteOn:mAleft:selectu.name,u.address,u.idfromAwhereQueryAasuQueryBasoname=sunName=sunName=sunright:selectb.id,buyer_id,seller_idfro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。