溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL重大新增的功能有哪些

發(fā)布時(shí)間:2021-10-22 10:35:14 來源:億速云 閱讀:155 作者:iii 欄目:數(shù)據(jù)庫

這篇文章主要講解了“MySQL重大新增的功能有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL重大新增的功能有哪些”吧!

一、MySQL的天然短板“數(shù)據(jù)分析”

MySQL,作為最為流行的一款開源數(shù)據(jù)庫,已經(jīng)得到非常廣泛地使用。從最新的db-engines指數(shù)可以看出,其在數(shù)據(jù)庫領(lǐng)域中占據(jù)了重要的位置。

MySQL重大新增的功能有哪些

但作為一款如此流行的數(shù)據(jù)庫產(chǎn)品,其存在一個(gè)明顯的短板就是數(shù)據(jù)分析。相信MySQL使用者都有這種感覺,在大規(guī)模數(shù)據(jù)情況下MySQL有些力不從心。盡管其內(nèi)核也在不斷加強(qiáng)這方面的能力(如最新8.0支持hash join、直方圖等),但相較于其他數(shù)據(jù)庫仍然存在一定劣勢(shì)。其核心在于MySQL原生是為OLTP場(chǎng)景設(shè)計(jì)的,并沒有考慮OLAP場(chǎng)景。

雖然也有一些廠商通過擴(kuò)展其存儲(chǔ)引擎,增強(qiáng)其數(shù)據(jù)分析能力,但總體來講還是不盡如人意。于是,通常的一種選擇就是在數(shù)據(jù)分析時(shí),不得不將數(shù)據(jù)遷移到另一種數(shù)據(jù)庫/大數(shù)據(jù)架構(gòu)中。通過后者,去完成數(shù)據(jù)分析工作。在這一過程中,需要開發(fā)者自己定義ETL邏輯(可能基于日志解析或邏輯數(shù)據(jù)抽取),完成數(shù)據(jù)遷移。同時(shí),在運(yùn)行中需時(shí)刻關(guān)注數(shù)據(jù)同步,保證數(shù)據(jù)有效性。在使用上,還需編寫單獨(dú)的語句(異構(gòu)數(shù)據(jù)源的語句),來完成數(shù)據(jù)分析動(dòng)作。

整個(gè)這一過程,無疑對(duì)用戶來說具有一定的使用門檻,且需要花費(fèi)額外的精力去解決這一問題。相信Oracle原廠也是看到這一問題,因而推出了MySQL Analytics Engine。

二、MAE到底是個(gè)啥?

MySQL Analytics Engine(簡(jiǎn)稱MAE),籠統(tǒng)來說是一款內(nèi)置的分析引擎。通過它與MySQL Database的組合,可以使得數(shù)據(jù)庫管理員和應(yīng)用程序開發(fā)人員能夠直接將MySQL數(shù)據(jù)庫作為OLTP和OLAP工作負(fù)載的統(tǒng)一服務(wù)。其提供的“MySQL Database Service with Analytics Engine”,是由一個(gè)MySQL DB實(shí)例和多個(gè)分析節(jié)點(diǎn)組成。當(dāng)分析功能被啟用時(shí),分析服務(wù)將被安裝在DB實(shí)例上,其負(fù)責(zé)集群管理、數(shù)據(jù)加載、查詢執(zhí)行等。從用戶角度來看,可以通過標(biāo)準(zhǔn)的MySQL JDBC/ODBC Connector來連接使用。下面我們?cè)敿?xì)展開看看。

MySQL重大新增的功能有哪些

首先從整體使用來看,對(duì)外提供統(tǒng)一的MySQL Database Service。用戶仍然是通過傳統(tǒng)的方式去使用它,無論是OLTP還是OLAP場(chǎng)景。在這個(gè)服務(wù)的內(nèi)部,是包括了傳統(tǒng)的OLTP引擎和新的Analytics引擎。在數(shù)據(jù)上,也是存在兩份。前者仍然保存在例如InnoDB這樣的存儲(chǔ)引擎之中,后者則保存在一組節(jié)點(diǎn)構(gòu)成集群的內(nèi)存之中。正常事務(wù)操作帶來的數(shù)據(jù)變化,會(huì)透明地傳播到后面的分析集群中,以加速分析處理。這樣就使得客戶可以在單個(gè)數(shù)據(jù)庫平臺(tái)上同時(shí)運(yùn)行OLTP和OLAP工作負(fù)載。簡(jiǎn)言之,就是兩個(gè)計(jì)算引擎、兩份數(shù)據(jù)存儲(chǔ)。

