< 返回新聞公共列表

MariaDB和MySQL有什么區(qū)別?

發(fā)布時間:2022-07-07 14:31:00

MariaDB和MySQL有什么區(qū)別?在本文中,小編將和大家一起看看。


一、什么是MariaDB?

MariaDB是MySQL關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS) 的開源分支。由于擔(dān)心甲骨文收購MySQL,2009 年開發(fā)人員(包括一些最初從事 MySQL 工作的開發(fā)人員)創(chuàng)建了分支。作為MySQL的一個分支,MariaDB與前者非常兼容。

它支持與MySQL相同的功能,但還具有其他功能,我們將在下面看到。一些最重要的特性是新的存儲引擎、JSON API 支持和并行數(shù)據(jù)復(fù)制。


二、什么是 MySQL?

MySQL是一種 RDBMS,可讓您將數(shù)據(jù)存儲在表中并對其進(jìn)行操作。它由 Michael Widenius于1996年首次發(fā)布,他現(xiàn)在是MariaDB的首席開發(fā)人員。

MySQL是世界上最流行的 RDBMS,并被一些最大的科技公司和平臺使用。這包括 Facebook、YouTube 和Twitter。

可以在WordPress站點(diǎn)中找到有關(guān)MySQL流行程度的更具體示例。數(shù)據(jù)庫系統(tǒng)允許用戶存儲博客文章、用戶和插件信息。


MariaDB和MySQL有什么區(qū)別?.png


三、MariaDB和MySQL的區(qū)別

1、性能比較

與 MySQL相比,MariaDB 幾項(xiàng)優(yōu)化往往會提高性能。一般來說,當(dāng)談到 MySQL 與 MariaDB的性能時,后者顯然更好。

2、數(shù)據(jù)庫視圖

關(guān)于數(shù)據(jù)庫“視圖”有一個巨大的性能優(yōu)化?!耙晥D”本質(zhì)上是虛擬數(shù)據(jù)庫表,可以像數(shù)據(jù)庫的常規(guī)表一樣進(jìn)行查詢。

在MySQL中,當(dāng)您查詢視圖時,將查詢連接到該視圖的所有表,而不管查詢可能不需要其中一些表。這已在MariaDB中進(jìn)行了優(yōu)化,其中查詢僅針對那些需要的表。

3、列存儲

MariaDB以“ColumnStore”的形式提供了另一個強(qiáng)大的性能改進(jìn),它是一種分布式數(shù)據(jù)架構(gòu),可以極大地?cái)U(kuò)展 MariaDB。它可以線性擴(kuò)展以跨數(shù)據(jù)庫集群中的各種服務(wù)器存儲數(shù) PB 的數(shù)據(jù)。

4、更好的閃存存儲性能

MariaDB 還提供了一個 MyRocks 存儲引擎,可以將 RocksDB 數(shù)據(jù)庫添加到其中。RocksDB 是一種數(shù)據(jù)庫,旨在通過提供更高級別的數(shù)據(jù)壓縮來提高閃存存儲的性能。

5、分段密鑰緩存

MariaDB 以 Segmented Key Cache 的形式引入了另一項(xiàng)性能改進(jìn)。在典型的緩存中,不同的線程競爭對緩存條目進(jìn)行鎖定。這些鎖稱為互斥鎖。當(dāng)多個線程競爭一個互斥鎖時,只有其中一個能夠獲得它,而其他線程必須等待鎖被釋放才能執(zhí)行操作。這會導(dǎo)致這些線程中的執(zhí)行延遲,從而降低數(shù)據(jù)庫性能。

在分段鍵緩存的情況下,線程不需要鎖定整個頁面,但它可以只鎖定頁面所屬的特定段。這有助于多個線程并行工作,從而提高應(yīng)用程序的并行性,從而提高數(shù)據(jù)庫的性能。

6、虛擬列

MariaDB 另一個有趣的特性是它支持虛擬列。這些列能夠在數(shù)據(jù)庫級別執(zhí)行計(jì)算。這在許多應(yīng)用程序訪問同一列時非常有用,因此無需在每個應(yīng)用程序中編寫計(jì)算。此功能在 MySQL 中不可用。

7、并行執(zhí)行查詢

MariaDB v10.0 及更高版本允許并行執(zhí)行多個查詢。這個想法是來自主服務(wù)器的一些查詢可以在從服務(wù)器中復(fù)制,因此可以并行執(zhí)行。這種查詢執(zhí)行的并行性無疑為 MariaDB 提供了優(yōu)于 MySQL 的優(yōu)勢。

8、線程池

MariaDB 還引入了一個名為“線程池”的新概念。以前,當(dāng)需要到數(shù)據(jù)庫的多個連接時,對于每個連接,都會打開一個線程,從而形成基于“每個連接一個線程”的架構(gòu)。

使用“線程池”,新連接可以獲取并查詢數(shù)據(jù)庫的開放線程池。這樣,不需要為每個新的連接請求打開一個新線程,從而導(dǎo)致更快的查詢結(jié)果。此功能在 MySQL 的企業(yè)版中可用,但在社區(qū)版中不可用。

9、存儲引擎

MariaDB 提供了幾個開箱即用的強(qiáng)大存儲引擎,這些引擎在 MySQL 中不可用。例如,XtraDB、Aria 等。要為 MySQL 設(shè)置這些存儲引擎,您需要手動安裝它們,這可能不是最方便的過程。

10、兼容性

MariaDB 團(tuán)隊(duì)正在確保 MariaDB 可以在現(xiàn)有應(yīng)用程序中無縫替換 MySQL。事實(shí)上,對于每個版本的 MySQL,他們發(fā)布相同的 MariaDB 版本號,表示 MariaDB 普遍兼容對應(yīng)的 MySQL 版本。這開啟了無縫切換到 MariaDB 的可能性,而無需對應(yīng)用程序代碼庫進(jìn)行任何修改。

11、開源與專有數(shù)據(jù)庫

MySQL是一個大型項(xiàng)目,由世界上最大的組織之一——甲骨文管理。這有其優(yōu)點(diǎn)和缺點(diǎn)。好處是,這可能意味著更好的安全性、軟件穩(wěn)定性和量身定制的客戶支持體驗(yàn)。然而,一個顯著的缺點(diǎn)是在大型組織中發(fā)布新功能需要花費(fèi)大量時間。

另一方面,MariaDB是完全開源的,他們在接受外部貢獻(xiàn)并將其作為新功能和增強(qiáng)功能發(fā)布方面非???。


總結(jié):根據(jù)MariaDB和MySQL的區(qū)別,兩者都各自優(yōu)缺點(diǎn),都有理由選擇其中之一,因此小編建議大家根據(jù)自己需求進(jìn)行選擇。



/template/Home/Zkeys724/PC/Static