李士福:openGauss 自駕駛數(shù)據(jù)庫內(nèi)核在AI領(lǐng)域的探索和創(chuàng)新
智能化正在不斷顛覆傳統(tǒng)生產(chǎn)力。隨著數(shù)智時代的到來,AI技術(shù)在提升管理效率、降低運維成本等方面發(fā)揮著越來越重要的作用。當(dāng)DB與AI相結(jié)合,數(shù)據(jù)庫產(chǎn)品也變得更加智能化。目前智能數(shù)據(jù)庫技術(shù)是業(yè)內(nèi)的研究熱點,openGauss 作為國內(nèi)數(shù)據(jù)庫根技術(shù)的重要一支,在這一領(lǐng)域取得了哪些成就?未來有哪些發(fā)展規(guī)劃?
2023年4月7日,華為openGauss數(shù)據(jù)庫AI領(lǐng)域負(fù)責(zé)人李士福在第十二屆『數(shù)據(jù)技術(shù)嘉年華』【數(shù)智趨勢:智能運維與自治】專題論壇發(fā)表了題為《openGauss:自駕駛數(shù)據(jù)庫內(nèi)核》的演講。本文將對本次演講進(jìn)行回顧。

? ?嘉賓簡介
李士福,15年數(shù)據(jù)庫內(nèi)核開發(fā)經(jīng)驗,2014年加入華為高斯部,曾在Teradata研發(fā)中心從事分布式MPPDB數(shù)據(jù)庫研發(fā)。目前其主要負(fù)責(zé)GaussDB(含openGauss)自治數(shù)據(jù)庫內(nèi)核的研發(fā)工作,包括DBMind自治運維系統(tǒng)、DB4AI庫內(nèi)AI引擎和自學(xué)型內(nèi)核;同時作為openGauss社區(qū)TC成員支撐openGauss社區(qū)拓展。
一、openGauss自駕駛內(nèi)核整體介紹
李士福表示,openGauss自駕駛內(nèi)核整體上主要包含兩個子系統(tǒng):AI4DB自治系統(tǒng)和DB4AI庫內(nèi)AI引擎。

AI4DB自治系統(tǒng)主要又包含兩大部分:一個是DBMind自治運維系統(tǒng),是給用戶、主要是DBA做自監(jiān)控、自診斷、自由化和自安全,其主要目標(biāo)是方便用戶做系統(tǒng)的運維診斷,讓系統(tǒng)更高效、可靠運行;另一個是把AI技術(shù)嵌到數(shù)據(jù)庫內(nèi)核之中,實現(xiàn)智能查詢重寫、代價估計、行數(shù)估計、計劃自適應(yīng)選擇、負(fù)載自適應(yīng)調(diào)度、自學(xué)習(xí)索引、緩存自適應(yīng)淘汰等。
DB4AI庫內(nèi)AI引擎則是指在數(shù)據(jù)庫內(nèi)置很多AI算法,把AI能力直接內(nèi)嵌到數(shù)據(jù)庫中,通過訓(xùn)練和推理SQL語法、訓(xùn)練語句執(zhí)行計劃及代價為數(shù)據(jù)庫提供AI能力,這樣能方便用戶使用訓(xùn)練和推理的語句。同時DB4AI還可以提供算法API接口,供學(xué)習(xí)型內(nèi)核組件調(diào)用,從而為庫內(nèi)組件加速。
二、DBMind運維管理系統(tǒng)架構(gòu)和應(yīng)用

李士福指出,DBMind整體運維架構(gòu)主要涵蓋四個方面:
數(shù)據(jù)采集層作為底座,主要負(fù)責(zé)在數(shù)據(jù)庫運行節(jié)點上部署Agent采集節(jié)點,從而采集數(shù)據(jù)庫指標(biāo)和OS指標(biāo),同時還負(fù)責(zé)執(zhí)行AI Service下發(fā)的運維管理命令。
在數(shù)據(jù)計算層,數(shù)據(jù)庫外的節(jié)點可以在備機(jī)部署AI Service服務(wù)節(jié)點,同時有一些存儲的引擎,來實現(xiàn)數(shù)據(jù)計算存儲。
自治服務(wù)層主要提供三大方面的自治服務(wù):其一是SQL診斷調(diào)優(yōu),包括慢SQL診斷、發(fā)現(xiàn)以及索引優(yōu)化等;其二是安全,提供異常行為檢測、敏感數(shù)據(jù)發(fā)現(xiàn);其三是運維,即整個系統(tǒng)的運維診斷,包括參數(shù)調(diào)優(yōu)、系統(tǒng)分析診斷等。
最頂層是監(jiān)控,通過端到端的監(jiān)控診斷、運維還有優(yōu)化,實現(xiàn)了從問題發(fā)現(xiàn)、問題診斷到問題優(yōu)化的全流程管控,對用戶來說是無感知的。
在DBMind自治運維系統(tǒng)層層嚴(yán)密的架構(gòu)下,其有廣泛的應(yīng)用。李士福透露,DBMind自治運維系統(tǒng)的應(yīng)用主要聚焦于三個方面:索引推薦能力、慢SQL診斷和建議、多指標(biāo)關(guān)聯(lián)分析。

