MariaDB 简介
MariaDB Server 是一个通用用途的开源关系型数据库管理系统。它是世界上最流行的数据库服务器之一,著名用户包括 维基百科、WordPress.com 和 Google。MariaDB Server 在 GPLv2 开源许可证下发布,并保证始终保持开源。
它可用于高可用性事务数据、分析、作为嵌入式服务器,并且广泛的工具和应用程序都支持 MariaDB Server。
MariaDB 服务器
历史
当 MariaDB Server 的前身 MySQL 在 2009 年被 Oracle 收购时,MySQL 的创始人 Michael “Monty” Widenius 由于担心 Oracle 的管理而分叉了该项目,并将新项目命名为 MariaDB。MySQL 是以他的第一个女儿 My 的名字命名的,而 MariaDB 则是以他的第二个女儿 Maria 的名字命名的。
大多数原始开发者加入了新项目,此后 MariaDB Server 一直在快速发展。
版本编号
直到 MariaDB 5.5,MariaDB Server 都遵循 MySQL 的版本编号方案,旨在与 MySQL 的相同主要版本实现直接替换兼容。
2012 年,为了反映 越来越多 MySQL 中没有的功能的存在,MariaDB Server 的版本编号开始分叉,MariaDB 发布了 10.0,而 MySQL 发布了 5.6。当前的长期支持版本是 MariaDB 10.6,而最新的稳定短期支持版本是 MariaDB 10.9。
与 MySQL、Postgres、MongoDB 和 Oracle 的兼容性
MariaDB Server 仍然保持着与 MySQL 的高水平兼容性,大多数使用 MySQL 的流行应用程序将与 MariaDB 无缝协作。早期的术语 直接替换 (drop-in replacement) 已不再使用,因为 MariaDB 的目标已与 MySQL 不同,并且 MariaDB Server 拥有许多新功能。
MariaDB Server 强烈强调不破坏用户的向后兼容性。支持从旧的 MySQL 版本到最新的 MariaDB 版本的原地升级。
MariaDB Server 提供 Oracle 语法兼容模式,无需修改即可运行 Oracle 数据库应用程序。
MariaDB 知识库中包含一篇关于从 SQL Server 迁移到 MariaDB 的文章。
与 MariaDB 相比,PostgreSQL 最初是一个研究项目,侧重于功能,而不是性能和稳定性。MariaDB 的前身 MySQL 遵循实用主义方法,功能较少,但专注于性能、稳定性和易用性。自那时以来,两者的差异已有所缩小,MariaDB 侧重于更全面地实现 ANSI SQL 标准,而 PostgreSQL 则侧重于提高其性能。
对于 MongoDB 用户,我们的 JSON 功能可能引起他们的兴趣
- 有大量的 JSON 函数,用于处理非结构化数据。
- JSON 数据类型,它是 LONGTEXT 的别名,带有一个约束以确保它是有效的 JSON
- CONNECT 存储引擎 有一个 JSON 表类型,包含用于处理 JSON 数据的强大功能。
开放架构:存储引擎
MariaDB Server 的模型允许选择最适合满足各种需求的特定存储引擎。其中一些包括
通用用途
- InnoDB 是一个很好的通用事务存储引擎,在大多数情况下是最佳选择。
- Aria 是 MariaDB 对 MyISAM 的更现代改进,占用空间小,并且易于在系统之间复制表。
- MyISAM 占用空间小,并且易于在系统之间复制表。MyISAM 是 MySQL 最老的存储引擎。除了出于遗留目的外,通常没有太多理由使用它。Aria 是 MariaDB 更现代的改进。
扩展、分区
MariaDB Server 可以将数据库负载分摊到多个服务器上并进行优化以实现扩展。还有 Galera,一个同步多主集群。
- ColumnStore 利用海量并行分布式数据架构,专为大数据扩展设计,可处理 PB 级别的数据。
- Spider 使用分区通过多个服务器提供数据分片。
压缩 / 归档
- MyRocks 比 InnoDB 实现更高的压缩率,并减少写入放大,从而提高了闪存存储的耐用性并改善了整体吞吐量。
连接到其他数据源
当您想使用未存储在 MariaDB Server 数据库中的数据时。
- CONNECT 允许访问不同类型的文本文件和远程资源,就像它们是常规 MariaDB 表一样。
搜索优化
针对搜索优化的存储引擎。
- Mroonga 使用列式存储提供快速且支持 CJK 的全文搜索。
其他专用存储引擎
- S3 存储引擎 是一个只读存储引擎,它将其数据归档到 Amazon S3(或任何 S3 API 兼容的解决方案)中。
- OQGRAPH 允许您处理层次结构(树形结构)和复杂图(节点在多个方向有许多连接)。
开放架构:插件
MariaDB Server 支持使用插件,这些软件组件可以在不从源代码重新构建 MariaDB 服务器的情况下添加到核心软件中。因此,插件可以在启动时加载,也可以在服务器运行时加载和卸载而不会中断。插件通常用于添加所需的存储引擎、额外的安全要求以及记录有关服务器的特殊信息。
一些附加插件包括
- Performance Schema,一个用于监控 MariaDB 服务器性能的功能。
- MariaDB Audit plugin,用于记录服务器活动,这是符合某些审计法规的要求。
- ed25519 身份验证插件,它使用 椭圆曲线数字签名算法 (ECDSA) 安全地存储用户密码并验证用户,这是对默认基于 SHA-1 的身份验证的改进。
- Cracklib 密码检查插件,用于检查新密码的强度,
开放开发模式
MariaDB Server 的代码库在 GitHub 上维护。
MariaDB 在 jira.mariadb.org 上有一个公共问题跟踪器。用户可以提交、投票和评论计划中的功能和错误。
生态系统
MariaDB Server 可用于大多数 Linux 发行版,在某些情况下已取代 MySQL 成为默认提供项。
它与大多数开发语言、框架和云工具集成良好,并且有大量的连接器可提供帮助,其中一些由 MariaDB 公司开发,另一些由社区的其他成员维护。
获取 MariaDB 服务器
二进制文件和源代码可在 mariadb.org/download 下载。MariaDB Server 也可通过大多数发行版中的仓库获取,并且有一个 Docker Library
MariaDB 基金会
MariaDB 基金会是一个非营利组织,负责确保 MariaDB Server 的开放性、采用度和持续性,该组织也成立于 2012 年。
使命
MariaDB 基金会
- 确保 MariaDB Server 代码库保持开放,可基于技术优点使用和贡献。
- 努力提高用户在各种使用场景、平台和部署方式上的采用度。
- 为 MariaDB Server 生态系统提供持续性,独立于任何商业实体。
赞助商
MariaDB 基金会完全由捐赠资助。
MariaDB 基金会的赞助商包括 MariaDB 公司、Acronis、阿里云、Intel、Microsoft、ServiceNow、Schaffhausen Institute of Technology、新加坡星展银行 (Development Bank of Singapore)、Visma、IBM、Booking.com、腾讯云等。
MariaDB 公司
MariaDB 公司是一个商业实体,是 MariaDB 基金会的白金赞助商,并雇佣了许多从事 MariaDB Server 以及相关产品(如数据库代理 MaxScale 和托管云数据库即服务 SkySQL)开发的工程师。
与 MariaDB 基金会的关系
基金会负责 MariaDB Server,但公司雇佣了大多数从事 MariaDB Server 开发的工程师,因此在路线图中拥有很大的发言权。公司也在 MariaDB 基金会董事会中有代表。
MariaDB 公司的其他软件
MariaDB 公司还开发其他产品,其中一些带有 MariaDB 品牌。这些产品包括
- MariaDB MaxScale,一个数据库代理,它扩展了 MariaDB Server 的高可用性、可扩展性和安全性,同时通过将其与底层数据库基础设施解耦来简化应用程序开发。
- MariaDB SkySQL,他们的云数据库平台
- MariaDB Enterprise Server,MariaDB Server 的定制版本
- MariaDB Xpand,一个具有高可用性、容错性和写入扩展能力的分布式数据库服务器
- 连接器,例如 MariaDB Connector/C、MariaDB Connector/J (Java) 和 MariaDB Connector/ODBC
资源
网络资源
社交媒体
MariaDB Server 可用于所有主要的 Linux 发行版。您也可以使用下载网站来设置和使用 MariaDB 基金会的仓库之一,或直接下载:https://mariadb.org.cn/download。在文档中了解更多关于设置和使用 MariaDB 的信息:https://mariadb.com/kb/。要联系我们活跃的社区,您可以使用我们的 Zulip 实例:https://mariadb.zulipchat.com/,或邮件列表:https://mariadb.com/kb/en/where-are-other-users-and-developers-of-mariadb/