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站點中找到有關(guān)MySQL流行程度的更具體示例。數(shù)據(jù)庫系統(tǒng)允許用戶存儲博客文章、用戶和插件信息。
1、性能比較
與 MySQL相比,MariaDB 幾項優(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”的形式提供了另一個強大的性能改進(jìn),它是一種分布式數(shù)據(jù)架構(gò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 的形式引入了另一項性能改進(jìn)。在典型的緩存中,不同的線程競爭對緩存條目進(jìn)行鎖定。這些鎖稱為互斥鎖。當(dāng)多個線程競爭一個互斥鎖時,只有其中一個能夠獲得它,而其他線程必須等待鎖被釋放才能執(zhí)行操作。這會導(dǎo)致這些線程中的執(zhí)行延遲,從而降低數(shù)據(jù)庫性能。
在分段鍵緩存的情況下,線程不需要鎖定整個頁面,但它可以只鎖定頁面所屬的特定段。這有助于多個線程并行工作,從而提高應(yīng)用程序的并行性,從而提高數(shù)據(jù)庫的性能。
6、虛擬列
MariaDB 另一個有趣的特性是它支持虛擬列。這些列能夠在數(shù)據(jù)庫級別執(zhí)行計算。這在許多應(yīng)用程序訪問同一列時非常有用,因此無需在每個應(yīng)用程序中編寫計算。此功能在 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 提供了幾個開箱即用的強大存儲引擎,這些引擎在 MySQL 中不可用。例如,XtraDB、Aria 等。要為 MySQL 設(shè)置這些存儲引擎,您需要手動安裝它們,這可能不是最方便的過程。
10、兼容性
MariaDB 團(tuán)隊正在確保 MariaDB 可以在現(xiàn)有應(yīng)用程序中無縫替換 MySQL。事實上,對于每個版本的 MySQL,他們發(fā)布相同的 MariaDB 版本號,表示 MariaDB 普遍兼容對應(yīng)的 MySQL 版本。這開啟了無縫切換到 MariaDB 的可能性,而無需對應(yīng)用程序代碼庫進(jìn)行任何修改。
11、開源與專有數(shù)據(jù)庫
MySQL是一個大型項目,由世界上最大的組織之一——甲骨文管理。這有其優(yōu)點和缺點。好處是,這可能意味著更好的安全性、軟件穩(wěn)定性和量身定制的客戶支持體驗。然而,一個顯著的缺點是在大型組織中發(fā)布新功能需要花費大量時間。
另一方面,MariaDB是完全開源的,他們在接受外部貢獻(xiàn)并將其作為新功能和增強功能發(fā)布方面非???。
總結(jié):根據(jù)MariaDB和MySQL的區(qū)別,兩者都各自優(yōu)缺點,都有理由選擇其中之一,因此小編建議大家根據(jù)自己需求進(jìn)行選擇。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站