自治數(shù)據(jù)庫(kù)-為啥國(guó)產(chǎn)數(shù)據(jù)庫(kù)從O記只學(xué)到了個(gè)皮毛?
自治數(shù)據(jù)庫(kù)是我們這代DBA二十多年前就開(kāi)始的一個(gè)夢(mèng),現(xiàn)在O記離我們那個(gè)夢(mèng)想越來(lái)越近了,其實(shí)哪怕沒(méi)有自治數(shù)據(jù)庫(kù)技術(shù)的加持,O記的運(yùn)維也越來(lái)越便捷,讓人放心。為了提升客戶使用體驗(yàn),很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)也在學(xué)O記的經(jīng)驗(yàn),模仿出了國(guó)產(chǎn)版的AWR/ASH/ADDM,也在做自治數(shù)據(jù)庫(kù)相關(guān)的組件。我使用過(guò)很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)的這方面的工具,總覺(jué)得學(xué)得還不太到位。
我運(yùn)維過(guò)從ORACLE 5.1到19C的多個(gè)數(shù)據(jù)庫(kù)版本,深深感受到O記這些年在運(yùn)維便捷性上的巨大提升。從早期的黑盒子到6.x之后可以通過(guò)各種命中率來(lái)分析和優(yōu)化數(shù)據(jù)庫(kù)應(yīng)用的性能;7.3的utlbstat/utlestat工具終于讓我看到了數(shù)據(jù)庫(kù)內(nèi)部的一些詳細(xì)數(shù)據(jù);后來(lái)有了Oracle 8的statspack報(bào)告,DBA終于不用在黑暗中摸索了;Oracle 10g的AWR/ASH和ADDM則開(kāi)創(chuàng)了深度分析平民化的道路,哪怕不太懂Oracle OWI和Time Model 的DBA也能快速?gòu)闹姓业揭恍┯杏玫臄?shù)據(jù)。
運(yùn)維ORACLE數(shù)據(jù)庫(kù)的時(shí)候,哪怕沒(méi)有自治技術(shù)加持,有了強(qiáng)大的OWI,METRIC,Time Model 等數(shù)據(jù)和工具,加上MOS網(wǎng)站(Metalink)的加持,總是會(huì)讓人很放心。因?yàn)橹灰獑?wèn)題可再現(xiàn),發(fā)現(xiàn)根因只是時(shí)間問(wèn)題,實(shí)在不行開(kāi)個(gè)SR就OK了。
國(guó)產(chǎn)數(shù)據(jù)庫(kù)雖然也在學(xué)著O記做類似的事情,但是效果往往不佳。雖然各個(gè)廠商都號(hào)稱自己的可觀測(cè)性能力以及自制數(shù)據(jù)庫(kù)的能力都強(qiáng)大無(wú)比,但是在實(shí)際的用戶場(chǎng)景中卻很難看到真實(shí)的成功案例,用戶遇到SQL以外的嚴(yán)重問(wèn)題,基本上還是要靠原廠才能搞得定,這到底是怎么回事呢?
實(shí)際上自治數(shù)據(jù)庫(kù)的自治能力并非一蹴而就的,而是要依賴于一層一層的基礎(chǔ)能力,往上堆疊出來(lái)的。要想實(shí)現(xiàn)真正的自治,從底層能力而言,必須完成數(shù)據(jù)庫(kù)全面的數(shù)字化建模,數(shù)據(jù)庫(kù)本身的底層數(shù)據(jù)邏輯能夠覆蓋問(wèn)題分析所需要的所有層面,而要完成數(shù)字化建模,又必須依賴于豐富并且準(zhǔn)確的可觀測(cè)性體系(指標(biāo)、日志、跟蹤),要想有豐富而準(zhǔn)確的可觀測(cè)性體系,必須在數(shù)據(jù)庫(kù)內(nèi)核里構(gòu)建出豐富而準(zhǔn)確的數(shù)字化模型,并高效地完成相關(guān)數(shù)據(jù)的采樣與處理,又不能影響數(shù)據(jù)庫(kù)的性能。在上層,又必須構(gòu)建起完善的知識(shí)庫(kù)體系,對(duì)這些數(shù)據(jù)的解析與分析都是構(gòu)建在知識(shí)體系之上的。
經(jīng)過(guò)三十多年的發(fā)展,O記在此的技術(shù)積累已經(jīng)十分豐富。而國(guó)產(chǎn)數(shù)據(jù)庫(kù)在這方面還差之甚遠(yuǎn),甚至在某些領(lǐng)域還處于空白階段。很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商根本不清楚,要想獲得強(qiáng)大的數(shù)據(jù)庫(kù)自治能力,不是開(kāi)發(fā)幾個(gè)工具就可以解決的,數(shù)字化基礎(chǔ)是關(guān)鍵,首先要把能夠準(zhǔn)確描述數(shù)據(jù)庫(kù)運(yùn)行狀態(tài)的各種指標(biāo)體系建立起來(lái)才有可能實(shí)現(xiàn)數(shù)字化描述,最終實(shí)現(xiàn)自動(dòng)化分析和故障自愈。不夯實(shí)基礎(chǔ)這一切都是空中樓閣,無(wú)從實(shí)現(xiàn)的。哪怕在數(shù)據(jù)庫(kù)內(nèi)核上已經(jīng)打牢了基礎(chǔ),缺乏上層的知識(shí)庫(kù)體系,這些基礎(chǔ)能力也無(wú)法構(gòu)建起能夠在用戶側(cè)發(fā)揮作用的高層能力,這方面又是需要花錢花精力去補(bǔ)缺的。
不幸的是我們的絕大多數(shù)國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商并沒(méi)有著手夯實(shí)基礎(chǔ),而是直接在沙地上蓋起樓閣,于是眼見(jiàn)著起高樓,眼見(jiàn)著樓就塌了。我曾經(jīng)和某個(gè)國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商的朋友交流這個(gè)問(wèn)題,看到他兩眼茫然的樣子,我就知道作為產(chǎn)品經(jīng)理的他,其實(shí)對(duì)數(shù)據(jù)庫(kù)運(yùn)維沒(méi)有太多的經(jīng)驗(yàn),對(duì)數(shù)據(jù)庫(kù)的可觀測(cè)性能力如何支撐上層的運(yùn)維是沒(méi)有概念的。連產(chǎn)品經(jīng)理都搞不清這些問(wèn)題,那么也就別指望數(shù)據(jù)庫(kù)的研發(fā)人員能夠在這個(gè)領(lǐng)域有所作為了。
這些年的技術(shù)發(fā)展可以看出,在數(shù)據(jù)庫(kù)可觀察性能力以及自治數(shù)據(jù)庫(kù)方面,O記是一步一個(gè)腳印的走出來(lái)的,每上一個(gè)臺(tái)階都是踏著前面堅(jiān)實(shí)的基礎(chǔ)的。很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)的產(chǎn)品經(jīng)理并沒(méi)有理解上層能力是依托于底層能力構(gòu)建起來(lái)的,只是把上層能力當(dāng)成做一個(gè)數(shù)據(jù)庫(kù)的功能來(lái)設(shè)計(jì),這樣的話,就只能做出一些花架子了。長(zhǎng)此以往,在這個(gè)領(lǐng)域,國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商被O記遠(yuǎn)遠(yuǎn)甩在后面,而且差距越來(lái)越大就很正常了。
今天的這個(gè)話題似乎很沉重,可能很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商的朋友也不愿意接受,不過(guò)良藥苦口利于行。自己分析一下,為什么你的數(shù)據(jù)庫(kù)出問(wèn)題之后那么難以定位?為什么你的指標(biāo)體系,日志,等待事件并沒(méi)有能夠真實(shí)的反映出你數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài)和所發(fā)生的問(wèn)題?這中間到底缺了些什么?參考O記的體系去仔細(xì)想一想。這中間缺的東西其實(shí)就是支撐上層分析能力所需的底層能力,也正是你的產(chǎn)品中需要加強(qiáng)的地方。這方面不是你們的研發(fā)能力不足,而是你們對(duì)數(shù)據(jù)庫(kù)的理解還只停留在數(shù)據(jù)庫(kù)產(chǎn)品的研發(fā)上,而沒(méi)有把數(shù)據(jù)庫(kù)與用戶的應(yīng)用場(chǎng)景深度融合在一起。



























