首页 > 数据库 >差异摘要:MySQL 与MariaDB

差异摘要:MySQL 与MariaDB

时间:2024-01-12 11:34:30浏览次数:40  
标签:存储 摘要 支持 JSON 引擎 MySQL MariaDB

MariaDB 和 MySQL 之间有何区别?

MySQL 和 MariaDB 都是开源数据库技术。您可以使用它们以包含行和列的表格格式存储数据。MySQL 是最广泛采用的开源数据库。它是许多热门网站、应用程序和商业产品的主要关系数据库。MariaDB 是 MySQL 的修改版本。在 MySQL 被 Oracle 公司收购后,出于许可和分发方面的问题,MySQL 的原始开发团队制作了 MariaDB。自收购以来,MySQL 和 MariaDB 经历了不同的发展。但是,MariaDB 采用 MySQL 的数据和表定义文件,还使用相同的客户端协议、客户端 API、端口和套接字。这是为了让 MySQL 用户能够轻松切换到 MariaDB。


主要区别:MariaDB 与MySQL

MariaDB 从 MySQL 分支出来以后,一直在不断扩展其功能。其中一些变化导致了核心功能、能力和性能的差异。

以下是 MySQL 和 MariaDB 之间的显著区别。


JSON 数据处理

MariaDB 和 MySQL 支持检索和存储 JSON 数据。但是,它们以不同的方式存储 JSON 报告。MariaDB 将 JSON 报告存储在字符串中,而 MySQL 则将它们存储为二进制对象。

MySQL 和 MariaDB 也不都支持所有 JSON 函数。MariaDB 支持 JSON_QUERY 和 JSON_EXISTS,而 MySQL 则不支持。同样,MySQL 支持原生 JSON 数据类型 JSON_TABLE,而 MariaDB 则不支持。

但是,从 10.2 版本起,MariaDB 仅支持 JSON 数据类型。MariaDB 使用的 JSON 数据类型是 LONGTEXT 的别名。


差异摘要:MySQL 与MariaDB


MySQL

MariaDB

JSON

MySQL 将 JSON 报告存储为二进制对象。

MariaDB 将 JSON 报告存储在字符串中。MariaDB 的 JSON 数据类型是 LONGTEXT 的别名。

Oracle 数据库兼容性

MySQL 具有很高的兼容性,但不支持 PL/SQL。

MariaDB 具有很高的兼容性,自 10.3 版本起支持 PL/SQL。

速度和性能

在复制和查询方面,MySQL 比 MariaDB 稍慢一些。

在复制和查询方面,MariaDB 比 MySQL 稍快一些。


功能

MySQL 支持超级只读函数、动态列和数据掩码。

MariaDB 支持隐形列和临时表空间。

身份验证

MySQL 有 validate_password 组件。

MariaDB 有三个密码验证器组件。

加密

MySQL 数据库使用 InnoDB 和 AES 对静态数据进行加密。

MariaDB 支持临时日志加密和二进制日志加密。


存储引擎

MySQL 的存储引擎比 MariaDB 少。

MariaDB 的存储引擎比 MySQL 多,可以在一个表中使用多个引擎。

许可证

MySQL 有两个版本:MySQL 企业版和 GPL 版本。

MariaDB 完全采用 GPL 版本。

线程池

MySQL 企业版带有线程池。

MariaDB 可以同时管理超过 20 万个连接,比 MySQL 更多。


何时使用 MariaDB 与MySQL

与 MySQL 相比,MariaDB 更具可扩展性,且查询速度更快。这使其非常适合用于管理大型数据。您还将在 MariaDB 中找到更多 MySQL 不具备的功能,例如序列存储引擎和虚拟列。您还可以在一个表中使用多个引擎。

但是,MySQL 的存在时间比 MariaDB 要长得多。一些组织更偏向于 MySQL 提供的企业支持。

参考文献:https://aws.amazon.com/cn/compare/the-difference-between-mariadb-vs-mysql/



标签:存储,摘要,支持,JSON,引擎,MySQL,MariaDB
From: https://blog.51cto.com/hcymysql/9212828

相关文章

  • mysql8.0新特性
    1、mysql8.0新特性概述MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,突出的一点是多MySQLOptimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更......
  • mysql死锁日志
    发生死锁,第一时间查看死锁日志在分析日志前,我们要知道InnoDB中锁在日志中具体显示的数据类型,平时我们常接触到的是RecordLocks(记录锁),GapLocks(间隙锁),Next-KeyLocks和InsertIntentionLocks(插入意向锁)。这四种锁对应的死锁如下:记录锁(LOCK_REC_NOT_GAP):lock_modeXlocksrec......
  • Mysql 插入数据忽略已存在数据
    MySQL的INSERTIGNOREINTO语句用于向表中插入数据,如果数据已经存在,则忽略插入操作而不报错。以下是INSERTIGNOREINTO语句的基本语法:INSERTIGNOREINTOtable_name(column1,column2,...)VALUES(value1,value2,...);这里的table_name是要插入数据的表名,(column1,colu......
  • MySQL记录锁、间隙锁、临键锁(Next-Key Locks)加锁过程
    innodb一定存在聚簇索引,默认以主键作为聚簇索引有几个索引,就有几棵B+树(不考虑hash索引的情形)聚簇索引的叶子节点为磁盘上的真实数据。非聚簇索引的叶子节点还是索引(id主键值),指向聚簇索引B+树。锁类型:共享锁(S锁):假设事务T1对数据A加上共享锁,那么事务T2可以读数据A,不能修......
  • 随笔记录-mysql 导入
     mysql-hlocalhost-utest-P3306-p 459 mysql-h192.168.1.12-utest_user2312-P3306-pLOADDATALOCALINFILE'/home/hctest/load_41_10.txt'INTOTABLEt15fieldsterminatedby',';[root@localhosthctest]#catuid_mysql.sh#!/bi......
  • MySQL运维实战(3.1) MySQL官方客户端使用介绍
    作者:俊达引言MySQL是MySQL安装包默认的客户端,该客户端程序通常位于二进制安装包的bin目录中,或者通过rpm安装包安装mysql-community-client,是数据库管理系统的重要组成部分。MySQL客户端不仅仅是一个简单的软件工具,更是连接用户与数据库之间的桥梁,对于有效地使用MySQL数据库的功......
  • 数据库mysql面试题
                          ......
  • MySQL数据库安全配置规范
    在生产中,安全相当重要,毕竟你的核心数据都在里面,MySQL因为其开源的流行性,大量个人,企业,政府单位采用,但是,很多部署的时候采用都是默认的配置,这就导致了安全的相对欠缺,你需要针对你的安全有所加强。总的来说,数据库一般划分为生产库,压测库,准生产库,测试库,开发库。下面部分主要说的是生产......
  • Linux Debian11安装MySQL8详细教程
    一、下载MySQLCommunityServerDebian11使用了MariaDB在APT的软件包存储库中并没有mysql,在这里下载MySQLCommunityServer然后选择Debian时会出现建议使用MysqlAPTRepository。所以我们下载安装MysqlAPTRepository的方式更新APTRepository之后使用dpkg-i安装。......
  • Win10安装DBeaver连接MySQL8、导入和导出数据库详细教程
    一、DBeaver简介​DBeaver是一个基于Java开发,免费开源的通用数据库管理和开发工具,使用非常友好,且遵循ASL协议。由于DBeaver基于Java开发,可以运行在各种操作系统上,比如Windows、Linux、macOS等操作系统。DBeaver采用Eclipse框架开发,支持插件扩展,并且提供了许多......