MySQL重大新增的功能有哪些

MAE的核心工作思想就是“化大為小”,通過分區(qū)機(jī)制,將數(shù)據(jù)打散后利用獨(dú)立的CPU資源進(jìn)行處理。處理后的結(jié)果統(tǒng)一返回。

MySQL重大新增的功能有哪些

在MAE內(nèi)部,由多個(gè)分析節(jié)點(diǎn)組成。其具體節(jié)點(diǎn)數(shù)量,可由MySQL分析引擎提供的自動(dòng)配置顧問自動(dòng)獲得。在節(jié)點(diǎn)中,數(shù)據(jù)以一種混合列壓縮的格式存儲(chǔ)。這有助于向量化處理,從而獲得非常好的查詢性能。數(shù)據(jù)在內(nèi)存中運(yùn)行之前被編碼和壓縮。這種壓縮和優(yōu)化的內(nèi)存使用,對(duì)于數(shù)值和字符串?dāng)?shù)據(jù)尤為顯著,可提高性能并減少內(nèi)存占用,從而為客戶降低成本。同時(shí)在每個(gè)節(jié)點(diǎn)中使用并行操作技術(shù),這為分析提供了高緩存命中率,并提供良好的節(jié)點(diǎn)間可伸縮性。集群內(nèi)的每個(gè)分析節(jié)點(diǎn)和節(jié)點(diǎn)內(nèi)的每個(gè)核心都可以并行處理分區(qū)數(shù)據(jù),包括并行掃描、連接、分組、聚合和top-k處理。

MySQL重大新增的功能有哪些

MySQL分析引擎為分布式內(nèi)存分析處理實(shí)現(xiàn)了最新的算法。通過使用向量化的構(gòu)建和探測(cè)連接內(nèi)核,可以快速處理分區(qū)內(nèi)的連接。通過使用異步批處理I/O,優(yōu)化了分析節(jié)點(diǎn)之間的網(wǎng)絡(luò)通信。算法的設(shè)計(jì)是為了使計(jì)算時(shí)間與跨節(jié)點(diǎn)的數(shù)據(jù)通信重疊,這有助于實(shí)現(xiàn)良好的可伸縮性。

MySQL重大新增的功能有哪些

MySQL分析引擎與MySQL數(shù)據(jù)庫服務(wù)的集成為企業(yè)的所有OLTP和分析需求提供了一個(gè)單一的數(shù)據(jù)管理平臺(tái)。MySQL分析引擎被設(shè)計(jì)成一個(gè)MySQL可插拔存儲(chǔ)引擎,它完全屏蔽了存儲(chǔ)層的所有底層實(shí)現(xiàn)細(xì)節(jié),不讓最終用戶看到。用戶和應(yīng)用程序通過集群中的MySQL數(shù)據(jù)庫節(jié)點(diǎn)與MySQL分析交互。用戶通過標(biāo)準(zhǔn)工具和基于標(biāo)準(zhǔn)的ODBC/JDBC連接器連接到MySQL分析引擎。

MySQL分析引擎支持與MySQL相同的ANSI SQL標(biāo)準(zhǔn)和ACID屬性,并支持不同的數(shù)據(jù)類型。這使得現(xiàn)有的應(yīng)用程序無需對(duì)其應(yīng)用程序進(jìn)行任何更改就可以利用MySQL分析引擎,從而實(shí)現(xiàn)簡(jiǎn)單快速的集成。一旦用戶向MySQL數(shù)據(jù)庫提交查詢,MySQL查詢優(yōu)化器就會(huì)透明地決定是否將查詢卸載到分析集群以加速執(zhí)行。這是基于MySQL分析引擎是否支持查詢中引用的所有操作符和函數(shù)并且使用分析引擎處理查詢的估計(jì)時(shí)間比在MySQL中更少時(shí),查詢將被下推到分析節(jié)點(diǎn)進(jìn)行處理。處理之后,結(jié)果被發(fā)送回MySQL數(shù)據(jù)庫節(jié)點(diǎn)并返回給用戶。

