liangsheng 发表于 2018-10-2 02:00:00

MariaDB - GPL 玛莉亚数据库 MySQL 社区企业级开源数据库替代品

MariaDB - GPL 玛莉亚数据库 MySQL 社区企业级开源数据库替代品
MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区维护,采用 GPL 授权许可。开发这个分支的主要原因:Oracle 公司收购 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用开发分支的方式来避开这个风险。
MariaDB 完全兼容 MySQL,包括 API 和命令行,使之轻松成为了 MySQL 的代替品。在存储引擎方面,MariaDB 采用基于事务的 Maria 存储引擎,替换了 MySQL 的 MyISAM 存储引擎。MariaDB 使用 Percona 的 XtraDB 来代替 MySQL 的 InnoDB。XtraDB 是 InnoDB 的变体。分支开发者希望提供访问即将到来的 MySQL 5.4 InnoDB 性能。这个版本还包括 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。
MariaDB 由 MySQL 的创始人 Michael Widenius 主导开发。他 2008 年曾以 10 亿美元的价格,将自己创建的公司 MySQL AB 卖给了 SUN。此后,随着 SUN 被 Oracle 公司收购,MySQL 的所有权也落入 Oracle 公司的手中。
MariaDB 名称来自 Michael Widenius 的女儿 Maria 的名字。
MariaDB 直到 5.5 版本,均依照 MySQL 的版本。因此,使用 MariaDB 5.5 的人可从 MySQL 5.5 中了解到 MariaDB 的所有功能。
10 倍以上效率提升 智能站群 所见即所得 "HTML5 Bootstrap4 网页 IDE" 开发工具http://ideweb.digitser.cn/http://forum.digitser.cn/thread-2322-1-1.html
百度网盘https://pan.baidu.com/s/1i5tKlZB
软件仓库https://github.com/digitserhttps://digitser.sourceforge.io/https://pan.baidu.com/s/1TV70__Be1ta0ney1-tudFQ
历史背景
MariaDB 成立于2009 年,由 MySQL 之父 MichaelWidenius 用他完成了对 MySQL 的 “反戈一击”。过去几年中,大型互联网用户以及 Linux 发行商纷纷抛弃 MySQL,转投 MariaDB 阵营。MariaDB 是目前最受关注的 MySQL 数据库衍生版,也被视为开源数据库 MySQL 的替代品。
MariaDB 虽然被视为 MySQL 数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过 MySQL。而且,从 MySQL 迁移到 MariaDB 也非常简单;譬如:1、数据、表定义文件(.frm)是二进制兼容的;
2、所有客户端 API、协议、结构都是完全一致的;
3、所有文件名、二进制、路径、端口等都是一致的;
4、所有 MySQL 连接器,比如:PHP、Perl、Python、Java、.NET、MyODBC、Ruby 及 MySQL C connector 等在 MariaDB 中都保持不变;
5、mysql-client 包在 MariaDB 服务器中也能够正常运行;
6、共享客户端库与 MySQL 也是二进制兼容的;
也就是说,在大多数情况下,你完全可以卸载 MySQL 然后安装 MariaDB,然后就可以像之前一样正常运行。

