欢迎来到天天文库
浏览记录
ID:37375576
大小:2.01 MB
页数:14页
时间:2019-05-22
《网易DDB性能优化实践》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2016-11-20网易DDB性能优化实践嘉宾:马进(@马进app)公众号:datamanagementOutline•DDB介绍•DDB架构变迁•性能优化实践•未来规划12016-11-20DDB——十年一剑•分库分表数据库DDB-海量结构化数据存储,TB级别热点数据-高并发访问,应对OLTP在线事务型的应用-数据扩容,在线增删数据库节点,完善的DBA工具-透明分库分表,MySQL通信协议兼容DDB功能价值•分区方案选型-常规:取模哈希+桶(虚拟节点)-桶+取模哈希+均衡策略=单调性+均衡性+易用性-支持自定义哈希函数,可定制List和range分区-不
2、能迁移的分区都是耍流氓22016-11-20DDB功能价值•增量迁移工具Hamal-库迁移场景:节点扩容缩容,集群机房迁移-表迁移场景:表级扩容缩容,更改均衡策略/字段-功能亮点:断点续传,并行复制记录Binlog位置点isql全量迁移Hamal增量复制切表/切库DDB功能价值•分布式事务-透明的两阶段提交过程-系统自动识别是否需要两阶段,优先一阶段-insertintoAvalues(1,’test1’),(2,’test2’);分区字段branch:xaConnection2branch:xaConnection1insertintoAvalues(2
3、,‘test2’)insertintoAvalues(1,‘test1’)PreparePrepareparallelpreparewaitforallprepared…waitforallprepared…waitforfsync….waitforfsync….preparedlog(blocked)commitcommitcommitlog(unblocked)32016-11-20DDB功能价值•分布式执行计划DDB功能价值•功能特性-90%以上的SQL92兼容性,向MySQL语法靠拢-命令行工具isql,管理工具DBAdmin-支持数据节点手动或自
4、动failover-基于hint的读写分离功能-两种全局自增长ID实现-更多丰富的hint功能•完善,无侵入的云端解决方案-延展性:查询服务器无状态,支持无缝水平扩展-扩展性:支持不同语言,不同实现的MySQL客户端访问DDB-可用性:RDS数据节点基于IP漂移的高可用方案-易用性:云端一键部署,完善的WEB管理工具42016-11-20Outline•DDB介绍•DDB架构变迁•性能优化实践•未来规划DDB架构变迁•DBI架构52016-11-20DDB架构变迁•Proxy(QS)架构DBIVSProxy•DBI模式——与应用绑定-部署简单,节省机器,好
5、运维-连接收敛问题-版本不好管理-问题难以跟踪•Proxy模式——与应用解耦-单独部署Proxy节点-解决连接收敛问题-版本便于管理,应用无感知升级/回退-问题好跟踪,容易保留现场-应用端无侵入,开发者喜闻乐见62016-11-20DDB架构变迁•DDB私有云服务DDB架构变迁•DDB私有云架构WebconsoleWebAdminCloudSysDBQSAgentMasterAgentDBAdminClient(DML)QSDMLLVSDBI/QSMasterSysDB元信息同步MySQL命令行(DML)DMLDDLRDSRDSRDS72016-11-20
6、DDB架构变迁•DDB云端架构优化WebconsoleWebadminMySQLClient命令行QsAgentLVSDBAdminQSQSDMLDDLDMLSysDBRDSRDSRDSOutline•DDB介绍•DDB架构变迁•性能优化实践•未来规划82016-11-20性能误区•分库分表比单机性能提升多少?–分库分表benchmark一般不如单机,哪个好取决于MySQL是否到瓶颈–分库分表性能指标:单节点策略下比吞吐率比单机折损多少(DDB在18%–35%)DDBProxyMySQLServer解码编码多机数据解码编码单机数据语法解析语法解析执行计划执
7、行计划TB1TB2DBN1DBN2ProxyBuffer优化•DDBProxy模块实现java/python/go/c/c++–基于DBI做分库分表–Server层做编码解码–特殊SQL支持(show命令)DDBProxy–基于netty4网络框架构建解码器编码器Slowlog异常管理•结果集编码特殊SQL支持语法解析器TopSQL–结果集大小不可知运行时管理执行计划优化器元数据–编码以列值为单元管理SQL执行器Quota管理事务•存在问题协调器连接池管理–Buffer碎片化DBIDriver–NIO线程切换过多92016-11-20ProxyBuffer
8、优化•优化思路–所有Buffer以16K的大包为单位写入网络–每1
此文档下载收益归作者所有