索引推薦能力是指在數(shù)據(jù)庫內(nèi)核中內(nèi)置單條索引的推薦能力,來實現(xiàn)單條索引推薦,從而讓用戶很容易對一條語句實現(xiàn)索引加速。由于單條索引很難對整個系統(tǒng)有效,因此openGauss DBMind額外增加了對整個系統(tǒng)負(fù)載的索引推薦,通過對批量workload的采集、處理、壓縮后再進(jìn)行單條索引推薦,從而降低索引推薦比例、提升整體效率。

慢SQL診斷和建議是在openGauss中集成的能力之一。在數(shù)據(jù)庫中,openGauss會識別哪些語句是慢SQL,然后采集慢SQL和它的相關(guān)指標(biāo)特征。同時結(jié)合當(dāng)前系統(tǒng)的運行狀況,比如CPU使用率和IO使用率等指標(biāo),把這些信息作為統(tǒng)一的集合進(jìn)行訓(xùn)練。訓(xùn)練后形成的特征庫,可用于與之后遇到的慢SQL語句境進(jìn)行智能匹配,最后把根因結(jié)果在界面上展示,同時給出優(yōu)化建議。

多指標(biāo)關(guān)聯(lián)分析可以幫助我們快速發(fā)現(xiàn)問題。我們都知道,采集的指標(biāo)是多種多樣的,一個指標(biāo)的變動可能聯(lián)動其他指標(biāo)也發(fā)生變化。目前openGauss施行了多種異常檢測算法,例如:持續(xù)增長、毛刺、周期性等?;谶@些檢測算法觀察環(huán)境指標(biāo),可以發(fā)現(xiàn)指標(biāo)間的關(guān)聯(lián)關(guān)系,從而確定影響關(guān)鍵指標(biāo)的變化因素有哪些。
三、庫內(nèi)AI引擎架構(gòu)和應(yīng)用
對DBMind整體運維架構(gòu)進(jìn)行了詳細(xì)的介紹后,李士福還分享了庫內(nèi)AI引擎架構(gòu)和應(yīng)用方面的知識點。

DB4AI庫內(nèi)AI引擎架構(gòu)中,基于優(yōu)化路徑,openGauss可以展示當(dāng)前AI算子的執(zhí)行路徑,讓用戶可以查看執(zhí)行計劃。其次是全流程業(yè)務(wù)管理,除了常見的模型管理,openGauss數(shù)據(jù)庫還支持通過系統(tǒng)表存儲管理模型。此外,還支持?jǐn)?shù)據(jù)集管理,在數(shù)據(jù)更新變化的情況下,不影響當(dāng)前訓(xùn)練的模型。李士福透露,研發(fā)團(tuán)隊還在做模型的漂移,去保證模型的新鮮度;進(jìn)一步還將結(jié)合異構(gòu)計算能力,將執(zhí)行算子下推到GPU去做穩(wěn)定訓(xùn)練加速,從而構(gòu)建起完整的DB4AI引擎架構(gòu)。

DB4AI與不同的應(yīng)用相結(jié)合,能幫助開發(fā)者提升工作效率?!霸趹?yīng)用上,DB4AI給用戶提供交互式的界面,例如結(jié)合Jupyter做交互式的分析。因此,我們提供DB4AI Python庫,結(jié)合這個命令可以很容易地在交互界面上給用戶展示相關(guān)信息。這種可以使用Python的方式讓用戶很容易上手?!崩钍扛Uf道。


目前DB4AI也積累了豐富的案例,例如庫內(nèi)AI高效訓(xùn)練和推理、模型自適應(yīng)漂移。通過機(jī)器學(xué)習(xí)算法,完成可解釋模型;每個月采2000個樣板信息完成模型漂移,解決了模型與當(dāng)前業(yè)務(wù)不擬合等問題。openGauss 在DB4AI方面的應(yīng)用能極大地節(jié)省人力,降低成本。

此外,李士福還就智能優(yōu)化器架構(gòu)做了簡要介紹。openGauss數(shù)據(jù)庫的智能優(yōu)化器主要完成四項任務(wù):智能基數(shù)估計、自適應(yīng)計劃選擇、智能代價模型、智能計劃探索。其中,他重點介紹了智能基數(shù)估計、自適應(yīng)計劃選擇這兩項任務(wù)。智能基數(shù)估計是指結(jié)合AI算子對數(shù)據(jù)做分析和處理,改善了基于神經(jīng)網(wǎng)絡(luò)算法的傳統(tǒng)方法很難落地的情況;自適應(yīng)計劃選擇主要解決的是緩存計劃的使用問題。
在演講尾聲,李士??偨Y(jié)指出,AI與DB的結(jié)合其實是一個新興領(lǐng)域,目前openGauss在這一領(lǐng)域投入很多。AI與DB相結(jié)合能解決當(dāng)前運維場景效率的問題,還可以提升用戶使用價值。后續(xù),華為將持續(xù)深耕這一領(lǐng)域,并將研究成果持續(xù)應(yīng)用至社區(qū)。