MariaDB 简介
MariaDB Server 是一个通用的开源关系型数据库管理系统。它是世界上最受欢迎的数据库服务器之一,著名用户包括 Wikipedia、WordPress.com 和 Google。MariaDB Server MariaDB Server 在开源 GPLv2 许可下发布,并保证将保持开源。
MariaDB Server 可用于高可用事务数据、分析、作为嵌入式服务器,并可与各种兼容 MariaDB Server 的工具和应用程序结合使用。
MariaDB Server
历史
当 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 年,为了体现 MariaDB Server 中 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 支持原地升级 (inplace update)。
MariaDB Server 提供了 Oracle 语法兼容模式,以便无需修改即可运行 Oracle Database 应用程序。
MariaDB 知识库 (The MariaDB Knowledge Base) 包含关于从 SQL Server 迁移到 MariaDB 的章节。
与 MariaDB 不同,PostgreSQL 始于一个研究项目,侧重于特性而非性能和稳定性。MariaDB 的前身 MySQL 则采取了一种务实的方法,功能较少,但专注于性能、稳定性和易用性。从那时起,两者之间的差异已经缩小,MariaDB 专注于更完整地实现 ANSI SQL 标准,而 PostgreSQL 则专注于提升其性能。
对于 MongoDB 用户,我们的 JSON 功能可能会引起兴趣
- 有大量 JSON 函数,用于处理非结构化数据。
- JSON 数据类型,是 LONGTEXT 的别名,带有一个约束以确保其为有效 JSON
- CONNECT 存储引擎提供 JSON 表类型 (JSON Table Type),其中包含强大的 JSON 数据处理功能。
开放式架构:存储引擎
MariaDB Server 允许您选择各种存储引擎 (storage engines) 以满足不同的需求。其中一些包括
通用用途
- InnoDB 是一个很好的通用事务存储引擎,在大多数情况下是最佳选择。
- Aria,MariaDB 对 MyISAM 的更现代改进,占用空间小,并允许轻松地在系统之间复制表。
- MyISAM 占用空间小,并允许轻松地在系统之间复制表。MyISAM 是 MySQL 最早的存储引擎。通常很少有理由使用它,除了用于兼容旧系统。Aria 是 MariaDB 对其更现代的改进。
扩展、分区
MariaDB Server 可以将数据库负载分布到多个服务器上以优化扩展。还有 Galera,一个同步的多主集群。
- ColumnStore 使用大规模并行分布式数据架构,专为大数据扩展而设计,可处理 PB 级数据。
- Spider 使用分区在多个服务器上提供数据分片。
压缩 / 归档
- MyRocks 提供了比 InnoDB 更高的压缩率以及更低的写入放大,从而提供更好的闪存存储耐久性并提高了整体吞吐量。
连接到其他数据源
当您希望使用未存储在 MariaDB Server 数据库中的数据时。
- CONNECT 允许访问不同类型的文本文件和远程资源,就像它们是普通的 MariaDB 表一样。
优化搜索
针对搜索优化的存储引擎。
- Mroonga 使用 ColumnStore 提供快速的 CJK 全文搜索。
其他专用存储引擎
- S3 存储引擎是一个只读存储引擎,它将其数据归档到 Amazon S3(或任何兼容 S3 API 的解决方案)中。
- OQGRAPH 允许您管理层次结构(树形结构)和复杂图(节点具有多个方向的许多连接)。
开放式架构:插件
MariaDB Server 支持使用插件,这些软件组件无需从源代码重建 MariaDB Server 即可添加到核心软件中。因此,插件可以在启动时加载,或者在服务器运行时加载和卸载,而不会中断。插件通常用于添加所需的存储引擎、额外的安全要求以及记录有关服务器的特殊信息。
一些额外的插件
- Performance Schema,一个用于监控 MariaDB Server 性能的工具。
- MariaDB Audit plugin,用于记录服务器活动,这是符合某些审计法规的要求。
- ed25519 身份验证插件,使用 ECDSA (Elliptic Curve Digital Signature Algorithm) 算法安全地存储用户密码并验证用户,这是对基于 SHA-1 的默认身份验证的改进。
- Cracklib 密码检查插件,用于检查新密码的强度。
开放式开发模式
MariaDB Server 的代码库在 GitHub 上维护。
MariaDB 在 jira.mariadb.org 上有一个公共问题跟踪工具。用户可以提交、投票和评论计划中的功能以及已识别的错误。
生态系统
MariaDB Server 在大多数 Linux 发行版上都可用,在某些情况下取代了 MySQL 作为默认选项。
它与大多数开发语言、框架和云工具良好集成,并且有许多连接器可供使用,其中一些由 MariaDB Corporation 开发,另一些由社区其他成员维护。
获取 MariaDB Server
二进制文件和源代码可以从 mariadb.org/download 下载。MariaDB Server 也可通过大多数发行版中的仓库获得,并且有一个 Docker 库。
MariaDB 基金会
MariaDB 基金会,一个负责确保 MariaDB Server 的开放性、采用和持续性的非营利组织,也成立于 2012 年。
使命
MariaDB 基金会
- 确保 MariaDB Server 的代码库保持开放供使用,并允许基于技术优劣的贡献。
- 努力提高用户在各种用例、平台和部署方式中的采用率。
- 独立于任何商业实体,为 MariaDB Server 生态系统提供持续性。
赞助商
MariaDB 基金会完全由捐赠资助。
MariaDB 基金会的赞助商包括 MariaDB Corporation、Acronis、阿里云、Intel、 Microsoft、ServiceNow、沙夫豪森理工学院、新加坡发展银行、Visma、IBM、Booking.com、腾讯云等。
MariaDB 公司
MariaDB Corporation 是一个商业实体,是 MariaDB 基金会的白金级赞助商,并雇佣了许多开发 MariaDB Server 以及 MaxScale(一个数据库代理)和 SkySQL(一项托管云数据库服务)等相关产品的开发者。
与 MariaDB 基金会的关系
基金会负责 MariaDB Server,但公司雇佣了大部分从事 MariaDB Server 工作的开发者,因此贡献很大。公司也在 MariaDB 基金会董事会中拥有代表。
MariaDB Corporation 的其他产品
MariaDB Corporation 还开发其他产品,其中一些使用 MariaDB 品牌。这些产品包括
- MariaDB MaxScale,一个数据库代理,扩展了 MariaDB Server 的高可用性、可伸缩性和安全性,同时通过将其与底层数据库基础设施解耦来简化应用程序开发。
- MariaDB SkySQL,云数据库平台
- MariaDB Enterprise Server,MariaDB Server 的定制版本
- MariaDB Xpand,一个具有高可用性、容错性和写入扩展性的分布式数据库服务器
- 连接器,例如 MariaDB Connector/C、MariaDB Connector/J (Java) 和 MariaDB Connector/ODBC
资源
Web 资源
社交媒体
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/