Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
阿里集团MySQL介绍   (5.5特性) 集团-数据库-MySQL xiyu.lh@taobao.com                      1
现状    5.1.48    停止支持     5.1.61   RDS定制版本      5.5重点发展版本(阿里集团版本)                 2
5.5   源于Percona-5.5.18        改动主要为: backport 5.5新版本的bugfixfix集团MySQL DBA遇到的bugdev使用集团MySQL遇到的需求   集团MySQL为内部版本           ...
5.5:slave_exec_mode=smartSQL线程错误: 1032|1062 !!!         团队博客                            4
5.5:QC额外锁开销        Percona      启动时disable QC           MySQL  编译时without_query_cacheMariaDB-5.5亦解决(和QC作者沟通)    集团MySQL彻底解...
5.5:复制回路事件自动检测      server_id异常变动  event在拓朴结构中节点间来回传递集团MySQL版本自动识别并在error.log中         打印日志       团队博客(TBD)               ...
5.5:mysqlbinlog –B(flashback)      回滚到binlog中某个点     DELETE <-> INSERT   UPDATE (SET <-> WHERE)       顺序解析,逆序输出           ...
5.5:flush privileges导致连接失败间断性连接失败,小概率事件,难排查   一段线程锁竞争的代码惹的祸          团队博客                             8
5.5:死锁开关检测deadlock_detect_switch=OFF|ON在类似“热卖”商品场景下,绕开死锁检测         ICDB集群部署                                9
5.5:并行复制(评估中…) 第一版本发发布,第二版本正在开发中merge到trunk中,还有一段非常长的时间         团队博客                      10
5.5:新特性1        InnoDB Change Buffering          默认版本从insert->all (因为all未稳定,集团版本默认仍为insert) 如果page不在BP中,稍后一旦从disk上读到      ...
5.5:新特性2 separate doublewrite file  innodb_doublewrite_file    写入型会受益:  增加并行IO(独立的磁盘)      增加SSD的寿命(对现在SSD的意义没有想象的明显)     ...
5.5:新特性3   multiple buffer pools      多个BP:  减少BP flush_list锁竞争 page通过hash分配到BP上  尽可能地扩散hot pages过多的BP会增加内部额外开销           ...
5.5:新特性4partitioned adaptive hash search 分拆自适应hash, 减少锁竞争 innodb_adaptive_hash_partitions = N多核CPU+读写混合时+非聚簇索引            ...
5.5:新特性5     extra rollback segments        增加事务并发性  innodb_extra_rsegments被废弃写入型负载需要更多的rollback segments                 ...
5.5:新特性6             innodb_fast_checksumif (!fast_checksum) then old_checksum  页面可能有混合的checksum  新写页面采用fast checksum  完全采...
5.5:新特性7       separate purge thread      5.5之前是在master线程中    5.5默认innodb_purge_threads=1insert/update型,建议对比多个purge线程     ...
5.5:新特性8           native aio            默认为 AIO将I/O merge的负担交给kernel(相比模拟AIO)       性能比模拟aio高不了多少       更稳定,经常更多人测试      ...
5.5:新特性9      adaptive flushing     innodb_io_capacity & innodb_max_dirty_pages_pct        顺序相邻的脏页更适用于解决多个BP刷脏性能          ...
5.5:新特性10        optimize dumping innodb-optimize-keys for mysqldump非聚簇索引会在load完数据再创建建表时,忽略KEY, UNIQUE KEY, 和 CONSTRAINT导完...
5.5:新特性11             快速删表       innodb_lazy_drop_table     Facebook & 5.6从flush_list刷Percona更简单,直接标记space_id为deleted     ...
5.5:新特性12   ibd自动扩展性能问题     采用FB的补丁5.6增加node->being_extended        团队博客                            22
Upcoming SlideShare
Loading in …5
×

阿里集团MySQL特性(5.5介绍)

1,190 views

Published on

Published in: Technology
  • Login to see the comments

