自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不容錯過的MySQL和MariaDB七項功能

譯文
數(shù)據(jù)庫 MySQL MariaDB
了解MySQL和MariaDB的這些強大功能,以提升你的現(xiàn)代應(yīng)用程序。在過去這幾年,開源關(guān)系數(shù)據(jù)庫管理系統(tǒng)MySQL和MariaDB經(jīng)歷了巨大的變化:新增和改進功能、修復(fù)長期存在的問題以及全面提升性能。

【51CTO.com快譯】在過去這幾年,開源關(guān)系數(shù)據(jù)庫管理系統(tǒng)MySQL和MariaDB經(jīng)歷了巨大的變化:新增和改進功能、修復(fù)長期存在的問題以及全面提升性能。

由于變化很大,很容易錯過MySQL和MariaDB在此期間添加的一些優(yōu)秀功能。本文將介紹添加到MySQL、MariaDB或兩者的七項最主要的新功能以及為什么你應(yīng)使用它們。

1.JSON支持

NoSQL數(shù)據(jù)庫出現(xiàn)時,承諾開發(fā)人員易于使用、可靈活擴展,許多人想知道關(guān)系數(shù)據(jù)庫是否會消失。簡短的回答:根本沒有消失。NoSQL系統(tǒng)方便又靈活,但模式(schema)和表始終會有一席之地。

此外,許多老式關(guān)系數(shù)據(jù)庫(包括MySQL和MariaDB)借鑒了NoSQL,添加了JSON支持這項標準功能。最終結(jié)果是,你需要時可使用NoSQL,而同一數(shù)據(jù)庫中還有傳統(tǒng)SQL。

MySQL和MariaDB中的JSON支持讓你可以將JSON文件插入到特別指定的表列中。插入的JSON數(shù)據(jù)可以使用用于其他數(shù)據(jù)列的同一種約束加以自動驗證。你可以將數(shù)據(jù)檢索為JSON文檔或簡單標量,可以使用生成的列或虛擬的列獲得類似JSON索引的效果。

這里有兩個要點值得記住。首先,雖然MySQL和MariaDB中的JSON處理函數(shù)集相似,但它們不是彼此的簡易替代者。其次,MySQL和MariaDB實現(xiàn)原生JSON列數(shù)據(jù)類型的機制也不一樣。如果你在兩個數(shù)據(jù)庫之間遷移或同步數(shù)據(jù),這會導(dǎo)致輕微的不兼容性,需要注意。

2.資源組(僅限于MySQL)

所有數(shù)據(jù)庫作業(yè)都很重要,但一些作業(yè)比其他作業(yè)更緊迫。比如說,你可能希望在后臺運行歸檔或計劃批處理任務(wù)等作業(yè),同時確保盡可能快速地執(zhí)行關(guān)鍵業(yè)務(wù)工作。MySQL的資源組使其成為可能。

使用資源組,你可以為分配給該組的所有數(shù)據(jù)庫作業(yè)指定類型(“系統(tǒng)”或“用戶”)、CPU親和性以及線程優(yōu)先級。你可以為會話選擇資源組,也可以使用優(yōu)化器提示為單個語句選擇一個資源組。

注意,資源組在MySQL平臺上的實現(xiàn)方式不同,你不能將資源組與企業(yè)線程池插件結(jié)合使用。此外,雖然有一項功能請求在MariaDB中實現(xiàn)類似的功能,但還沒有計劃實現(xiàn)該功能。

3.OQGRAPH存儲引擎(僅限于MariaDB)

圖形數(shù)據(jù)庫讓你可以比使用關(guān)系數(shù)據(jù)庫更有效地存儲和探索數(shù)據(jù)之間的關(guān)系。雖然像Neo4j或Amazon Neptune這種專用圖形數(shù)據(jù)庫專注于圖形存儲和處理,但MariaDB讓你可以通過OQGRAPH存儲引擎,將傳統(tǒng)的SQL查詢與圖形處理一并執(zhí)行。

大多數(shù)圖形數(shù)據(jù)庫使用各自的自定義查詢語言。借助OQGRAPH,你可以使用傳統(tǒng)SQL加載數(shù)據(jù)并構(gòu)建圖形查詢。結(jié)果以MariaDB的傳統(tǒng)查詢格式返回,因此可以與傳統(tǒng)SQL表查詢的結(jié)果相結(jié)合或組合。

4.Oracle兼容性功能(僅限于MariaDB)

Oracle的數(shù)據(jù)庫產(chǎn)品仍然是所有IT中使用最廣泛的產(chǎn)品,但其許可成本和合同限制使許多用戶考慮退出。此外,許多基于Oracle的應(yīng)用程序大量使用Oracle PL/SQL及其語法所獨有的功能。

