作为一个免费的关系型数据库管理系统,开源数据库管理系统MariaDB在许多领域已经取代了以前广泛使用的 MySQL 替换了。MariaDB是由MySQL项目中的一个分支创建的。由于甲骨文公司拥有MySQL的商标权,因此需要一个新的名称。该项目由MySQL的前首席开发者、存储引擎Aria的开发者Ulf Michael Widenius发起,Aria是MariaDB的核心组件。现在的开发是在MariaDB公司的支持下,由MariaDB基金会负责维护开源状态。
MySQL和MariaDB - 命名和兼容性
这两个数据库系统的开发是由Ulf Michael Widenius发起的,并对其产生了决定性的影响。两个数据库的命名,也是参照Widenius两个女儿的名字进行的。大女儿My给MySQL取了个名字,MySQL从1994年开始成立。从2009年开始,Widenius就致力于Fork MariaDB,其名字指的是小女儿Maria。今天的MySQL属于Oracle。在MySQL与5.5之前,两个数据库系统基本兼容。同时Oracle发布了MySQLVers.5.6,目前MariaDB已经有了Vers.10。在这里,第一个相关的差异变得明显。
MariaDB与MySQL相比的优势
MariaDB现在支持的引擎比MySQL多得多。这些引擎包含的基本功能有 数据库这些引擎是为明确定义的应用而设计的,如创建、读取、改变或删除数据记录。其目的是为每个应用领域提供一个最合适的发动机。除了项目自己的引擎Aria外,MariaDB还支持SphinxSE、FederatedX、Spider、TokuDB、ScaleDB、ColumnStore等。各自的引擎支持特殊功能,如交易、分片功能或大规模并行架构,但也支持全方位的任务,如连接引擎。InnoDB被性能更好的xtraDB所取代。
MariaDB与MySQL不同,它处于持续发展之中。 更新 迅速传递,该项目是完全开源的,并有详细的bug跟踪记录。该数据库系统还对性能进行了优化,提供了用于商业用途的集群数据库,在很多情况下可以优雅地实现从其他DB系统的迁移。但是,从MySQL迁移到MariaDB后,已经无法从当前版本返回MySQL。
安保
在10.1版本中,MariaDB提供了在存储层面加密数据的可能性。这适用于完整的表空间、单个表,也适用于各种日志文件。数据不仅在引擎的文件中被加密,而且在二进制日志中也被加密,这对复制很重要。也可以使用所谓的滚动加密密钥,即所有密钥都有一个有限的有效期,并由新的密钥周期性地替换。
可用性和高可用性
MariaDB允许按照 "基于角色的访问控制 "的概念来管理访问权限。访问权的分配不仅是基于单个用户或用户组(通常情况下),而且还基于公司员工行使的定义角色。MariaDB基于芬兰供应商Codership的集群解决方案Galeria实现了高可用性和可扩展性。直到10.0版本的MariaDB服务器,有两个版本,其中一个版本支持MariaDB Galeria集群,另一个不支持。自从MariaDB Server vs. 10.1之后,集成了对Galera集群的支持。
并行处理和提高可用性
MariaDB将目前的ColumnStore关系型数据库技术与大数据相结合。ColumnStore存储引擎面向列工作,并高度支持数据的并行查询分布和并行加载。通过MaxScale,MariaDB提供了一个应用程序到数据库的网关。它将客户端应用程序与数据库连接起来,旨在提高数据库的可用性、安全性和可扩展性,而不改变应用程序。MaxScale获得了MySQL社区颁发的 "2016年度最佳应用 "奖。
组织结构和支持
前MySQL发起人Michael Widenius、Allan Larsson和David Axmark于2012年12月成立了独立的MariaDB基金会。作为一个基金会,其目的是保护MariaDB开发者和用户的利益,并确保免费数据库保持免费。进一步的目标是改进数据库技术,包括制定标准和确保与其他数据库系统的互操作性。MariaDB公司是免费DB系统的主要开发商。它最初以SkySQL的名义成立,2014年10月更名为MariaDB公司。MariaDB公司为其数据库系统提供支持、咨询和远程管理,这对于其他厂商的数据库系统来说是很常见的。
接受和传播
MariaDB经过不断的发展,已经成为一个独立的数据库管理系统,并取得了对MySQL的明显领先优势。知名用户包括Google、Mozilla、OpenBSD、openSUSE、Fedora等。