云時(shí)代下,數(shù)據(jù)庫(kù)的關(guān)鍵趨勢(shì)與DBA發(fā)展之路
?伴隨著云計(jì)算、分布式技術(shù)的逐步落地,近十年來(lái)數(shù)據(jù)庫(kù)的形態(tài)發(fā)生了很大變化,各類數(shù)據(jù)庫(kù)不斷涌現(xiàn),數(shù)據(jù)庫(kù)架構(gòu)也隨之演進(jìn)。在云時(shí)代下,企業(yè)該如何選型并構(gòu)建數(shù)據(jù)庫(kù)架構(gòu)?如何應(yīng)對(duì)業(yè)務(wù)上云帶來(lái)的數(shù)據(jù)遷移挑戰(zhàn)?數(shù)據(jù)庫(kù)有何“新解”?DBA的未來(lái)發(fā)展趨勢(shì)如何?
今天為我們解答以上問(wèn)題的嘉賓,是來(lái)自貨拉拉的DBA負(fù)責(zé)人蔡鵬老師。希望通過(guò)匯集蔡鵬的研究成果和實(shí)踐經(jīng)驗(yàn),帶大家明確新數(shù)據(jù)庫(kù)時(shí)代,DBA的個(gè)人發(fā)展之路。
蔡鵬
貨拉拉 DBA負(fù)責(zé)人
前餓了么、螞蟻金服技術(shù)專家,現(xiàn)任貨拉拉數(shù)據(jù)庫(kù)部門(mén)負(fù)責(zé)人。負(fù)責(zé)貨拉拉全球化業(yè)務(wù)場(chǎng)景下整體數(shù)據(jù)庫(kù)、消息隊(duì)列、緩存、數(shù)據(jù)庫(kù)中間件的穩(wěn)定性建設(shè)工作,主持過(guò)餓了么數(shù)據(jù)庫(kù)異地多活建設(shè),對(duì)數(shù)據(jù)庫(kù)庫(kù)中間件、分布式數(shù)據(jù)庫(kù)和自動(dòng)化運(yùn)維平臺(tái)設(shè)計(jì)開(kāi)發(fā)有豐富的實(shí)踐經(jīng)驗(yàn)。
主要觀點(diǎn)
數(shù)據(jù)庫(kù)進(jìn)步、顛覆傳統(tǒng)DBA、塑造行業(yè)
云數(shù)據(jù)庫(kù)進(jìn)入百家爭(zhēng)鳴的時(shí)代,云商間的激烈競(jìng)爭(zhēng),再加上現(xiàn)實(shí)的業(yè)務(wù)需求,迫切需要促進(jìn)數(shù)據(jù)庫(kù)技術(shù)的進(jìn)步。近幾年業(yè)內(nèi)涌現(xiàn)出了大量新式數(shù)據(jù)庫(kù),這些新式數(shù)據(jù)庫(kù),一方面對(duì)傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)做了大量改進(jìn)優(yōu)化(分布式、云原生等);同時(shí)在新硬件能力加持下(我們看到了恐怖的幾百核心CPU、超高容量高性能的存儲(chǔ)),數(shù)據(jù)庫(kù)性能進(jìn)一步飛躍甚至“性能過(guò)?!?。數(shù)據(jù)庫(kù)形態(tài)的改變正在深刻的影響整個(gè)IT行業(yè),相信新技術(shù)下DBA也有新機(jī)會(huì)。
Q1如何理解:云時(shí)代,要讓研發(fā)具備DBA的能力?
個(gè)人理解:讓研發(fā)具備DBA的能力,本身是“開(kāi)云時(shí)代的倒車”。因?yàn)樵票旧恚还苁窃谄帘蔚讓踊A(chǔ)設(shè)施的穩(wěn)定性上,還是在自身產(chǎn)品內(nèi)核的完善建設(shè)上,都具有更強(qiáng)的容錯(cuò)及兼容能力,因此云不僅要提供一個(gè)穩(wěn)定的基礎(chǔ)設(shè)施,更是屏蔽了諸多研發(fā)過(guò)程中的一些復(fù)雜性、容錯(cuò)性,讓研發(fā)更加注重對(duì)業(yè)務(wù)自身的建設(shè)上。
不管是在云時(shí)代,還是自建時(shí)代,研發(fā)都需要對(duì)數(shù)據(jù)庫(kù)本身做一定程度的理解,比如合理的設(shè)計(jì)范式、結(jié)構(gòu)設(shè)計(jì)、索引設(shè)計(jì)、SQL寫(xiě)法等,但是我們也看到云數(shù)據(jù)庫(kù)越來(lái)越智能化,甚至能對(duì)SQL智能改寫(xiě)、索引自動(dòng)優(yōu)化做到了很高程度的自動(dòng)化,這進(jìn)一步削弱了研發(fā)對(duì)數(shù)據(jù)庫(kù)本身的關(guān)注度。
但凡事也有例外,比如數(shù)據(jù)庫(kù)類型越來(lái)越多,不同場(chǎng)景可能使用不同類似的數(shù)據(jù)庫(kù)更加具有優(yōu)勢(shì),過(guò)去這種選型由DBA來(lái)主導(dǎo)完成。基于云DB對(duì)研發(fā)復(fù)雜度的屏蔽,研發(fā)可以根據(jù)自己對(duì)云數(shù)據(jù)庫(kù)產(chǎn)品的理解程度,進(jìn)行合理的選型,不過(guò)這里面是有潛在的風(fēng)險(xiǎn)的。
比如早期貨拉拉就有類似的實(shí)踐:研發(fā)自行做了很多數(shù)據(jù)庫(kù)選型,最終導(dǎo)致的結(jié)果是服務(wù)治理失控,同時(shí)也帶來(lái)很嚴(yán)重的業(yè)務(wù)風(fēng)險(xiǎn)(比如一條數(shù)據(jù)既寫(xiě)MySQL,又寫(xiě)MongoDB,跟ElasticSearch最后還要刷一份到Redis緩存,有吐血的修數(shù)據(jù)歷史)。因此這部分工作仍舊需要DBA來(lái)指導(dǎo)完成,因?yàn)镈BA在這方面相對(duì)而言會(huì)有更好的大局觀。
Q2云時(shí)代的DBA職責(zé)有什么轉(zhuǎn)變?應(yīng)該提前做些什么?
職能轉(zhuǎn)變:
①數(shù)據(jù)庫(kù)的可靠性穩(wěn)定性在云能力加持下不在是核心工作比如部分SLA的工作由云來(lái)保障;
②如何科學(xué)合理的使用云能力賦能業(yè)務(wù)在架構(gòu)設(shè)計(jì)方案規(guī)劃、節(jié)約成本顯得更重要。
提前準(zhǔn)備:
①在對(duì)云的理解上:對(duì)云產(chǎn)品進(jìn)行積極學(xué)習(xí),了解各家云的套路玩法;
②個(gè)人能力建設(shè)上:需要加強(qiáng)復(fù)合多元化的能力建設(shè),做到懂?dāng)?shù)據(jù)庫(kù)、懂平臺(tái)、懂研發(fā)、實(shí)現(xiàn)DBA到架構(gòu)師的轉(zhuǎn)變。
Q3云時(shí)代,企業(yè)IT設(shè)施呈現(xiàn)集中化、規(guī)?;?yīng),對(duì)效率、性能的要求提升,我們對(duì)云數(shù)據(jù)庫(kù)產(chǎn)生了哪些技術(shù)新需求?
數(shù)據(jù)庫(kù)發(fā)展至今基本在滿足用戶無(wú)止境的既要(高性能)、又要(穩(wěn)定性)、還要(可擴(kuò)展性、可運(yùn)維性等)的“過(guò)分”需求:
- 能力多元化需求上:AP+TP(HTAP)、行列一體化、SQL與NoSQL共存、持久與Cache共存、存儲(chǔ)計(jì)算分離無(wú)限可擴(kuò)容;
- 架構(gòu)上:要求基于云原生的異地多活/容災(zāi)(兩地三中心、三地五中心)能力;
- 治理上:更加智能化的自治能力;
- 成本上:越便宜越好(用戶跟老板一樣,總是不講道理)。
Q4數(shù)據(jù)庫(kù)存儲(chǔ)未來(lái)分層的設(shè)計(jì),有沒(méi)有可能在混合云環(huán)境自由遷移或者自動(dòng)遷移?實(shí)現(xiàn)的難點(diǎn)在哪里呢?
個(gè)人理解是很難的,實(shí)現(xiàn)的難點(diǎn)主要在云商間的壁壘,或者自身產(chǎn)品的封閉性與產(chǎn)品間的兼容性上:
- 云商壁壘:由于商業(yè)原因云商產(chǎn)品間存在天然的隔閡,云商間短期看不到相互產(chǎn)品間打通的需求;
- 產(chǎn)品封閉性:不同云產(chǎn)品底層技術(shù)原理不一致不公開(kāi),雖然只對(duì)用戶層暴露了統(tǒng)一的標(biāo)準(zhǔn)協(xié)議,但是對(duì)實(shí)現(xiàn)跨云跨產(chǎn)品間的遷移,還是存在關(guān)鍵原理上的障礙;
- 產(chǎn)品兼容性:不同云產(chǎn)品,甚至在基礎(chǔ)協(xié)議層,都不兼容跨云遷移的前置條件。
當(dāng)然對(duì)于基礎(chǔ)協(xié)議層兼容,比如常用的MySQL及其變種系列(Binlog格式兼容)的跨云遷移技術(shù)實(shí)現(xiàn)上,還是相對(duì)比較簡(jiǎn)單的,不管是借助云自身的能力(如DTS),或者自己開(kāi)發(fā)一個(gè)遷移工具都是可行的、但是這種情況畢竟是少數(shù)。
不過(guò)隨著未來(lái)數(shù)據(jù)庫(kù)逐步往開(kāi)源方向發(fā)展(封閉是沒(méi)有未來(lái)的),這會(huì)促使更多技術(shù)人對(duì)云產(chǎn)品做更多深入的理解,這會(huì)給跨云間的數(shù)據(jù)遷移提供更多技術(shù)支撐,當(dāng)然這對(duì)技術(shù)本身有很高的要求。
不過(guò)我也注意到:近幾年出現(xiàn)了很多三方技術(shù)服務(wù)公司,專門(mén)提供云上各種解決方案,或許基于云會(huì)誕生一些新的商業(yè)機(jī)會(huì),也是技術(shù)人技術(shù)變現(xiàn)的一種途徑,這似乎也變相讓“DBA消亡論”不攻自破。?