《CMU研發(fā)數(shù)據(jù)庫調(diào)優(yōu)AI,水平超DBA老炮》要點:
本文介紹了CMU研發(fā)數(shù)據(jù)庫調(diào)優(yōu)AI,水平超DBA老炮,希望對您有用。如果有疑問,可以聯(lián)系我們。
這個周末,最不開心的應(yīng)該是優(yōu)秀的數(shù)據(jù)庫治理員了.
這些優(yōu)秀的數(shù)據(jù)庫管理員(以下簡稱數(shù)據(jù)庫管理員為DBA),原本可以靠自己的本領(lǐng),享受高薪,可是,好景不長了,因為即便是資質(zhì)平平的DBA,以后借助AI的力量,也能瞬間達(dá)到優(yōu)秀DBA的水平.
來看最近來自卡耐基梅隆數(shù)據(jù)庫小組的最新研究結(jié)果,他們正用最新的深度學(xué)習(xí)技術(shù),完成數(shù)據(jù)庫的調(diào)優(yōu)工作.
如果這項技術(shù)在未來進(jìn)一步遍及,那么,很無奈,這個行業(yè)不得不接受AI對于人員結(jié)構(gòu)的改造.
DBA迎來新的反動
卡內(nèi)基·梅隆大學(xué)數(shù)據(jù)庫小組采納機(jī)器學(xué)習(xí)實現(xiàn)了數(shù)據(jù)庫的自動化管理,其在線版的自動化管理服務(wù) OtterTune 稍后即會上線.
OtterTune 所要辦理的是數(shù)據(jù)庫管理中最為繁雜的問題:諸如緩存大小分配、寫入頻率管理等因素在內(nèi)的數(shù)百項參數(shù)的動態(tài)設(shè)置.過去,這項工作只能由經(jīng)驗豐富的數(shù)據(jù)庫專家手動來完成.
這其中采納了怎樣的原理呢?
OtterTune 到底用了什么原理?
采用機(jī)器學(xué)習(xí)后,OtterTune 把數(shù)據(jù)庫管理系統(tǒng)(DBMS)的工作流程釀成這樣:
一開始,OtterTune 必要被告知明確的優(yōu)化目標(biāo),如延遲、吞吐量等;其客戶端 Controller 會自動關(guān)聯(lián)目標(biāo) DBMS 及其亞馬遜 EC2 副本的類型與當(dāng)前設(shè)置.
而后,Controller 便開啟第一個察看周期,察看 DBMS 并記錄目標(biāo)項.察看結(jié)束時,Controller 會搜集好 DBMS 的內(nèi)部參數(shù),并將它和目標(biāo)項發(fā)送給 Tuning Manager.
收到參數(shù)后,Tuning Manager 便把它們存儲入庫.OtterTune 用這些參數(shù)計算出 DBMS 的目標(biāo)配置,并將其發(fā)還至 Controller,Controller 部署并運行新的配置,以提升數(shù)據(jù)庫性能.
治理人員可隨時啟用或終止 OtterTune 服務(wù).
簡而言之:
首先,必要設(shè)置一些優(yōu)化目標(biāo),連接到數(shù)據(jù)庫系統(tǒng),使用初始化的設(shè)置去運行;
然后控制器開啟第一次察看周期,記錄下當(dāng)前設(shè)置模式下的所有系統(tǒng)性能度量,并返回這些結(jié)果給調(diào)優(yōu)器;
調(diào)優(yōu)器記錄這些成果,并根據(jù)這些度量信息和系統(tǒng)信息計算出新的數(shù)據(jù)庫配置;
最后調(diào)優(yōu)器把調(diào)優(yōu)成果配置傳回控制器,同時可以有效評估系統(tǒng)提升的期望值;
用戶依據(jù)評估值決定是否使用新的配置.
其中最核心的步驟便是:計算出新的數(shù)據(jù)庫管理系統(tǒng)DBMS 的目標(biāo)配置,即這里面用到的主要是機(jī)器學(xué)習(xí).
下面詳細(xì)解釋一下機(jī)械學(xué)習(xí)在里面的作用.
機(jī)械學(xué)習(xí)的作用
機(jī)器學(xué)習(xí)模塊分為三部分:獲取 Controller 觀察到的工作負(fù)載參數(shù)(Workload Characterization 組件),辨認(rèn)并學(xué)習(xí)這些參數(shù)(Knob Identification 組件),自動管理數(shù)據(jù)庫(Automatic Tuner 組件).
下面逐一來說:
Workload Characterization: OtterTune 使用 DBMS 的內(nèi)部運行參數(shù)來提取數(shù)據(jù)庫的工作負(fù)載特征.機(jī)器學(xué)習(xí)模塊使用聚類辦法來衡量這些參數(shù)的相關(guān)性,盡可能地裁剪參數(shù)量,以降低計算的復(fù)雜程度.
Knob Identification: 識別并學(xué)習(xí)數(shù)據(jù)庫參數(shù),OtterTune 所用的特征選取辦法是 Lasso,以找出它們的重要程度.OtterTune 據(jù)此來計算 DBMS 的目標(biāo)配置,它使用一種增量辦法來找出數(shù)據(jù)庫的最佳配置.
Automatic Tuner: 而后的工作則交由 Automatic Tuner 組件.首先,它用 Workload Characterization 組件的性能數(shù)據(jù)來確定 DBMS 的目標(biāo)負(fù)載;而后,它會選擇一組分歧的配置進(jìn)行測試.
OtterTune 的目標(biāo)總是優(yōu)化下一組配置,盡可能地搜集數(shù)據(jù)來晉升性能,而非緊盯住目標(biāo)配置不放.
成果對比
OtterTune 在論文中測試了 MySQL 和 Postgres 這兩個數(shù)據(jù)庫的延遲和吞吐量,成果如下:
從圖中可以看出,相比于 MYSQL 治理腳本,OtterTune 的延遲要低 60%,吞吐量則能提升 35%.
相比于 Postgres 的默認(rèn)配置,OtterTune 與其他辦法在延遲方面的提升大體相近;但吞吐量方面,OtterTune 比 DBA 的選擇要好 12%.
總體來看,OtterTune可以在延遲和吞吐等性能指標(biāo)上大幅領(lǐng)先傳統(tǒng)的自動化配置腳本,并接近專業(yè)DBA的程度.
AI若何擊中了這個行業(yè)的痛點?
為什么這個行業(yè)必要AI來改造?DBA的日常工作到底有哪些痛點?
讓我們把眼光拉近,看看這個行業(yè)到底有什么問題.
目前的數(shù)據(jù)庫,主要采納專業(yè)的數(shù)據(jù)庫管理員(以下稱DBA)來設(shè)計數(shù)據(jù)系統(tǒng)的架構(gòu),調(diào)優(yōu)等.
但是,由于業(yè)務(wù)系統(tǒng)極其復(fù)雜,且隨著業(yè)務(wù)的快速迭代,必要數(shù)據(jù)庫系統(tǒng)能跟上業(yè)務(wù)的節(jié)奏,快速響應(yīng),快速更新,這就導(dǎo)致調(diào)優(yōu)任務(wù)也隨之變得極其復(fù)雜.
DBA需要靈活掌握各項影響系統(tǒng)性能的控制因素,也必需對數(shù)據(jù)底層,甚至體系結(jié)構(gòu)都有深入了解,才能很好地完成調(diào)優(yōu)任務(wù).
因此,真正滿足優(yōu)秀的DBA就非常少了,并且價格昂貴.
隨著大數(shù)據(jù)行業(yè)的井噴式發(fā)展,這種人才一直都是嚴(yán)重供不該求.
不外,這部分原本可以享受高薪的人群,好日子貌似要走到頭了.
因為,通俗DBA也能借助AI搶飯碗了.
卡耐基梅隆的數(shù)據(jù)庫小組整出來的這個新研究,就是要通過使用AI技術(shù),簡化了DBA對于數(shù)據(jù)庫系統(tǒng)的調(diào)優(yōu)過程,即就是普通的DBA,也能達(dá)到、甚至超過專業(yè)DBA調(diào)優(yōu)系統(tǒng)的能力.
所以,一旦AI在此領(lǐng)域真正開始發(fā)揮作用,人力本錢將大幅降低,工作又能快速響應(yīng),公司再也不會因為專業(yè)DBA短缺而影響業(yè)務(wù)發(fā)展了,這將是公司老板拍手稱快的大好事.
原文地址
https://aws.amazon.com/cn/blogs/ai/tuning-your-dbms-automatically-with-machine-learning/必修tag=vglnk-c1507-20
歡迎參與《CMU研發(fā)數(shù)據(jù)庫調(diào)優(yōu)AI,水平超DBA老炮》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7849.html