MySQL是一个开源的数据库系统,近些年来使用率越来越高,目前属于Oracle公司所有,其拥有MySQL的商标,属于主流版本,由于其开源特性,出现了一些分支,常见的有MariaDB、Percona Server、Drizzle。这三个版本各有其特点。其中目前最流行的是MariaDB,很多Linux发行版默认的MySQL已经切换为MariaDB,但其他分支也有其适用范围,在选择的时候需要仔细甄别。
    Percona Server由一家MySQL咨询公司拥有,这个公司的工具包Percona ToolKit非常出名。这个数据库也是开源版本,但是并不接受外界代码贡献,因为它实际上是Oracle的主流MySQL版本的增强版,所以其版本号基本和Oracle的主流版本一致,其目标是增强主流版本功能,集中在透明、性能和操作灵活性上,兼容性做到了可以直接打开主流版本的数据库,反之也不困难,这方便了临时切换,这个公司似乎并不主张用户更换其MySQL版本,可能其后续开发力量有限吧。默认的搜索引擎为XtraDB存储引擎,即改进版本的InnoDB,可以完全兼容InnoDB。
   MariaDB是MySQL的创始人Monty Widenius因为对MySQL的开发流程不满,而离开Sun之后创建的Monty公司开发的MySQL分支,MariaDB的名称来源其女儿的名字maria。MariaDB默认的存储引擎为aria,即增强版的MyISAM,支持事务功能,还增加了许多针对服务器的扩展,它也包含Percona XtraDB引擎,以及SphinxSE和PBXT引擎。目前其版本为10.0.12,其源码来源于主流版本的MySQL5.5版本,按照其网站的说法,移植和重新实现了MySQL5.6的特性,增加了一些新的特性。不过目前其10.1.0版本也在开发中,其网站说明是“MariaDB 10.1是目前正在研发的版本,是MariaDB 10.0的演进,包括从MySQL 5.6、5.7的一些特性的移植和重新实现,还包括一些全新的功能”,从目前来看,MariaDB的目标是兼容主流版本,增加新功能,如果Oracle长期不更新版本,MariaDB也是个不错的选择。但是有一个问题,Monty公司也是需要盈利的,其也提供MariaDB的企业版及Cluster,其持续性不知道是否比得上Oracle。
    Drizzle是个完全不一样的分支,它不兼容于MySQL,基于MySQL 4.1的源码,删除了多余的功能,开发语言改为C++,采用流行的Boost库,目标是大内存、多内核的系统,较适合新的应用。
   在版本的选择上,主流版本是第一选择,MariaDB目前来说看不出明显的优势,而且其新的特性也没有造成压倒性的优势,Percona Server本身来说,是MySQL的增强版,也没有明显的优势。Drizzle需要更仔细的选择,毕竟其和MySQL不兼容。
    所以一般来说,应该选择主流版本,测试MariaDB版本,看是否值得迁移。
    

MySQL学习(一) 概述的更多相关文章

  1. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  2. MySQL学习之路(一)——初涉MySQL。

    MySQL学习之路(一) 1.1MySQL的概述 MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一个开源的关系型数据库管理系统. MySQL分为社区版和企业版. 1 ...

  3. Mysql 学习1

      Mysql学习   一.数据库   1 数据库概念(了解) 1.1 什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先: 可存储大量数据: 方便检索: 保持数据的一致性.完整 ...

  4. MySQL学习点滴

    MySQL学习点滴 --分区表 概述: 分区功能并不是在存储引擎层完成的,因此很多存储引擎包括InnoDB, MyISAM, NDB等都支持分区功能.但也并不是所有的存储引擎都支持分区.在使用分区前, ...

  5. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  6. MySQL学习(4)---MySQL索引

    ps:没有特殊说明,此随笔中默认采用innoDB存储引擎中的索引,且索引都是指B+树(多路平衡搜索树)结构组织的索引.其中聚集索引.复合索引.前缀索引.唯一索引默认都是使用B+树,统称为索引. 索引概 ...

  7. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  9. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  10. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

随机推荐

  1. pt-online-schema-change和默认值关系

    在使用pt-online-schema-change会遇到如下的错误导致表修改失败: Copying rows caused a MySQL error 1364,Message: Field 'XX ...

  2. Python之matplotlib模块安装

    numpy 1.下载安装 源代码 http://sourceforge.net/projects/numpy/files/NumPy/ 安装 python2.7 setup.py install 2. ...

  3. MySQL解压版配置步骤详细教程

    解压mysql到D盘根目录 在解压路径下复制my-default.ini,修改名称为my.ini 在my.ini内容如下 [client]default-character-set=utf8 [mys ...

  4. Vue自定义指令获取DOM元素

    我们知道,Vue.js的核心是数据驱动,当数据有所变化时,DOM就会被更新,比如: <span v-text="msg"></span> export de ...

  5. Spring4 事务管理

    Spring4 事务管理 本章是Spring4 教程中的最后一章,也是非常重要的一章.如果说学习IOC是知识的入门,那学习事务管理就是知识的提升.本章篇幅可能有一丢丢长,也有一丢丢难,需要读者细细品味 ...

  6. Python数据分析(二): Pandas技巧 (2)

    Pandas的第一部分: http://www.cnblogs.com/cgzl/p/7681974.html github地址: https://github.com/solenovex/My-Ma ...

  7. 【笔记】web 的回流与重绘及优化

    最近看了幕课网 web 前端性能优化的课程,其中说到了浏览器的回流(reflow) 及 重绘(repaint).觉得以后面试或许会被问到所以做一下笔记: 课程从回流及重绘这两个点延伸出了一个知识点就是 ...

  8. buttongroup中content一次性加载的解决方法

    buttongroup一次性加载所有内容的解决方法 如下图所示: 第一步: 设置windowcontainer的autoLoad属性为false(默认情况下autoLoad属性为true,所以会加载所 ...

  9. gulp 小坑一个

    学习gulp的时候,看到很多人写到 gulp.task('styles', function() { return gulp.src('src/styles/main.scss') .pipe(sas ...

  10. 推荐一款基于bootstrap的漂亮的前端模板—inspinia_admin

    首先给出Demo网址:http://cn.inspinia.cn inspinia admin 最新版 bootstrap 完全响应式后台管理模板,采用扁平化设计.使用Bootstrap 3+ Fra ...