总结一下,MariaDB 10(MySQL5.6企业版分支)的主要新特性

① 支持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的读取和存储。

附上基准测试图:

时间: 2024-12-28 07:43:15

总结一下,MariaDB 10(MySQL5.6企业版分支)的主要新特性的相关文章

mysql5.5 5.6 5.7新特性

1,5.5默认存储引擎为innodb 2,5.5增加cpu多核处理能力:innodb_read_io_threads innodb_write_io_threads 3,5.5改善磁盘IO 提高脏页刷新增也数量和合并插入数量:innodb_io_capacity 增加自适应刷新脏页功能:innodb_adaptive_flushing (innodb刷新脏页的规则是在如下三种情况下才会把innodb_buffer_pool的脏页输入磁盘: 1,当超过innodb_max_dirty_pages_

mysql5.7新特性探究

一.MySql5.7增加的特性 1.MySql服务方面新特性 1) 初始化方式改变 MySql5.7之前版本初始化方式: scripts/mysql_install_db MySql5.7版本初始化方式: [[email protected] mysql_new]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql_new/ --datadir=/usr/local/mysql_new/data/ 2015-10-

MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据。

MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据. 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关系型数据库和文档型NoSQL数据库集于一身. 使用说明: ###表结构 create table assets (   item_name varchar(32) primary key, -- A common attribute for all items   dynamic_cols  blo

MariaDB 10 Slave Crash-Safe需转为GTID复制模式

之前写了一篇<MySQL5.6 crash-safe replication> ,但在Mariadb10.0.X和10.1.X上不支持relay_log_info_repository = TABLE参数,官网建议用GTID复制模式代替传统复制模式,传统复制模式是不支持Slave Crash-Safe的. 在mysql库下,会有一张gtid_slave_pos表(在安装初始化时,就已经是innodb引擎) START TRANSACTION; -- Statement 1 -- ... -- 

数据库管理系统MariaDB 10.1.17 发布

MariaDB 10.1.17 发布,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品. MariaDB 的详细介绍请登录勤快学QKXue.NET. 重要更新: XtraDB updated to 5.6.31-77.0TokuDB updated to 5.6.31-77.0Innodb updated to 5.6.32Performance Schem

CentOS7安装通用二进制格式MariaDB 10.2.8

什么是MariaDB MariaDB 是MySql的一个分支. 了解一下数据库的发展历史,我们知道,MySql数据库不但二次易主,而且还被打入了冷宫(先被sun收购,然后sun被Oracle收购).因为Oracle有自己的数据库,同时只有Oracle自己的员工可以进行MySql的研发,所以MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB. MariaDB不仅仅是Mysql的一个替代品

What&#39;s is new in MariaDB 10.0(MySQL创始人Monty演讲)

视频地址(请使用翻墙软件观看): http://www.youtube.com/watch?v=4Th7JeRxPlo&feature=youtu.be PDF在附件里. What's is new in MariaDB 10.0(MySQL创始人Monty演讲),布布扣,bubuko.com What's is new in MariaDB 10.0(MySQL创始人Monty演讲)

MariaDB 10 基于OpenSSL的主从复制

需求架构 准备工作 主从服务器时间同步 # 主从服务器同时配置crontab任务,与NTP服务器同步时间即可 */5 * * * * ntpdate 172.16.0.1 &>/dev/null 部署配置 主库配置 vi /etc/my.cnf server-id = 1 # 在复制架构中,需保持全局唯一 log-bin = mysql-bin # 默认在数据目录下 sync_binlog = 1 # 设置mariadb每次在提交事务前会将二进制日志同步到磁盘,保证服务器崩溃时不会丢失事件

mariadb 10 多源复制(Multi-source replication) 业务使用场景分析,及使用方法

mariadb 10 多源复制(Multi-source replication) 业务使用场景分析,及使用方法 官方mysql一个slave只能对应一个master,mariadb 10开始支持多源复制,一个slave可以有多个master,分别从各自的master复制不同的DB. 这个特性可以用在OLAP环境中,传统电商DB都是拆了再拆,分库分表,sharding,而OLAP环境或者大数据平台环境,通常需要各种数据的聚合,多个平台多个DB数据的复合查询,而这些数据分散在各个库中,怎么办了,当