【MariaDB】MariaDB vs MySQL - 特性
原文链接: https://mariadb.com/kb/en/mariadb-vs-mysql-features/
xiaomo译------
支持更多的存储引擎
除了标配的MyISAM, BLACKHOLE, CSV, MEMORY, and ARCHIVE 等, 以下的存储引擎也包含在MariaDB源及二进制包中:
- Aria
- XtraDB (可用于替代InnoDB)
- PBXT (包含于MariaDB 5.1, MariaDB 5.2及MariaDB 5.3. 在 MariaDB 5.5中被禁用)
- FederatedX (可用于替代Federated)
- OQGRAPH (包含于MariaDB 5.1, MariaDB 5.2及MariaDB 5.3. 在MariaDB 5.5被禁用) — 新增于5.2版本
- SphinxSE — 新增于5.2版本
- IBMDB2I. Oracle把它从MySQL 5.1.55中移除, 但我们在MariaDB中一直保留到了5.5版本.
- MariaDB-10.0中的Cassandra
- 我们正致力于增加其他no-sql型存储引擎到MariaDB中.
速度的提升
- MariaDB 5.3增加了很多优化及增强功能. 子查询现在终于可用了!完整的列表和与MySQL的一个对比情况可以参考这里. 你可以在这里找到基准信息.
- 更快更安全的复制: Group commit for the binary log. 这使得许多设置和更新的复制速度快了两倍以上.
- 在Windows系统上的Innodb的异步IO子系统性能有所改进.
- MEMORY(HEAP)引擎索引速度更快. 根据一个简单的测试结果显示, 在整型索引中进行INSERT操作比MySQL快24%左右,在CHAR(20)列上的INSERT操作则要快60%.
- CHECKSUM TABLE运行更快.
- 我们改善了character set转换的性能 (同时在并不需要转换时移除了该操作). 大体上速度可以提升1-5 % (根据sql-bench测试),但对于0x00-0x7f之间字符集合应该有更好的效果.
- Pool of Threads in MariaDB 5.1不错,在MariaDB 5.5中表现尤佳. 你可以在运行MariaDB时使用超过200,000的连接数,同时在大量连接下体现了显著的速度提升.
- DBUG功能也有了几处性能优化,使得在编译调试但不使用调试时有更快的执行速度.
- Aria存储引擎的使用使得复杂查询执行更快(一般查询操作使用了disk-based的临时表). Aria一般应用于内部临时表, 可以让复杂的查询提高执行速度. 相对于MyISAM,Aria能更快的访问临时表,这归功于Aria将行数据缓存到了内存中而通常情况下不需要将临时行写入磁盘.
- 拓展了测试套件。现在即使要测试更多内容,速度也要比之前快.
拓展 & 新特性
我们在MariaDB中新增了许多新特性. 如果一个补丁或功能有效,安全并稳定,我们会努力把它添加到MariaDB. 最显著的新特性如下:
- Microseconds in MariaDB — 新增于5.3
- Microsecond Precision in Processlist
- Table Elimination
- Virtual Columns — 新增于5.2
- Extended User Statistics — 新增于5.2
- Segmented Key Cache — 新增于5.2
- KILL all queries for a user — 新增于5.3
- Pluggable Authentication — 新增于5.2
- Storage-engine-specific CREATE TABLE — 新增于5.2
- Enhancements to INFORMATION SCHEMA.PLUGINS table — 新增于5.2
- Group commit for the binary log. 这显著的加快了复制速度 — 新增于5.3
- 增加
mysqlbinlog选项以更改正在使用数据库 — 新增于5.2--
rewrite-db ALTER TABLE
和LOAD DATA INFILE操作的Progress reporting. — 新增于5.3
- 更快的joins and subqueries. — 新增于5.3
- HandlerSocket及更快的HANDLER调用. — 新增于5.3
- 支持Dynamic Columns. — 新增于5.3
- GIS Functionality — 新增于5.3
- Multi-source replication. — 新增于10.0
- SHOW EXPLAIN 获取另一线程中正在执行查询操作的EXPLAIN计划. — 新增于10.0
可以参考features for each release,以获取更详细的特性列表。
表现更好的测试
- 测试套件中有更过的测试用例.
- 测试潜在的bug的修复.
- 通过不同的配置选项构建测试,以获得更好的测试特性.
- 移除无效的测试. (e.g. 如果在测试中某功能点没有被构建,那么它将不会被用于测试.)
更少的警告和错误
- Bugs不是什么好东西. 尽可能的修复bugs并尽少的引发新的问题.
- 编译警告也不是什么好事. 已尽可能的限制编译警告.
真正的开源
- MariaDB代码的发布遵守GPL, LPGL或BSD协议. MariaDB并没有类似MySQL企业版那样的闭源模块. 实际上,MySQL 5.5企业版中的闭源模块代码可以在MariaDB开源版本中找到.
- MariaDB包含所有已被修复的bug的测试用例. 而Oracle并不会提供MySQL5.5新修复的bug的测试用例.
- 所有的bugs和development plans都是公开的.
- 秉承真正开源的精神理念,MariaDB由社区持续开发维护.
相关链接
参考Compatiblity between MariaDB and MySQL
- 顶
- 1
- 踩
- 0
【MariaDB】MariaDB vs MySQL - 特性的更多相关文章
- CentOS安装mariadb做为mysql的替代品
mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SE ...
- Ubuntu 16.04 LAMP server tutorial with Apache 2.4, PHP 7 and MariaDB (instead of MySQL)
https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/ This tut ...
- mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
mariadb-日志 IT_luo关注0人评论65人阅读2018-10-15 08:59:03 mariadb日志 mariadb日志: 1.查询日志:query log: 2.慢查询日志:slo ...
- 在centos7中用mariadb代替了mysql数据库吗
从最新版本的linux系统开始(如 Centos7),默认的是 Mariadb而不是mysql!(mysql被闭源厂家收购,有闭源风险) 使用系统自带的repos安装很简单: yum install ...
- 从偶然的机会发现一个mysql特性到wooyun waf绕过题
从偶然的机会发现一个mysql特性到wooyun waf绕过题 MayIKissYou | 2015-06-19 12:00 最近在测试的时候,偶然的机会发现了一个mysql的特性, 为啥是偶然的机会 ...
- MySQL · 特性分析 · 优化器 MRR & BKA【转】
MySQL · 特性分析 · 优化器 MRR & BKA 上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_ ...
- MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明
MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...
- mariadb是替代MySQL的好方式
像Oracle这样成熟稳定的数据库,足以支撑海量数据的存储与查询了?为什么还需要数据切片呢?的确,Oracle的DB确实很成熟很稳定,但是高昂的使用费用和高端的硬件支撑不是每一个公司能支付的起的.试想 ...
- MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决
服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, ...
随机推荐
- [POJ 1386] Play on Words
[题目链接] http://poj.org/problem?id=1386 [算法] 将每个单词的首字母向尾字母连一条有向边,判断欧拉路径是否存在,即可 [代码] #include <algor ...
- CF 1016 C —— 思路
题目:http://codeforces.com/contest/1016/problem/C 一定是先蛇形走在回形走,所以预处理.暴力即可: 自己一开始写了一个,总是WA,又看了看TJ写法: 模仿一 ...
- js产生随机数教程
<script> function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random() ...
- 【题解】永无乡 [HNOI2012] [BZOJ2733] [P3224]
[题解]永无乡 [HNOI2012] [BZOJ2733] [P3224] [题目描述] 永无乡包含 \(n\) 座岛,编号从 \(1\) 到 \(n\) ,每座岛都有自己的独一无二的重要度,按照重要 ...
- 【知识总结】回文自动机(Palindrome_Automaton)
参考资料:Palindromic Tree--回文树[处理一类回文串问题的强力工具](请注意,其中似乎有一些错误) 回文自动机似乎和回文树是同一个东西qwq? 回文自动机(PAM)是一种处理回文串的工 ...
- Maven+Docker,发布到Registry
1.配置Pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEnc ...
- A* 寻路算法[转载]
A* 寻路算法 转载地址:http://www.cppblog.com/christanxw/archive/2006/04/07/5126.html 原文地址: http://www.gamedev ...
- Java系列学习(十三)-字符串
1.字符串基础 概念:字符串本质是打包字符数组的对象,是java.lang.String类的实例 2.字符串的构造方法 public String() public String(byte[] byt ...
- JVM中线程状态转换图
JVM中线程的状态转换图 线程在一定条件下,状态会发生变化.线程一共有以下几种状态: 1.新建状态(New):新创建了一个线程对象. 2.就绪状态(Runnable):线程对象创建后,其他线程调用了该 ...
- 【转】Java 集合系列02之 Collection架构
概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是:List 和 Set. List和Set都是接 ...