MySQL重大新增的功能有哪些

由于MySQL分析引擎是一個(gè)內(nèi)存處理引擎,數(shù)據(jù)被持久化到MySQL InnoDB存儲(chǔ)引擎中。對(duì)表的任何更新都會(huì)自動(dòng)實(shí)時(shí)地傳播到分析節(jié)點(diǎn)的內(nèi)存中。這使得后續(xù)查詢始終能夠訪問最新的數(shù)據(jù)。這是通過一個(gè)輕量級(jí)的更改傳播算法在后臺(tái)完成的,該算法可以跟上MySQL的數(shù)據(jù)更新率。同步原理未說明?

三、MAE能為我們帶來什么?

從產(chǎn)品角度來看,MySQL Analytics Engine是一種云原生服務(wù),專門在Oracle云基礎(chǔ)設(shè)施中提供,為分析工作負(fù)載提供了令人信服的性能和成本。使用MySQL數(shù)據(jù)庫管理企業(yè)數(shù)據(jù)的組織現(xiàn)在可以使用MySQL分析引擎運(yùn)行分析查詢,性能顯著提高,成本更低,不需要ETL,并且支持實(shí)時(shí)分析。該服務(wù)可以只部署在云中,也可以部署在混合環(huán)境中,它簡(jiǎn)化了事務(wù)和分析應(yīng)用程序的管理。從其推出產(chǎn)品上,可歸納為以下幾個(gè)理念:

ONE DB

這一產(chǎn)品最核心價(jià)值點(diǎn)就是統(tǒng)一處理場(chǎng)景。之前MySQL的在處理混合業(yè)務(wù)場(chǎng)景是不得不使用下面方式(如下圖):

MySQL重大新增的功能有哪些

通過引入MAE,增強(qiáng)MySQL能力,達(dá)到統(tǒng)一效果。

MySQL重大新增的功能有哪些

ONE SQL

第二個(gè)價(jià)值點(diǎn)在于,不僅僅是統(tǒng)一平臺(tái),而且使用同樣的交互方式。原有的邏輯,不需要做任何的改變。無論是前端的事務(wù)交易場(chǎng)景,還是后端的數(shù)據(jù)可視化分析,均不需要做改變。這無疑對(duì)用戶的吸引力很大,可以有效保護(hù)用戶的已有軟件資產(chǎn)。

MySQL重大新增的功能有哪些

NO ETL

對(duì)用戶來說,不在需要關(guān)心數(shù)據(jù)同步的細(xì)節(jié),不需要編寫額外的ETL作業(yè)。這將大大減少用戶的負(fù)擔(dān)。

NO TUNING

在MAE之前,用戶如果想解決數(shù)據(jù)分析問題,無外乎兩種。要么在庫內(nèi)解決,要么在庫外解決。在庫內(nèi)解決的話,需要對(duì)MySQL做大量的優(yōu)化工作或者采取針對(duì)分析場(chǎng)景的存儲(chǔ)引擎,這些都帶來了優(yōu)化的工作量。對(duì)于庫外方案同樣如此,用戶需要自己完成優(yōu)化工作。

而使用MAE則不需要顧慮這點(diǎn)。其利用了Oracle實(shí)驗(yàn)室開發(fā)的自動(dòng)機(jī)器學(xué)習(xí)(AutoML)功能來自動(dòng)化服務(wù)的各個(gè)方面。由于這種自動(dòng)化是基于機(jī)器學(xué)習(xí)的,系統(tǒng)可以智能地預(yù)測(cè)各種場(chǎng)景并采取行動(dòng),包括自動(dòng)估算工作負(fù)載所需的分析節(jié)點(diǎn)數(shù)量。

