阿里集团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介绍)

804

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
804
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

阿里集团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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×