python html5 bootstrap 视频教程
德云社区 门户 行业资讯 行业标准 IT 标准 查看内容

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

2014-12-31 07:01| 发布者: digitser| 查看: 2518| 评论: 0|原作者: liangsheng

摘要: 玛莉亚数据库 MariaDB ── mySQL 的企业级开源数据库替代品 MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区维护,采用 GPL 授权许可。开发这个分支的主要原因:Oracle 公司收购 MySQL 后,有将 MySQL ...
AI人工智能 语音助理 人工翻译 教程
玛莉亚数据库 MariaDB - 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/digitser

https://digitser.sourceforge.io/

https://pan.baidu.com/s/1TV70__Be1ta0ney1-tudFQ


历史背景

MariaDB 成立于2009 年,由 MySQL 之父 Michael  Widenius 用他完成了对 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 之父 Michael  Widenius 离开 Sun 后,觉得依靠 Sun/Oracle 来发展 MySQL,实在很不靠谱。于是决定另开分支,这个分支的名字叫做 MariaDB。


MariaDB 跟 MySQL 在绝大多数方面是兼容的。对于开发者来说,几乎感觉不到任何不同。目前 MariaDB 是发展最快的 MySQL 分支版本,新版本发布速度已经超过了 Oracle 官方的 MySQL 版本。


在 Oracle 控制下的 MySQL 开发,主要有 2 个问题:

1. MySQL 核心开发团队是封闭的,完全没有 Oracle 之外的成员参加。很多高手即使有心做贡献,也没办法做到。


2. MySQL 新版本的发布速度,在 Oracle 收购 Sun 后大为减缓。 Michael  Widenius 有一个 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 PerformanceDevelopersDBAsNoSQL
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、 Navicat

Windows、Mac OS X、Linux 下专有数据库管理应用程序。


3、 HeidiSQL

Windows 上自由、开放源码的 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 服务器一起工作。


"长按二维码" 或 "扫一扫" 关注 "德云社区" 微信公众号

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

路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

Cython 0.29.6 官方中文文档编制 官方教程 人工翻译 更新日志
Cython 0.29.6 官方中文文档编制 官方教程 人工翻译 更新日志 Cython 0.29.6 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用[58/2020-08-08]
Cython 0.29.6 官方中文文档编制 官方教程 手册 全人工翻译
Cython 0.29.6 官方中文文档编制 官方教程 手册 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Cython 0.29.6。 Cython 0.29.6 [142/2020-08-08]
Qt 4.8.7 官方中文文档编制 教程 在线手册 人工翻译 更新日志
Qt 4.8.7 官方中文文档编制 教程 在线手册 人工翻译 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 4.8.7。 Qt 4.8.7 中文文档[38/2020-08-08]
PyInstaller 3.6 官方中文文档编制 官方教程 人工翻译 更新日志
PyInstaller 3.6 官方中文文档编制 官方教程 人工翻译 更新日志 PyInstaller 3.6 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未[38/2020-08-08]
PyInstaller 3.6 官方中文文档编制 官方教程 手册 全人工翻译
PyInstaller 3.6 官方中文文档编制 官方教程 手册 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyInstaller 3.6。 PyInstalle[51/2020-08-08]
Qt 4.8.7 官方中文文档编制 在线手册 官方教程 全人工翻译
Qt 4.8.7 官方中文文档编制 在线手册 官方教程 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 4.8.7。 Qt 4.8.7 中文文档编[38/2020-08-08]
Python2.7.18 官方中文文档编制 标准库教程 帮助文件 更新日志
Python2.7.18 官方中文文档编制 标准库教程 帮助文件 更新日志 CPython 2.7 原定于 2020 年 01 月 停止维护, 但官方却又于 2020 年 04 月发布了 CPython 2.7.18。 感谢德[41/2020-08-05]
Python3.6.8 官方中文文档编制 标准库教程 帮助文件 更新日志
Python3.6.8 官方中文文档编制 标准库教程 帮助文件 更新日志 网页背景由之前的白色主题,切换成黑色主题,保护视力及增强阅读体验。 完全采用 数字翻译 的文档翻译流程进[39/2020-08-05]
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法 在 PySide1.2 PySide2.x PyQt4 中,使用 QComboBox.currentTextChanged 信号有时会无响应,如下[115/2020-06-29]
OpenCV 4.2.0 官方中文文档编制 官方教程手册 全人工汉化翻译
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 中文在线手册 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 OpenCV 4.2.0。 OpenCV 4.2.0 [191/2020-06-15]

Archiver|Sitemap|小黑屋|德云社区   

GMT+8, 2020-9-23 13:48 , Processed in 0.048735 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

返回顶部