MariaDB 是 MySQL 的未来

为什么从 MySQL 切换到 MariaDB?
MariaDB 是 MySQL 的一个成熟扩展分支,它完全开源,并通过多种方式修复了 MySQL 的问题,包括
稳定性
稳定性是 MariaDB 的首要任务,通过以下方式确保
- 向后兼容性
- 四个维护中的 LTS(长期支持)版本
- 成熟的代码库
- 广泛测试
- 定期维护更新
性能
- 经验丰富的测试专家 Mark Callaghan 证明在关键用例中比 MySQL 更快、性能更好
Mark Callaghan:MariaDB 比 MySQL 更快
易用性
- MariaDB 力求实现从下载到“hello world”的“15 分钟规则”
- 支持任何更早的 MariaDB 版本以及 MySQL 5.7 及更早版本的原地升级
- 用户将 MariaDB 描述为简单、直观且功能丰富
- 在所有主要发行版中可用,例如 CentOS, Debian, Fedora, OpenEuler, Red Hat, OpenSuse, Suse, Ubuntu
- MariaDB 连接器可用,支持 C, C++, Java, NodeJS, ODBC, Python, RD2BC
- MariaDB 容器可在 Docker 中使用
安全性
- 默认启用 SSL
- 零配置 SSL
- 零信任 PARSEC 身份验证
MariaDB 向量
- 标准开源 RDBMS 中原生支持向量功能
- 一个查询搞定一切:同时检索向量和关系数据
- 多用户环境下每秒查询次数 (QPS) 高于专用向量存储
Oracle 兼容层
- 所有开源 RDBMS 中最完整的 Oracle 语法
- 包括所有 MariaDB 功能和优势
- 使 Oracle 数据库用户摆脱高昂的许可费用和供应商锁定
SET sql_mode=ORACLE;
DELIMITER $$
CREATE OR REPLACE PACKAGE employee_tools AS
FUNCTION getSalary(eid INT)
RETURN DECIMAL(10,2);
PROCEDURE raiseSalary(eid INT,
amount DECIMAL(10,2));
PROCEDURE raiseSalaryStd(eid INT);
PROCEDURE hire(ename TEXT,
esalary DECIMAL(10,2));
END;
$$
DELIMITER ;
时态表
DELETE FROM table WHERE id=4;
SELECT * FROM t1 FOR SYSTEM_TIME BETWEEN
(NOW() - INTERVAL 60 SECOND) AND NOW()
WHERE id=4;
返回 60 秒前表中的数据。
关于 MariaDB 服务器
MariaDB 始于 2009 年 MySQL 的一个社区驱动分支,由 MySQL 的原始开发者在担心 Oracle 公司收购 MySQL 后发起。
MariaDB 因其开源性质、性能增强以及致力于避免专有锁定而广受欢迎。
MariaDB 与 MySQL 高度兼容,但随着时间的推移,两者已经有所分化。MySQL 仍由 Oracle 控制,而 MariaDB 独立运营,整合社区驱动的创新和额外功能。
关于 MariaDB 基金会
基金会的基石
- 我们确保 MariaDB 服务器代码库对基于技术价值的使用和贡献保持开放。
- 我们努力提高用户在不同用例、平台和部署方式中的采用率。
- 我们为 MariaDB 服务器生态系统提供连续性,不受单一商业实体的限制。
MariaDB 基金会感谢 Amazon、MariaDB plc、阿里云、IBM、SIT、Acronis、Intel 等众多领导者作为赞助商。
活跃的社区
当我们说 MariaDB 对社区开放时,我们不仅指 GPLv2 许可,还指整个开放开发模式,包括
- 用于跟踪错误、问题和功能请求的开放公共 Jira,以及公共路线图
- 在 Github 的公共仓库中托管开发代码,并对拉取请求、问题报告和讨论开放
- 在我们的免费加入聊天系统 Zulip 上进行公开讨论
- 我们的类似维基的知识库
MariaDB 收到来自全球个人和组织的众多代码贡献:新功能(例如 AWS 对 MariaDB Vector 的贡献)、性能改进、安全更新、错误修复等。在过去 13 年,MariaDB 一直是 Google Summer of Code 的一部分。