在MariaDB中,有如下针对MariaDB与MySQL两种数据库比较的官方说法:
MariaDB 和 MySQL 是世界上部署最广泛的两个开源关系数据库,虽然它们有共同的祖先,并通过 MySQL 协议保持兼容性(MySQL 客户端可以连接到 MariaDB,反之亦然),但它们已经发展了自己的 方式,成为具有独特功能和不同产品愿景的独立数据库。 各种规模的组织继续用 MariaDB 取代 MySQL,以利用 MariaDB 的创新优势——并摆脱 Oracle 的统治。
MariaDB 满足与 MySQL 相同的标准企业要求,通常具有附加特性、功能和选项,并且通过实施 MySQL 协议并保持与常见 MySQL 数据类型和 SQL 语法的兼容性,可以轻松地从 MySQL 迁移到 MariaDB,而无需修改应用程序和/ 或放弃要求。
MariaDB 和 MySQL 都实现了标准 SQL 语法,包括常用的表表达式和窗口函数以及 JSON 和地理空间函数。 但是,MariaDB 添加了 INTERSECT 和 EXCEPT 集合运算符、线性回归函数等。
MariaDB 和 MySQL 都实现了线程池、分区和行压缩,以最大限度地提高资源利用率和性能。 但是,MariaDB 添加了 Redis 的查询结果缓存、并行查询、读/写拆分等。
MariaDB 和 MySQL 都结合了多主集群和数据库代理/路由器来提供持续可用性。 然而,MariaDB 增加了事务重放、会话恢复和连接迁移来隐藏应用程序的故障。
MariaDB 和 MySQL 都支持使用备份/恢复工具和二进制日志来前滚事务的时间点恢复。 MariaDB 添加了时间点回滚功能,使 DBA 能够将数据库回退到之前的时间点,并且停机时间为零。
MariaDB 和 MySQL 都实现了标准的企业安全功能,例如加密、密码过期、角色、权限和审计。 MariaDB 为高级数据库和数据保护添加了动态数据屏蔽、查询限制和查询结果限制。
MariaDB 和 MySQL 都是通用数据库。 MySQL 只专注于其用于标准事务处理的主存储引擎 (InnoDB),但 MariaDB 已经意识到其可插拔存储引擎架构的全部潜力,以支持可扩展的分析、事务和混合事务/分析处理——而且它是不受 Oracle 的限制,引入了以前只能在 Oracle 数据库等专有数据库中看到的功能,并且不太可能在 MySQL 中提供。
MariaDB 是唯一实现系统版本控制、应用程序时间段和双时态表的开源数据库,使开发人员能够根据之前的时间点查询数据,并且 DBA 能够在数据更改后审计和/或恢复数据。
MariaDB 是唯一与 Oracle 数据库数据类型、序列、PL/SQL 存储过程等兼容的开源数据库,无需修改数据库模式和重写存储过程即可“提升和转移”。
MariaDB 和 MySQL 可以访问其他 MariaDB/MySQL 数据库中的表,但只有 MariaDB 可以联合异构数据库,包括 Oracle 数据库、Microsoft SQL Server 和 IBM Db2,以整合数据访问和/或简化数据库迁移。
MariaDB 支持行和列存储。 它可以部署为交互式、即席分析的数据仓库或混合事务/分析处理 (HTAP) 数据库,将当前数据存储在行存储中,将历史数据存储在列中。
MariaDB 可以部署为分布式 SQL 数据库,在商品硬件上横向扩展以实现每秒数百万次事务,同时确保高可用性并为需要弹性和完全可扩展性的任务关键型应用程序强制执行强一致性。
本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。