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. [转载] NodeJS无所不能:细数十个令人惊讶的NodeJS开源项目

    转载自http://www.searchsoa.com.cn/showcontent_79099.htm 在几年的时间里,Node.JS逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量 ...

  2. struts2的简单执行过程

    struts2是最近刚学的一个框架,想通过写篇文章来加深下印象,这也是本篇博文产生的由来,下面进入正题 Struts2本身是一个挺简单的框架,我们通过写一个登陆的过程来具体描述下其执行过程 1.首先我 ...

  3. 基于Spark和SparkSQL的NetFlow流量的初步分析——scala语言

    基于Spark和SparkSQL的NetFlow流量的初步分析--scala语言 标签: NetFlow Spark SparkSQL 本文主要是介绍如何使用Spark做一些简单的NetFlow数据的 ...

  4. P3092 [USACO13NOV]没有找零No Change

    题目描述 Farmer John is at the market to purchase supplies for his farm. He has in his pocket K coins (1 ...

  5. python - dict.setdefault

    index = dict.serdefault(key,default) 尝试往dict中插入新键值key,如果key已存在就原dict不变,否则插入key:defalut:返回值为key在dict中 ...

  6. Spring学习笔记(二)之装配Bean

    一,介绍Bean的装配机制 在Spring中,容器负责对象的创建并通过DI来协调对象之间的关系.但是我们要告诉Spring创建哪些Bean并且如何将其装配在一起.,装配wiring就是DI依赖注入的本 ...

  7. 前端worker之web worker

    web worker 背景 众所周知javascript是单线程的,同一时间内只能做一件事情. 这是十分必要的,设想,如果js是多线程的.有个dom元素两个线程同时做了改变,一个display:non ...

  8. 字符串的缺点以及StringBuilder

    字符串的缺点: String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的 ...

  9. Nomad入门

    Nomad 简介 Nomad是一个管理机器集群并在集群上运行应用程序的工具. Nomad的特点: 支持docker,Nomad的job可以使用docker驱动将应用部署到集群中. Nomad安装在li ...

  10. 对jQuery源码的一点感悟

    1.  链式写法 这是jQuery语法上的最大特色,也许该改改POJO里的set方法,和其他的非get方法什么的,可以把多行代码合并,减去每次敲打对象变量的麻烦 2.  动态参数 偶尔使用Java的动 ...