MySQL入门(二)
一 MySQL概述
MySQL是一个很受欢迎的开源数据库,当我从Oracle转来做MySQL的时候,感觉最深刻的一点就是,这家伙居然是Server和Storage分开的!而且更不能忍的是,它竟然是插件式存储引擎,每一种引擎的特点是很不相同的,当时我感觉这东西也太难学了吧,我要学多少个引擎啊。后来我发现不需要什么都学,因为现在用的最多的引擎基本上只有InnoDB和MyISAM,而在5.5以后,InnoDB大行其道,因此很多DBA只需要把InnoDB搞精通就可以了。
这张图是《高性能MySQL》中的一张插图,大体说明了MySQL的架构,其中最有趣的地方我觉得就是插件式存储引擎了。虽然说现在InnoDB应用广泛,但是还是有很多引擎适用于不同的场景,比如列式存储引擎infobright,做数据仓库一流,比如tokuDB,拥有一流的插入效率,压缩比也极高,非常适合于存储日志归档数据。这就是插件式存储引擎的好处,用最合适的存储引擎。
二 MySQL的分支
好用的开源软件都有分支,Linux如此,MySQL也不例外。MySQL现在有两个大的分支,MariaDB和Percona Server。其实我觉得Percona Server叫分支,倒不如叫MySQL的enhance版,因为我个人觉得,Percona Server更多的关注加强性能。另外Percona公司发布的XtraBackup和pt-tookit好用到没朋友的,这些利器可以让DBA在管理MySQL时如虎添翼。Percona Server在我写这个的时候还没有正式的推出5.7版本,但是已经有了候选版本。
另外,大名鼎鼎的《高性能MySQL》的作者就是Percona公司的工程师执笔写就的,堪称MySQL界的经典,没有之一的那种。
在MySQL AB公司被Sun收购之后,创始人发布了MariaDB。MariaDB的版本号到5.5都是和官方版保持一致的,但是之后就直接开始了10这个版本号。MariaDB更多的关注于新的功能,比如Hash Join这个官方版到现在还没有实现的算法,比如并行复制这个官方版5.7才推出的功能。
之前发现CentOS已经把MySQL替换成了MariaDB,据资料显示Facebook,Google等公司也已经转向了MariaDB,他们据说都是担心开源风险。其实大公司很多都有自己给MySQL提patch的能力,所以自己都有自己的分支。
------------------------------------------------------------------------------------------------------------------------------
今天又写了这么多乱七八糟的,看起来听没有用的,不过就算是热身吧,听得热闹说不定能勾起学习的兴趣。