Posts tagged ‘microsecond’

MariaDB 新特性介绍-microsecond

后面我们关注MariaDB对MySQL功能的增加。首先是微秒支持。在MariaDB中,时间类型的值可以指定精度,最大为6,也就是说可以精确到微秒级别。这样的话,用户在使用高精度的时间值比如:23:59:59.998877就不用单独把微秒存到另外单独的字段了。

MariaDB全面支持微秒。你可以在TIME, DATETIME和TIMESTAMP 后面加上表示精度的数字。例如:

精度的数字可以从0到6,如果不指定,则认为为0,也就是最小到秒级别,以便跟MySQL兼容。对应的,配套的日期时间函数,information_schema,存储过程等都同样进行了修改。比如INFORMATION_SCHEMA.COLUMNS就增加DATETIME_PRECISION字段来表示时间的精度。NOW(), CURTIME(), UTC_TIMESTAMP(), UTC_TIME(), CURRENT_TIME(), CURRENT_TIMESTAMP(), LOCALTIME()和 LOCALTIMESTAMP() 都增加了一个可选参数用于表示精度:

具体信息参考:http://kb.askmonty.org/en/microseconds-in-mariadb/

MariaDB新特性简介

随着Oracle计划把MySQL搞成闭源的声音越来越多,对MySQL何去何从的讨论也越来越多。由于MySQL是遵循GPL协议的,那么Oracle需要分发、传播和发布的时候就必须要开源。但是如果Oracle一定要把MySQL变得封闭起来,它也不是没有办法,比如:逐渐把开源社区里不亲近oracle的清理出去;或者让MySQL必须依赖的一些oracle闭源的软件和功能,使得MySQL不配合这些功能就变得非常难以使用等。最近,MySQL的新版本里面就去掉了对bug修复后进行验证的测试用例;这样,社区的人就无法保证自己以后发布的版本,在下一个版本里不会出现之前用户之前report过的bug。

商业毕竟是商业,Sun花了10亿美元收购MySQL,然后Oracle花了74亿美元收购Sun,这些钱都是白花花的银子。Larry. Ellison,Oracle的CEO,曾经明确表示不会放弃MySQL,换言之,也就是说,不会放过MySQL这块蛋糕。因为Oracle是按照CPU核数来计算licence的,这个不能改变,也无法改变。这也限制了Oracle在分布式领域的发展,而MySQL在分布式领域的贡献有目共睹。据小道消息,Oracle已经把它的一部分核心源码开放给了MySQL的部分核心开发人员,以促进MySQL 5.6进一步的稳定和扩大影响力。我们不知道Oracle有什么样的商业企图,但是,你如果认为MySQL会一直这样白白给你使用的话,那么Larry. Ellison就是一个傻子。

Larry. Ellison不是傻子,所以后来涌现了MySQL的很多分支,包括MariaDB,Drizzle,goole,facebook,阿里集团等维护的自己的分支版本。除了MariaDB,Drizzle以外,这些分支版本都是各个商业公司为了满足各自公司的需求而对源码进行修改和调整的版本,适合不适合你的业务场景我无从分辨。Drizzle是2008年从MySQL 6.0分支出来的,并且它明确申明了,部分MySQL的蹩脚(Gotchas)特性,它都不会保留,也就是说它和MySQL是不完全兼容的。

MySQL前CTO,被称为MySQL之父的Michael “Monty” Widenius在2009年2月,创办了Monty Program AB,并建立了mariaDB这个MySQL高性能的分支。MariaDB是发展最快的MySQL分支版本,与MySQL兼容并且有很多新的功能。

MariaDB有个很性感的中文名玛莉亚DB,对宅男型的DBA来说,终于有一个女性DB陪伴了。下面就让我们来看看这些功能到底有哪些。   (MariaDB目前有时候会被墙,不过沃趣科技已经搭建好了镜像(mariadb.woqutech.com),将部分文档和资料搬到国内的服务器上来,以解各位技术男的相思之苦。)

MariaDB5.5有,而MySQL5.6没有的功能包括:

简单列表如下:

High Performance Developers DBAs NoSQL
Thread pool Microsecond precision & type Segmented MyISAM keycache HandleSocket
Group commit in the binary log SphinxSE for full-text search Authentication plugins – PAM, Active Directory Dynamic columns
Non-blocking client library Subqueries materialize LIMIT ROWS EXAMINED
GIS functionality Progress reporting

后面我们会详细分析一下这些新特性。