在過去的幾個版本中,MariaDB推出了大量新功能,旨在模仿Oracle數(shù)據(jù)庫的行為,尤其是Oracle的PL/SQL語言。從理論上來說,這讓許多現(xiàn)有的PL/SQL代碼可以在MariaDB中按原樣運行,或者只需稍作修改。MariaDB團隊估計,使用兼容性功能,大約80%的舊版Oracle PL/SQL可以按原樣運行。

注意:使用Oracle PL/SQL模式的MariaDB命令針對具體的客戶端才生效。你無需全局更改MariaDB的行為即可使用該功能。

5.系統(tǒng)版本表(MariaDB)

2011版SQL標準添加了版本表,即數(shù)據(jù)庫跟蹤表行的功能。MariaDB在10.3.4版本中添加了系統(tǒng)版本表這項原生功能。

有了MariaDB的系統(tǒng)版本表,你可以使用特定的時間范圍來運行查詢,得到的結(jié)果會在該時間段內(nèi)顯示。你還可以修改或刪除屬于日期范圍的行,添加或刪除要跟蹤的時間段,以及使用在應(yīng)用程序級別、系統(tǒng)級別或這兩個級別指定的時間段。從理論上來講,你可以對任何支持時間值的數(shù)據(jù)庫執(zhí)行該操作,但很難自行執(zhí)行;MariaDB在底層執(zhí)行這項工作。

雖然MariaDB中為任何數(shù)據(jù)庫引擎支持系統(tǒng)版本表,但一些功能(比如顯示特定事務(wù)中間記錄的事務(wù)精確歷史記錄)只有使用InnoDB引擎才能享用。

6.ColumnStore存儲引擎/ InfiniDB(MariaDB)

MariaDB和MySQL中的可插入式存儲引擎技術(shù)允許兩個數(shù)據(jù)庫都可以極大地擴展原生功能。其中一個存儲引擎ColumnStore將MariaDB變成了列存儲數(shù)據(jù)庫。(ColumnStore不適用于MySQL,但項目ColumnStore源自InfiniDB,使用MySQL來執(zhí)行查詢。)

列存儲是高速查詢大量數(shù)據(jù)的理想選擇。OLAP系統(tǒng)使用列存儲,因此ColumnStore相當于在MariaDB中提供類似OLAP的功能,而不依賴Teradata或Greenplum這樣的外部(通常是商業(yè))產(chǎn)品。ColumnStore并不提供那些產(chǎn)品隨附的一整套開箱即用的分析或數(shù)據(jù)編排功能,但它可以為內(nèi)部分析解決方案提供數(shù)據(jù)層。

7.Spider存儲引擎

功能越強大,就越難部署到生產(chǎn)環(huán)境。數(shù)據(jù)庫分片就是這樣一項功能,該功能將數(shù)據(jù)庫分割到多臺服務(wù)器上以提升性能,這通常需要大量的修改和調(diào)整。

MariaDB 10.3.4(及更高版本)借助Spider這種擁有內(nèi)置分片和數(shù)據(jù)分區(qū)功能的存儲引擎簡化了這項工作。Spider支持幾種不同的模式:簡單聯(lián)合、高可用性、分片以及分片加高可用性。

Spider確實與MariaDB用于負載均衡、代理、故障切換和高可用性的系統(tǒng)MaxScale在功能上有一些重疊。MaxScale的使用范圍比Spider廣泛得多,但如果你想在較一般的部署環(huán)境中充分利用分片功能,Spider很有用。

Spider最初只是MySQL插件,它仍然以這種方式供MySQL用戶使用。兩個版本中的絕大多數(shù)功能都一樣,只有少數(shù)例外。

原文標題:7 MySQL and MariaDB features you don’t want to miss,作者:Serdar Yegulalp

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責任編輯:華軒 來源: 51CTO
相關(guān)推薦

2017-07-25 14:15:10

2016-02-29 15:00:48

RSA/信息安全

2020-02-06 09:00:00

ESES2020前端

2016-08-18 10:36:26

Linux紅帽CentOS

2015-09-17 17:37:57

工具程序開源

2023-06-29 17:53:00

VSCode插件程序

2014-07-10 10:56:21

jQuery

2019-10-29 09:00:00

AIOps人工智能

2022-09-22 16:17:12

css編程語言開發(fā)

2013-08-19 10:45:42

華為HCC大會HCC2013華為

2019-07-11 12:14:38

黑帽網(wǎng)絡(luò)安全漏洞

2020-05-08 09:13:48

前端開發(fā)

2024-01-31 11:55:16

數(shù)據(jù)分析數(shù)據(jù)計算收支

2023-08-03 07:44:09

MSBuild.NET

2014-08-26 10:38:23

AppAndroid Wea應(yīng)用

2011-03-01 09:17:34

Linux命令行

2020-01-14 10:17:13

深度學習人生第一份工作人工智能

2020-08-05 10:13:14

JavaScript開發(fā)

2024-01-18 00:00:00

開發(fā)框架Port

2024-01-25 18:08:57

CSSHTML文件
點贊
收藏

51CTO技術(shù)棧公眾號