阿里集团MySQL特性(5.5介绍)

  1. 1. 阿里集团MySQL介绍 (5.5特性) 集团-数据库-MySQL xiyu.lh@taobao.com 1
  2. 2. 现状 5.1.48 停止支持 5.1.61 RDS定制版本 5.5重点发展版本(阿里集团版本) 2
  3. 3. 5.5 源于Percona-5.5.18 改动主要为: backport 5.5新版本的bugfixfix集团MySQL DBA遇到的bugdev使用集团MySQL遇到的需求 集团MySQL为内部版本 3
  4. 4. 5.5:slave_exec_mode=smartSQL线程错误: 1032|1062 !!! 团队博客 4
  5. 5. 5.5:QC额外锁开销 Percona 启动时disable QC MySQL 编译时without_query_cacheMariaDB-5.5亦解决(和QC作者沟通) 集团MySQL彻底解决此问题 团队博客1(5.1) 团队博客2(5.5) 5
  6. 6. 5.5:复制回路事件自动检测 server_id异常变动 event在拓朴结构中节点间来回传递集团MySQL版本自动识别并在error.log中 打印日志 团队博客(TBD) 6
  7. 7. 5.5:mysqlbinlog –B(flashback) 回滚到binlog中某个点 DELETE <-> INSERT UPDATE (SET <-> WHERE) 顺序解析,逆序输出 7
  8. 8. 5.5:flush privileges导致连接失败间断性连接失败,小概率事件,难排查 一段线程锁竞争的代码惹的祸 团队博客 8
  9. 9. 5.5:死锁开关检测deadlock_detect_switch=OFF|ON在类似“热卖”商品场景下,绕开死锁检测 ICDB集群部署 9
  10. 10. 5.5:并行复制(评估中…) 第一版本发发布,第二版本正在开发中merge到trunk中,还有一段非常长的时间 团队博客 10
  11. 11. 5.5:新特性1 InnoDB Change Buffering 默认版本从insert->all (因为all未稳定,集团版本默认仍为insert) 如果page不在BP中,稍后一旦从disk上读到 Cache中再 mergeSSD随机读和顺序读相当, Percona建议为none (需要测试验证) 11
  12. 12. 5.5:新特性2 separate doublewrite file innodb_doublewrite_file 写入型会受益: 增加并行IO(独立的磁盘) 增加SSD的寿命(对现在SSD的意义没有想象的明显) 12
  13. 13. 5.5:新特性3 multiple buffer pools 多个BP: 减少BP flush_list锁竞争 page通过hash分配到BP上 尽可能地扩散hot pages过多的BP会增加内部额外开销 13
  14. 14. 5.5:新特性4partitioned adaptive hash search 分拆自适应hash, 减少锁竞争 innodb_adaptive_hash_partitions = N多核CPU+读写混合时+非聚簇索引 14
  15. 15. 5.5:新特性5 extra rollback segments 增加事务并发性 innodb_extra_rsegments被废弃写入型负载需要更多的rollback segments 15
  16. 16. 5.5:新特性6 innodb_fast_checksumif (!fast_checksum) then old_checksum 页面可能有混合的checksum 新写页面采用fast checksum 完全采用此特性,必须重建表innodb_fast_checksums disable->enable,需重建表 16
  17. 17. 5.5:新特性7 separate purge thread 5.5之前是在master线程中 5.5默认innodb_purge_threads=1insert/update型,建议对比多个purge线程 (注意考查稳定性) 集团MySQL的purge_batch_size选项 防止批量purge时MySQL阻塞业务 17
  18. 18. 5.5:新特性8 native aio 默认为 AIO将I/O merge的负担交给kernel(相比模拟AIO) 性能比模拟aio高不了多少 更稳定,经常更多人测试 能减少1/3的恢复时间 18
  19. 19. 5.5:新特性9 adaptive flushing innodb_io_capacity & innodb_max_dirty_pages_pct 顺序相邻的脏页更适用于解决多个BP刷脏性能 5.5中更平滑reflex, estimate, keep_average 5.6性能更优 19
  20. 20. 5.5:新特性10 optimize dumping innodb-optimize-keys for mysqldump非聚簇索引会在load完数据再创建建表时,忽略KEY, UNIQUE KEY, 和 CONSTRAINT导完数据再用ALTER TABLE来补全之前突略的语句 20
  21. 21. 5.5:新特性11 快速删表 innodb_lazy_drop_table Facebook & 5.6从flush_list刷Percona更简单,直接标记space_id为deleted 团队博客 21
  22. 22. 5.5:新特性12 ibd自动扩展性能问题 采用FB的补丁5.6增加node->being_extended 团队博客 22

×