版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2016-11-20网易DDB性能优化实践嘉宾:马进(@马进app)公众号:datamanagementOutline•DDB介绍•DDB架构变迁•性能优化实践•未来规划DDB——十年一剑•分库分表数据库DDB-海量结构化数据存储,TB级别热点数据-高并发访问,应对OLTP在线事务型的应用-数据扩容,在线增删数据库节点,完善的DBA工具-透明分库分表,MySQL通信协议兼容DDB值•分区方案选型-常规:取模哈希+桶(虚拟节点)-支持自定义哈希函数,可定制List和range分区-不能迁移的分区都是耍流氓DDB值•增量迁移工具Hamal-库迁移场景:节点扩容缩容,集群机房迁移-表迁移场景:表级扩容缩容,更改均衡策略/字段-功能亮点:断点续传,并行复制切表/切库 记录Binlog位置点isql全量迁移切表/切库DDB值branch:xaConnection2insertbranch:xaConnection2insertintoAvalues(2,‘test2’)Preparewaitforallprepared…waitforfsync….commit-透明的两阶段提交过程-系统自动识别是否需要两阶段,优先一阶段-insertintoAvalues(1,’test1’),(2,’test2’);分分区字段parallelpreparepreparedlog(blocked)commitlog(unblocked)branchbranch:xaConnection1insertintoAvalues(1,‘test1’)Preparewaitforallprepared…waitforfsync….commitDDB值•分布式执行计划DDB值••-90%以上的SQL92兼容性,向MySQL语法靠拢-命令行工具isql,管理工具DBAdmin-支持数据节点手动或自动failover-基于hint的读写分离功能-两种全局自增长ID实现-更多丰富的hint功能完善,无侵入的云端解决方案-延展性:查询服务器无状态,支持无缝水平扩展-扩展性:支持不同语言,不同实现的MySQL客户端访问DDB-可用性:RDS数据节点基于IP漂移的高可用方案-易用性:云端一键部署,完善的WEB管理工具Outline•DDB介绍•DDB架构变迁•性能优化实践•未来规划DDB•DBI架构DDBProxy(QS)架构DBIVSProxy•DBI模式——与应用绑定-部署简单,节省机器,好运维-连接收敛问题-版本不好管理-问题难以跟踪•Proxy模式——与应用解耦-单独部署Proxy节点-解决连接收敛问题-版本便于管理,应用无感知升级/回退-问题好跟踪,容易保留现场-应用端无侵入,开发者喜闻乐见DDB•DDB私有云服务DDB•DDB私有云架构SysDBSysDBWebconsoleCloudSysDBDBAdminQSAgentClient(DML)MasterSDML元信息同步DMLDLWebAdminWebconsoleCloudSysDBDBAdminQSAgentClient(DML)MasterSDML元信息同步DMLDLWebAdminMasterAgeMasterAgentDBIDBI/QSMySQLMySQL命令行(DML)DDB•DDB云端架构优化WebadminClientMySQL命令行 QsAgentSSDMLDMLDDLWebWebadminClientMySQL命令行 QsAgentSSDMLDMLDDLWebconsoleDDBAdminSysDBSysDBOutline•DDB介绍•DDB架构变迁•性能优化实践•未来规划性能误区•分库分表比单机性能提升多少?–分库分表benchmark一般不如单机,哪个好取决于MySQL是否到瓶颈–分库分表性能指标:单节点策略下比吞吐率比单机折损多少(DDB在18%–35%)DBN2DBN2DDBProxy多机数据 解码编码多机数据语法解语法解析执行计执行计划DBN1DBN1TB2TB2MySQLServer单机数据 解码编码单机数据语法解语法解析执行计执行计划TBTB1ProxyBuffer优化•–基于DBI做分库分表–Server层做编码解码–特殊SQL支持(show命令)–基于netty4网络框架构建编码器Slowlog异编码器Slowlog异常管理javajava/python/go/c/c++DDBProxy解解码器•特殊SQL支持语法解析器TopSQL•–结果集大小不可知–编码以列值为单元–Buffer碎片化–NIO线程切换过多元数据管理协调器SQL执元数据管理协调器SQL执行器Quota管理事务 连接池管理运行时管理执行计划优化器DBIDriverProxyBuffer优化•优化思路–所有Buffer以16K的大包为单位写入网络–每100行(why?)列值的编码合并到16K的Buffer中–Buffer编码溢出后申请另一个16K的Buffer串联起来–Globalbufferpool+Connectionlocalbufferchain16KConnectionlocalbufferchain16KGobalbufferpoolProxyBuffer优化•优化效果SQL:select*fromBlogwhereID=?数据大小:20字符(小数据结果集)SQL:select*fromBlogwhereID=?数据大小:4K字符(大数据结果集)ProxyBuffer优化•进一步优化–Buffer溢出后中断编码,当前Buffer写入网络后继续–判断溢出在一行数据编码后,写完的Buffer挂到最后面–一般BufferList不会超过2个(除非一个数据行超过16K)ConnectionlocalbufferchainConnectionlocalbufferchainProxyBuffer优化•进一步优化效果selectidfromsbtest1limit1000O•通信模式yNIO-Proxy<——>DBN:Connector/jBIO•优化方法ySQLNIO-思路2:将Connector/j的底层通信依赖Netty-优化效果:CPU使用率1.2–4倍提升ClientClientConnector/j•OSC解决方案-DDB&pt-osc:基于锁的全量和触发器的增量-触发器导致线上事务变慢,锁释放变慢-全量扫描加锁导致锁冲突加剧-线上实施容易大量锁超时•优化方法-基于binlog实现增量更改-全量不加锁,增量用replace幂等语义-实现:DDBHamalSet&gh-ost-优势:对线上几乎零影响Outline•DDB介绍•DDB架构变迁•性能优化实践•
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 马鞍山职业技术学院《艺术形态采集课程设计》2023-2024学年第一学期期末试卷
- 吕梁学院《成本会计模拟》2023-2024学年第一学期期末试卷
- 2024年临时活动场地租赁合同范本
- 2025年南宁货车资格证试题及答案
- 2024年个人担保书填写说明3篇
- 2024年上门女婿财产分割及婚姻关系解除协议书3篇
- 洛阳文化旅游职业学院《池塘养殖学A》2023-2024学年第一学期期末试卷
- 2024年水利工程劳务分包协议样本
- 单位人事管理制度精彩选集
- 办公物业招投标攻略流程掌握
- 昆曲艺术学习通超星课后章节答案期末考试题库2023年
- 六年级上册英语-选择题-人教pep(含答案)
- 印象派美术课件
- 小学话剧课本剧兴趣小组社团教学设计附社团活动记录(已填好,直接打印)
- 《散文创作与研究》(10543)自考考试复习题库(含答案)
- 稳定系数计算表
- 河北省对口升学计算机基础资料课件
- Cytiva:层析介质寿命和清洁验证综合设计的良好实践白皮书
- 全冀教版六年级上册英语第四单元知识点总结
- 酒店接待醉酒客人流程课件
- PPT基础教程完整版
评论
0/150
提交评论