發(fā)布于:2021-01-27 11:42:51
0
249
0
作為clustercontrol1.5版本的一部分,我們現(xiàn)在提供對(duì)MariaDB版本10.2的完全支持。這個(gè)新版本提供了與Galera Cluster(MariaDB的HA解決方案)更大的集成,還增強(qiáng)了類(lèi)似SQL的窗口函數(shù)、公共表表達(dá)式和JSON函數(shù)。
MariaDB是增長(zhǎng)最快的開(kāi)放源代碼數(shù)據(jù)庫(kù),通過(guò)它在每個(gè)主要的Linux發(fā)行版中的應(yīng)用,它覆蓋了全球超過(guò)6000萬(wàn)的開(kāi)發(fā)人員,并且在世界領(lǐng)先的云提供商中也有越來(lái)越多的應(yīng)用。它在Linux發(fā)行版和云平臺(tái)上的廣泛使用,以及它的易用性,使得MariaDB迅速成為現(xiàn)代企業(yè)的開(kāi)源數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)。
MariaDB服務(wù)器在最近的OpenStack調(diào)查中被列為當(dāng)今使用的第一和第二大數(shù)據(jù)庫(kù)技術(shù)。
10.2版有什么新功能?
mariadbserver10.1引入了Galera集群的默認(rèn)內(nèi)置集成,允許其用戶(hù)實(shí)現(xiàn)最終的高可用性。Severlnines是這種集群技術(shù)的早期采用者,很高興看到MariaDB將其用于HA。
以下是MariaDB宣布的10.2新版本中包含的一些增強(qiáng)功能:
窗口函數(shù),通用表表達(dá)式和JSON函數(shù)之類(lèi)的SQL增強(qiáng)功能為MariaDB Server提供了新的用例。
標(biāo)準(zhǔn)MariaDB Server復(fù)制具有進(jìn)一步的優(yōu)化。
刪除了許多區(qū)域限制,這使使用更容易,并且不需要在應(yīng)用程序級(jí)別進(jìn)行限制處理。
引入了由Facebook開(kāi)發(fā)的新存儲(chǔ)引擎MyRocks,它將進(jìn)一步豐富MariaDB Server的用例(注:該新存儲(chǔ)引擎現(xiàn)在也可用于ClusterControl中的MariaDB部署,但是ClusterControl尚不支持MyRocks特定的監(jiān)視)。
窗口功能
窗口功能在商業(yè)智能(BI)中很流行,在BI中,需要根據(jù)數(shù)據(jù)的子集(如國(guó)家或銷(xiāo)售團(tuán)隊(duì)指標(biāo))生成更復(fù)雜的報(bào)告。另一個(gè)常見(jiàn)的用例是,基于時(shí)間序列的數(shù)據(jù)應(yīng)該基于一個(gè)時(shí)間窗口進(jìn)行聚合,而不僅僅是一個(gè)當(dāng)前記錄,就像某個(gè)時(shí)間跨度內(nèi)的所有行一樣。
隨著分析對(duì)最終用戶(hù)越來(lái)越重要,窗口函數(shù)提供了一種編寫(xiě)性能優(yōu)化的分析SQL查詢(xún)的新方法,這種方法易于閱讀和維護(hù),并且無(wú)需編寫(xiě)昂貴的子查詢(xún)和自連接。
常用表表達(dá)式
分層和遞歸查詢(xún)通常使用公共表表達(dá)式(cte)實(shí)現(xiàn)。它們類(lèi)似于FROM子句中的派生表,但是通過(guò)使用identification關(guān)鍵字,優(yōu)化器可以生成更高效的查詢(xún)計(jì)劃。作為自動(dòng)創(chuàng)建的臨時(shí)和命名結(jié)果集(僅在查詢(xún)時(shí)有效),它可以用于遞歸和分層執(zhí)行,還允許重用臨時(shí)數(shù)據(jù)集。擁有一個(gè)專(zhuān)用的方法也有助于創(chuàng)建更具表現(xiàn)力和更清晰的SQL代碼。
JSON函數(shù)
JSON(JavaScript Object Notation)是一種基于文本的、與平臺(tái)無(wú)關(guān)的數(shù)據(jù)交換格式,它不僅用于交換數(shù)據(jù),還可以作為存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)的一種格式。MariaDB server10.2提供了超過(guò)24個(gè)JSON函數(shù),允許查詢(xún)、修改、驗(yàn)證和索引JSON格式的數(shù)據(jù),這些數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)的基于文本的字段中。因此,MariaDB強(qiáng)大的關(guān)系模型可以在需要時(shí)通過(guò)處理非結(jié)構(gòu)化數(shù)據(jù)來(lái)豐富。
通過(guò)使用虛擬列、JSON函數(shù)、JSON_值和MariaDB Server 10.2在虛擬列上的最新索引功能,JSON值將自動(dòng)從JSON字符串中提取,存儲(chǔ)在虛擬列中并索引,從而提供對(duì)JSON字符串的最快訪(fǎng)問(wèn)。
使用JSON函數(shù)JSONu VALID,MariaDB Server 10.2中的新檢查約束保證只能將正確JSON格式的JSON字符串添加到字段中。
基于二進(jìn)制日志的回滾
MariaDB Server 10.2提供的增強(qiáng)mysqlbinlog實(shí)用程序包括一個(gè)新的時(shí)間點(diǎn)回滾函數(shù),該函數(shù)允許數(shù)據(jù)庫(kù)或表恢復(fù)到以前的狀態(tài),并提供基于二進(jìn)制日志的已提交數(shù)據(jù)回滾。mysqlbinlog工具沒(méi)有直接修改任何數(shù)據(jù),而是生成一個(gè)“導(dǎo)出文件”,包括事務(wù)的還原語(yǔ)句,記錄在二進(jìn)制日志文件中。創(chuàng)建的文件可以與命令行客戶(hù)機(jī)或其他SQL工具一起使用,以執(zhí)行包含的SQL語(yǔ)句。這樣,所有提交到給定時(shí)間戳的事務(wù)都將回滾。
在解決添加、更改或刪除數(shù)據(jù)等邏輯錯(cuò)誤的情況下,到目前為止,唯一可能的方法是使用mysqlbinlog檢查事務(wù)并手動(dòng)修復(fù)問(wèn)題。但是,這通常會(huì)導(dǎo)致數(shù)據(jù)不一致,因?yàn)楦ǔV惶幚礤e(cuò)誤的語(yǔ)句,從而忽略其他數(shù)據(jù)依賴(lài)關(guān)系。
通常由DBA或用戶(hù)錯(cuò)誤引起,恢復(fù)一個(gè)巨大的數(shù)據(jù)庫(kù)會(huì)導(dǎo)致服務(wù)的嚴(yán)重中斷。使用時(shí)間點(diǎn)回滾回滾上一個(gè)事務(wù)只需要提取、簡(jiǎn)短的檢查和執(zhí)行還原的事務(wù)的時(shí)間—節(jié)省了寶貴的時(shí)間、資源和服務(wù)。
為什么選擇MariaDB?
有幾個(gè)MySQL選項(xiàng)可供選擇,為什么選擇MariaDB作為應(yīng)用程序的技術(shù)?以下是選擇MariaDB的一些好處:
MariaDB建立在一個(gè)現(xiàn)代的體系結(jié)構(gòu)之上,它可以擴(kuò)展到每一層:客戶(hù)機(jī)、集群、內(nèi)核和存儲(chǔ)。這種可擴(kuò)展性提供了兩個(gè)主要優(yōu)點(diǎn)。它允許通過(guò)插件進(jìn)行持續(xù)的社區(qū)創(chuàng)新,并使客戶(hù)能夠輕松地配置MariaDB,以支持從OLTP到OLAP的各種各樣的用例。
MariaDB開(kāi)發(fā)的特性和增強(qiáng)功能是其自己的路線(xiàn)圖的一部分,獨(dú)立于Oracle/MySQL。這使得MariaDB能夠接受和吸引更廣泛的社區(qū)創(chuàng)新,并添加內(nèi)部開(kāi)發(fā)的新功能,使其更容易從專(zhuān)有系統(tǒng)遷移到開(kāi)源MariaDB。
MariaDB的設(shè)計(jì)旨在保護(hù)每一層的數(shù)據(jù)庫(kù),使其成為一個(gè)可信任的通用數(shù)據(jù)庫(kù),用于需要最高級(jí)別安全功能的行業(yè),如政府和銀行業(yè)。
MariaDB提供對(duì)各種存儲(chǔ)引擎的支持,包括NoSQL支持,為用戶(hù)提供多種選擇,以確定最適合其環(huán)境的選項(xiàng)。
MariaDB部署了許多性能增強(qiáng)改進(jìn),包括查詢(xún)優(yōu)化,在一些基準(zhǔn)測(cè)試中,讓MariaDB的性能比配置類(lèi)似的MySQL環(huán)境高3-5%。
MariaDB的ClusterControl
ClusterControl為每種頂級(jí)技術(shù)提供支持:
MariaDB服務(wù)器:MariaDB服務(wù)器是一個(gè)通用數(shù)據(jù)庫(kù),采用可擴(kuò)展架構(gòu)設(shè)計(jì),通過(guò)可插拔存儲(chǔ)引擎(如InnoDB、MyRocks和Spider)支持廣泛的用例集。
內(nèi)置異步主/從復(fù)制
允許不同行在同一列中存儲(chǔ)不同數(shù)據(jù)的動(dòng)態(tài)列
內(nèi)置加密
查詢(xún)優(yōu)化
改進(jìn)了模式兼容性
MariaDB群集:MariaDB群集是為當(dāng)今的基于云的環(huán)境。它具有完全的讀寫(xiě)可擴(kuò)展性,具有同步復(fù)制功能,允許多主拓?fù)浣Y(jié)構(gòu),并保證沒(méi)有延遲或丟失事務(wù)。
同步復(fù)制,沒(méi)有從屬延遲或事務(wù)丟失
雙活多主拓?fù)?/span>
讀寫(xiě)任何集群節(jié)點(diǎn)
自動(dòng)成員資格控制,故障節(jié)點(diǎn)從集群中刪除
自動(dòng)節(jié)點(diǎn)加入
真正的行級(jí)并行復(fù)制
直接客戶(hù)端連接,本機(jī)MariaDB外觀(guān)
讀寫(xiě)可擴(kuò)展性
MariaDB MaxScale: MariaDB MaxScale是一種數(shù)據(jù)庫(kù)代理,可擴(kuò)展MariaDB Server的高可用性,可伸縮性和安全性,同時(shí)通過(guò)將其與基礎(chǔ)數(shù)據(jù)庫(kù)基礎(chǔ)架構(gòu)分離而簡(jiǎn)化了應(yīng)用程序開(kāi)發(fā)。
包括數(shù)據(jù)庫(kù)防火墻和DoS保護(hù)
讀寫(xiě)分離
數(shù)據(jù)屏蔽
基于架構(gòu)的分片
查詢(xún)緩存
作者介紹
熱門(mén)博客推薦