起源
为何将名字改为 MariaDB,这其中是有些典故的。
MySQL 之父 MichaelWidenius 离开 Sun 后,觉得依靠 Sun/Oracle 来发展 MySQL,实在很不靠谱。于是决定另开分支,这个分支的名字叫做 MariaDB。
MariaDB 跟 MySQL 在绝大多数方面是兼容的。对于开发者来说,几乎感觉不到任何不同。目前 MariaDB 是发展最快的 MySQL 分支版本,新版本发布速度已经超过了 Oracle 官方的 MySQL 版本。
在 Oracle 控制下的 MySQL 开发,主要有 2 个问题:1. MySQL 核心开发团队是封闭的,完全没有 Oracle 之外的成员参加。很多高手即使有心做贡献,也没办法做到。
2. MySQL 新版本的发布速度,在 Oracle 收购 Sun 后大为减缓。 MichaelWidenius 有一个 PPT,用数据比较了收购之前和之后新版本的发布速度。有很多 bug fix 和新 feature,都没有及时加入到发布版本之中。
以上这 2 问题导致各大公司,都开发了自己定制的 MySQL 版本,包括 Yahoo!、Faceboo、Google、阿里巴巴、淘宝网等等。
MySQL 是开源社区的资产,任何 “个人/组织” 都无权据为己有。为依靠广大 MySQL 社区的力量来更快速的发展 MySQL,另外开分支是必须的。
MariaDB 默认的存储引擎是 Maria,不是 MyISAM。Maria 可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。可以通过以下语句,转换为支持事务的 Maria 引擎。ALTER TABLE `tablename` ENGINE=MARIA TRANSACTIONAL=1;
特点
MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原 MySQL 作者 Michael Widenius 创办的公司所开发的免费开源数据库服务器。
这个项目的很多代码都改编于 MySQL 6.0,例如 “pool of threads” 功能可提供解决多数据连接问题。MariaDB 基于 GPL 2.0 发布。与 MySQL 相比较,MariaDB 更强的地方在于:
01、Maria 存储引擎;
02、PBXT 存储引擎;
03、XtraDB 存储引擎;
04、FederatedX 存储引擎;
05、更快的复制查询处理;
06、线程池;
07、更少的警告和 bug;
08、运行速度更快;
09、更多的 Extensions (More index parts, new startup options etc);
10、更好的功能测试;
11、数据表消除;
12、慢查询日志扩展统计;
13、支持对 Unicode 的排序;
相对 MySQL 最新版本 5.6 而言,在性能、功能、管理、NoSQL 扩展方面,MariaDB 包含更丰富的特性。譬如:微秒的支持、线程池、子查询优化、组提交、进度报告、等等。详见下表:

High Performance Developers DBAs NoSQL
Thread pool
线程池
Microsecond precision & type
微秒支持
Segmented MyISAM keycache
MyISAM 缓存分段
HandleSocket
直接 InnoDB/XtrDB 访问

Group commit for the binary log binlog
组提交
SphinxSE for full-text search
SphinxSE 全文索引支持
Authentication plugins - PAM, Active Directory
授权插件 - PAM、活动目录 Dynamic columns
动态列

Non-blocking client library
非阻塞库
Subqueries materialize
子查询优化
LIMIT ROWS EXAMINED
LIMIT 行检查限制

GIS functionality
地理信息系统支持
Progress reporting
进度报告


第三方工具
MariaDB 的 API 和协议兼容 MySQL,另外又添加了一些功能,以支持本地的非阻塞操作、进度报告。这意味着,所有使用 MySQL 的连接器、库、应用程序也可在 MariaDB 下工作。在此基础上,由于担心甲骨文 MySQL 的一个更加封闭的软件项目,Fedora 计划在 Fedora 19 中的以 MariaDB 取代 MySQL,维基媒体基金会服务器同样也以 MariaDB 取代了 MySQL。
  支持 MariaDB 的客户端工具:
  1、 DBEdit 一个免费的 MariaDB 数据库及其他数据库管理应用程序。
2、 NavicatWindows、Mac OS X、Linux 下专有数据库管理应用程序。
3、 HeidiSQLWindows 上自由、开放源码的 MySQL 客户端。它支持 MariaDB 5.2.7 及之后版本。
  4、 phpMyAdmin 一个基于网络的 MySQL 数据库管理应用程序。

兼容性
出于实用目的,MariaDB 是同一 MySQL 版本的二进制替代品 (譬如:MySQL 5.1->MariaDB 5.1, MariaDB5.2 和 MariaDB 5.3 是兼容的。MySQL 5.5 将会和 MariaDB 5.5 保持兼容)。这意味着:1、数据和表定义文件 (.frm) 文件是二进制兼容的。
2、所有客户端 API、协议、结构是相同的。
3、所有文件名、二进制文件路径、端口、套接字等,应该是相同的。
4、所有 MySQL 连接器 (PHP、Python、Perl、Java、.NET、MyODBC、Ruby、MySQL C 连接器等) 和 MariaDB 的保持不变。有一些和 PHP 5 的安装问题要注意 (一个和老的 PHP5 如何检查库兼容性的 bug)。
5、mysql-client 包还可以与 MariaDB 服务器一起工作。

http://forum.digitser.cn/data/attachment/forum/201605/19/132155fevczeyds5e5y1wy.jpg"长按二维码" 或 "扫一扫" 关注 "德云社区" 微信公众号参考:
MySQL - 用户数全球排名第一 免费开源关系型 GPL 协议数据库

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

页: [1]
查看完整版本: MariaDB - GPL 玛莉亚数据库 MySQL 社区企业级开源数据库替代品