数据库中间件设计与实现课件

上传人:文**** 文档编号:242642077 上传时间:2024-08-30 格式:PPT 页数:21 大小:457.27KB
返回 下载 相关 举报
数据库中间件设计与实现课件_第1页
第1页 / 共21页
数据库中间件设计与实现课件_第2页
第2页 / 共21页
数据库中间件设计与实现课件_第3页
第3页 / 共21页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,数据库中间件设计与实现,1,数据库中间件设计与实现1,纲要,MySQL,存在的问题,主流,MySQL Proxy,方案,中间件的设计与实现,总结,2,纲要MySQL存在的问题2,MySQL,存在的问题,读写分离,在客户端中配置所有,DB,信息,并实现读写分离,DB,上下线业务受影响,运维跟开发需同步调整配置,3,client,db_master,db_slave,主从同步,MySQL存在的问题读写分离3clientdb_master,MySQL,存在的问题,4,分库分表,客户端改写,SQL,语句,客户端将,SQL,路由不同的,DB,客户端,聚合结果,db1,db3,db2,sql1,sql2,sql3,sql,merge result,MySQL存在的问题4分库分表db1db3db2sql1sq,中间件的目标,5,减轻开发工作量,支持,SQL,读写分离,支持数据分库分表,减轻运维工作量,无需与开发同步,高可用减少运维工作,中间件的目标5减轻开发工作量,主流,MySQL Proxy,方案,6,主要解决,方案,DBProxy,Mysql,官方产品,但只出到,Beta 0.8,,基本不维护,BUG,多、扩展功能较难,C,语言开发,国内衍生:,360 Atlas、Meituan DBProxy,、,Sohu DBProxy.,Cobar,功能简单,基本不维护,JAVA,开发,阿里内部已发展为,TDDL(,非代理模式,),并在阿里云,DRDS,中大量使用,国内衍生:,MyCat,Vitess,Youtube,开源的数据库扩展及高可用方案,已经用于生产环境,功能强大,但是构架复杂,部署及运维成本较高,GOLANG,开发,国内,GO,开发:,Kingshard,主流MySQL Proxy方案6主要解决方案,中间件核心功能,7,读写分离,数据,分库,分,表,平滑上下线,DB,中间件核心功能7读写分离,中间件实现,8,SQL Parser,数据分片,SQL,路由,结果归并,连接池设计,后端,DB,的高可用方案,高可用方案,安全审计,中间件实现8SQL Parser,架构设计,9,整体架构图,架构设计9整体架构图,SQL Parser,10,SQL,Parser,的设计与实现,词法分析器,将,SQL,切分,语法,分析器,根据词法分析器结果和,MySQL,语法规则生成,AST(abstract syntax tree),相关产品,目前常见的,SQL,解析器主要有,fdb/jsqlparser,和,Druid,SQL,词法分析,语法分析,AST,根据分片规则生成新,SQL,SQL Parser10SQL Parser的设计与实现SQ,数据分片,11,分片,概念,逻辑:将数据落在不同的,DB,实例中的不同子表中,分片方式:,Hash、Range,、,Time_Range,等,Shard key,类型:整型、,MySQL,标准时间类型等,数据到实例采用两级映射方案,shard_key,sub_table,DB,data,数据分片11分片概念shard_keysub_tableD,数据分片,12,select * from tab where id = 10,range,hash,time,config,select * from tab_0001 where id = 10,calculate table index,数据分片12select * from tab where,SQL,路由,13,路由,概念,SQL,路由是根据分片规则配置,将,SQL,定位至真正的数据源,SQL路由13路由概念,结果归并,14,归并,概念,结果归并包括,4,类:普通遍历类、排序类、聚合类和分组类。每种类型都会先根据分页结果跳过不需要的数据。,普通遍历类最为简单,只需按顺序遍历,ResultSet,的集合即可,排序类结果将结果先排序再输出,因为各分片结果均按照各自条件完成排序,所以采用归并排序算法整合最终结果,分组类最为复杂,需要将所有的,ResultSet,结果放入内存,使用,map-reduce,算法分组,最后根据排序和聚合条件做相关处理。最消耗内存,最损失性能的部分即是,结果归并14归并概念,连接池设计,15,目标,复用连接,降低后端,DB,压力,方式,一个,DB,实例对应一个连接池,连接池个数上限可配置,无空闲连接则阻塞,效果,前端高并发,,MySQL,负载不会抖动,限制连接池个数,保护后端,DB,不至于宕机,连接池设计15目标,连接池设计,16,middleware,DB1,Conn Pool,Conn Pool,DB2,conn,conn,conn,.,pop,push,连接取出时:,重置字符集,重置Database,连接池设计16middlewareDB1Conn PoolC,后端,DB,的高可用方案,17,方式,使用独立线程检测,DB,状态,定期检测每台,DB,是否正常,周期和重试次数均可配置,效果,自动摘除宕机或网络中断的,DB,自动挂载恢复正常的,DB,middleware,DB_Master,DB_Slave1,DB_Slave2,select 1,select 1,select 1,后端DB的高可用方案17方式middlewareDB_Mas,高可用方案,18,高可用方案18,安全与审计,19,客户端,IP,限制,用户自定义,IP,白名单列表,SQL,黑名单,用户定义黑名单,SQL,列表,慢,SQL,记录,用户自定义慢日志耗时大小,安全与审计19客户端IP限制,总结,20,普遍存在的两大问题,性能效率问题:采用代理的方式,有性能损耗,跨库查询性能更差。是否有其它更高效方式?,功能问题:不支持分布式事务。为什么不支持?如何实现分布式事务?,总结20普遍存在的两大问题,21,Thank You,21Thank You,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!