设为首页 收藏本站
查看: 1084|回复: 0

[经验分享] MariaDB 10(MySQL5.6企业版分支)的主要新特性

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-14 09:32:01 | 显示全部楼层 |阅读模式
① 支持48核的CPU,而5.5支持24核的CPU

② 内存热数据持久化,我们知道当系统重启或者mysql进程重启后,Innodb的内存池里面的热数据全部清空,需要重新把磁盘的数据缓存进来,然后根据LRU最近最少使用原则,把热数据保持在内存里,冷数据踢出到磁盘里。这个过程是缓慢的。5.6里改进了这一点,会自动把内存的热数据导出到磁盘里,这样mysql重启后,会立即从磁盘里导入Innodb内存池,减少了与磁盘IO的交互。

③ 在线DDL功能。5.5版本里,修改表结构会导致锁表,例如用户进件会卡住,假如表很大,锁的时间就会越长。所以在5.6版本里,解决了这一问题,DBA在修改表结构的同时,用户进件,Innodb内部row_log记录了ddl变更过程中新产生的dml操作,并在ddl执行的最后将其应用到新的表中,保证数据完整性。

④ 多线程复制(利用组提交方式实现),5.5版本里是单进程串行复制,通过sql_thread线程来恢复主库推送过来的binlog,这样会产生一个问题,主库上大量的写操作,从库就有可能会出现延迟。在MariaDB 10通过多线程复制技术,如果主库上1秒内有10个事务,那么合并一个IO提交一次,并在binlog里增加一个cid = XX 标记,当cid的值是一样的话,就可以进行并行复制,通过设置多个sql_thread线程实现。

⑤ 半同步复制技术。默认是异步复制技术,主库提交了事务立即返回给客户端,而半同步复制技术是,主库提交了事务以后,要确保至少一个从库收到了binlog,才把请求反馈给客户端,这样就大大保障了数据安全。

⑥ 从库安全崩溃恢复。DBA经常会遇到1032(更新/删除数据找不到)和1062错误(主键冲突),这就是因为从库宕机后,relay-log是以文件形式写盘,没有事务的概念。原理:从库执行了binlog的恢复,会刷盘relay-log,假如在刷盘那一刻宕机,relay-log里没有记录,那么从库重启mysql进程后,就会执行两遍同样的SQL,造成同步复制报错。5.6是把relay-log记录一张innodb表里,当事务恢复完,首先更新relay-log表,更新成功后再commit提交事务。

对开发来说是一件喜事。很多开发喜欢子查询,好处:直观、容易实现业务SQL,但在5.5是个噩梦,性能极差,在5.6里解决了这一问题,通过优化器自动把子查询转化为join关联的SQL查询语句,对开发来说完全是透明的。

⑧ MariaDB 10提供了审计日志功能。

⑨ MariaDB 10提供了数据库级的连接池。我们知道PHP是短连接,没有连接池,在高并发环境下,很容易把数据打死。而JAVA的框架有很多优秀的连接池,就如同我们用的阿里的druid、c3p0等。

⑩ MariaDB 10支持动态列,也就是说,可以存JSON对象,可以像mongodb一样实现JSON的读取和存储。

附上基准测试图:
wKioL1XynzPS2xSGAAGjAnXAwbs976.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-113357-1-1.html 上篇帖子: 删除mysql的root用户恢复方法 下篇帖子: MySQL日志功能详解查询、慢查询 企业版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表