當(dāng)服務(wù)啟動(dòng)時(shí),需要將運(yùn)行分析查詢的數(shù)據(jù)庫表加載到MySQL分析集群內(nèi)存中。所需集群的大小取決于加載所需的表和列,以及此數(shù)據(jù)在內(nèi)存中實(shí)現(xiàn)的壓縮。在傳統(tǒng)的配置中,用戶需要猜測(cè)集群的大小。由于空間限制,低估會(huì)導(dǎo)致數(shù)據(jù)加載或查詢執(zhí)行失敗。高估會(huì)導(dǎo)致不必要資源的額外成本。因此,用戶會(huì)不斷迭代,直到確定正確的集群大小,當(dāng)更新表時(shí),這種大小估計(jì)就會(huì)變得不準(zhǔn)確。而MAE則可自動(dòng)完成上述過程。

HIGH PERFORMANCE

MAE作為一種分布式、可伸縮、內(nèi)存型、混合列式查詢引擎,其通過內(nèi)存中的矢量化處理及大規(guī)模節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)并行處理來極速性能。同時(shí)查詢處理已針對(duì)Oracle云基礎(chǔ)設(shè)施做了優(yōu)化,包括節(jié)點(diǎn)間網(wǎng)絡(luò)帶寬優(yōu)化等。通過上述能力,MAE提供了強(qiáng)大的分析能力。下面是針對(duì)其主要競(jìng)品的性能對(duì)比。

  •  MySQL Analytics vs MySQL

MySQL重大新增的功能有哪些

  •  MySQL Analytics vs Amazon Aurora

MySQL重大新增的功能有哪些

  •  MySQL Analytics vs Amazon Redshift

MySQL重大新增的功能有哪些

LOW COST

使用帶有分析引擎的MySQL數(shù)據(jù)庫服務(wù)的成本取決于配置的分析節(jié)點(diǎn)的數(shù)量。分析集群的大小取決于數(shù)據(jù)集的大小和工作負(fù)載的特性。一個(gè)分析節(jié)點(diǎn)可以容納大約400GB的數(shù)據(jù)。當(dāng)客戶使用Analytics Engine遷移到MySQL數(shù)據(jù)庫服務(wù)時(shí),他們的成本有望大幅降低。與Amazon Aurora和Redshift相比,MySQL分析引擎的成本是其成本的1/3。

EASY SCALE

MAE目前在一個(gè)集群中支持最多24個(gè)分析節(jié)點(diǎn)(上千個(gè)Core),處理能力約為10 TB的分析數(shù)據(jù)。10TB是在給定時(shí)刻可以填充到分析節(jié)點(diǎn)內(nèi)存中的大約數(shù)據(jù)量。MySQL數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量沒有限制,客戶可以選擇從MySQL數(shù)據(jù)庫模式中加載哪些表或列到分析節(jié)點(diǎn)的內(nèi)存中。如果查詢不再需要這些表,用戶可以從內(nèi)存中刪除這些表,為其他數(shù)據(jù)騰出空間。

EASY USE

MAE將大量細(xì)節(jié)隱藏在后面,對(duì)于前端客戶來講使用非常簡(jiǎn)單。只需要根據(jù)推薦大小配置分析集群、配置預(yù)加速查詢的對(duì)象、手工完成第一次加載。后面即可享受到分析集群帶來的加速能力。

MySQL重大新增的功能有哪些

通過查看執(zhí)行計(jì)劃,可以直觀看出是否使用了分析集群(下圖中的Using secondary engine RAPID)

MySQL重大新增的功能有哪些

此外,針對(duì)混合云場(chǎng)景(即無法將數(shù)據(jù)部署到云端的客戶),可以利用MySQL復(fù)制將本地MySQL數(shù)據(jù)復(fù)制到MySQL分析引擎,同樣不需要ETL。目前MAE僅在Oracle Cloud Infrastructure (OCI) Gen 2 hardware 平臺(tái)提供。

MySQL重大新增的功能有哪些

寫在最后

MAE的出現(xiàn),很好地彌補(bǔ)了MySQL原生在數(shù)據(jù)分析場(chǎng)景的短板。相信,這一特性將更加擴(kuò)大MySQL的使用范圍,為其在更大規(guī)模、更為重要的企業(yè)化應(yīng)用鋪平道路。比較遺憾的是,MAE目前僅能在OCI中使用,目前國(guó)內(nèi)的廣大線下用戶還無法使用。

感謝各位的閱讀,以上就是“MySQL重大新增的功能有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)MySQL重大新增的功能有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI