MariaDB和MySQL有甚么区分?在本文中,小编将和大家一起看看。
一、甚么是MariaDB?
MariaDB是MySQL关系数据库管理系统 (RDBMS) 的开源分支。由于担心甲骨文收购MySQL,2009 年开发人员(包括一些最初从事 MySQL 工作的开发人员)创建了分支。作为MySQL的一个分支,MariaDB与前者非常兼容。
它支持与MySQL相同的功能,但还具有其他功能,我们将在下面看到。一些最重要的特性是新的存储引擎、JSON API 支持和并行数据复制。
二、甚么是 MySQL?
MySQL是一种 RDBMS,可以让您将数据存储在表中并对其进行操作。它由 Michael Widenius于1996年首次发布,他现在是MariaDB的首席开发人员。
MySQL是世界上最流行的 RDBMS,并被一些最大的科技公司和平台使用。这包括 Facebook、YouTube 和Twitter。
可以在WordPress站点中找到有关MySQL流行程度的更具体示例。数据库系统允许用户存储博客文章、用户和插件信息。
三、MariaDB和MySQL的区分?
1、性能比较
与 MySQL相比,MariaDB 几项优化常常会提高性能。一般来讲,当谈到 MySQL 与 MariaDB的性能时,后者明显更好。
2、数据库视图
关于数据库“视图”有一个巨大的性能优化。“视图”本质上是虚拟数据库表,可以像数据库的常规表一样进行查询。
在MySQL中,当您查询视图时,将查询连接到该视图的所有表,而不管查询可能不需要其中一些表。这已在MariaDB中进行了优化,其中查询仅针对那些需要的表。
3、列存储
MariaDB以“ColumnStore”的情势提供了另外一个强大的性能改进,它是一种散布式数据架构,可以极大地扩大 MariaDB。它可以线性扩大以跨数据库集群中的各种服务器存储数 PB 的数据。
4、更好的闪存存储性能
MariaDB 还提供了一个 MyRocks 存储引擎,可以将 RocksDB 数据库添加到其中。RocksDB 是一种数据库,旨在通过提供更高级别的数据紧缩来提高闪存存储的性能。
5、分段密钥缓存
MariaDB 以 Segmented Key Cache 的情势引入了另外一项性能改进。在典型的缓存中,不同的线程竞争对缓存条目进行锁定。这些锁称为互斥锁。当多个线程竞争一个互斥锁时,只有其中一个能够取得它,而其他线程一定要等待锁被释放才能履行操作。这会致使这些线程中的履行延迟,从而下降数据库性能。
在分段键缓存的情况下,线程不需要锁定全部页面,但它可以只锁定页面所属的特定段。这有助于多个线程并行工作,从而提高利用程序的并行性,从而提高数据库的性能。
6、虚拟列
MariaDB 另外一个有趣的特性是它支持虚拟列。这些列能够在数据库级别履行计算。这在许多利用程序访问同一列时非常有用,因此无需在每一个利用程序中编写计算。此功能在 MySQL 中不可用。
7、并行履行查询
MariaDB v10.0 及更高版本允许并行履行多个查询。这个想法是来自主服务器的一些查询可以在从服务器中复制,因此可以并行履行。这类查询履行的并行性无疑为 MariaDB 提供了优于 MySQL 的优势。
8、线程池
MariaDB 还引入了一个名为“线程池”的新概念。之前,当需要到数据库的多个连接时,对每一个连接,都会打开一个线程,从而构成基于“每一个连接一个线程”的架构。
使用“线程池”,新连接可以获得并查询数据库的开放线程池。这样,不需要为每一个新的连接要求打开一个新线程,从而致使更快的查询结果。此功能在 MySQL 的企业版中可用,但在社区版中不可用。
9、存储引擎
MariaDB 提供了几个开箱即用的强大存储引擎,这些引擎在 MySQL 中不可用。例如,XtraDB、Aria 等。要为 MySQL 设置这些存储引擎,您需要手动安装它们,这可能不是最方便的进程。
10、兼容性
MariaDB 团队正在确保 MariaDB 可以在现有利用程序中无缝替换 MySQL。事实上,对每一个版本的 MySQL,他们发布相同的 MariaDB 版本号,表示 MariaDB 普遍兼容对应的 MySQL 版本。这开启了无缝切换到 MariaDB 的可能性,而无需对利用程序代码库进行任何修改。
11、开源与专有数据库
MySQL是一个大型项目,由世界上最大的组织之一——甲骨文管理。这有其优点和缺点。好处是,这可能意味着更好的安全性、软件稳定性和量身定制的客户支持体验。但是,一个明显的缺点是在大型组织中发布新功能需要花费大量时间。
另外一方面,MariaDB是完全开源的,他们在接受外部贡献并将其作为新功能和增强功能发布方面非常快。
总结:根据MariaDB和MySQL的区分,二者都各自优势和劣势,都有理由选择其中之一,因此小编建议大家根据自己需求进行选择。
TOP