自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

新聞 數(shù)據(jù)庫(kù)運(yùn)維
阿里巴巴集團(tuán)擁有超大的數(shù)據(jù)庫(kù)實(shí)例規(guī)模,在快速發(fā)展的過(guò)程中我們?cè)谶\(yùn)維管理方面也在不斷的面臨變化,從物理器到容器、從獨(dú)占到混布、從本地盤(pán)到存儲(chǔ)計(jì)算分離、從集團(tuán)內(nèi)到大促云資源,從開(kāi)源的MySQL到自研分布式數(shù)據(jù)庫(kù),運(yùn)維管控進(jìn)行了自我革新與進(jìn)化。

導(dǎo)語(yǔ)

阿里巴巴集團(tuán)擁有超大的數(shù)據(jù)庫(kù)實(shí)例規(guī)模,在快速發(fā)展的過(guò)程中我們?cè)谶\(yùn)維管理方面也在不斷的面臨變化,從物理器到容器、從獨(dú)占到混布、從本地盤(pán)到存儲(chǔ)計(jì)算分離、從集團(tuán)內(nèi)到大促云資源,從開(kāi)源的MySQL到自研分布式數(shù)據(jù)庫(kù),運(yùn)維管控進(jìn)行了自我革新與進(jìn)化。

作者——譚宇(花名:茂七),阿里巴巴高級(jí)技術(shù)專(zhuān)家。2009年加入阿里,對(duì)分布式系統(tǒng)和數(shù)據(jù)庫(kù)領(lǐng)域有很大的興趣。目前負(fù)責(zé)阿里巴巴集團(tuán)數(shù)據(jù)庫(kù)中臺(tái)建設(shè),支撐了集團(tuán)數(shù)據(jù)庫(kù)在容器化、存儲(chǔ)計(jì)算分離、在離線混部、大規(guī)模遷移建站以及智能運(yùn)維等技術(shù)探索與落地。

本文梳理了阿里巴巴數(shù)據(jù)庫(kù)運(yùn)維發(fā)展歷程以及對(duì)未來(lái)數(shù)據(jù)庫(kù)自治時(shí)代的看法,期待與諸位一起討論。

正文

我在阿里快十年了,前五年做一些分布式系統(tǒng)開(kāi)發(fā)相關(guān)的工作,參與的系統(tǒng)包括TFS/Tair/OceanBase,后五年聚焦在數(shù)據(jù)庫(kù)運(yùn)維平臺(tái)及服務(wù)的建設(shè),從搭建數(shù)據(jù)庫(kù)集群、數(shù)據(jù)采集等底層運(yùn)維到外部客戶(hù)服務(wù)、POC支持等都有所經(jīng)歷,好的想法歷來(lái)***,外加個(gè)人天資愚鈍,不敢說(shuō)有什么***的想法,都是實(shí)踐過(guò)程中的一些感悟,且與大家分享,也是對(duì)過(guò)去一段時(shí)間的總結(jié)。

關(guān)于阿里的數(shù)據(jù)庫(kù),大家可能已經(jīng)聽(tīng)說(shuō)過(guò)很多,阿里巴巴數(shù)據(jù)庫(kù)技術(shù)的發(fā)展與整個(gè)集團(tuán)的技術(shù)發(fā)展類(lèi)似,從商業(yè)到開(kāi)源再到自主研發(fā)。早在09年以前,阿里巴巴數(shù)據(jù)庫(kù)或DBA團(tuán)隊(duì)已經(jīng)在業(yè)界非常知名,擁有多名Oracle ACE / ACE Director,外加自發(fā)性的與業(yè)界的交流、分享以及著作,構(gòu)建了非常強(qiáng)的影響力,很多人因此吸引而加入,這是一段榮耀時(shí)光,當(dāng)時(shí)很多知名人物現(xiàn)在有的在創(chuàng)業(yè)、有的仍在集團(tuán)不同的領(lǐng)域奮斗,江湖中仍然可以搜索到他們的傳說(shuō)。

后來(lái)就是轟轟烈烈的去IOE運(yùn)動(dòng)了,剛?cè)肼殨r(shí)經(jīng)常在內(nèi)部BBS上看到各種成功去除Oracle的帖子,基本套路就是DBA和業(yè)務(wù)開(kāi)發(fā)一起配合,通過(guò)各種腳本把數(shù)據(jù)遷移到MySQL上。在這個(gè)過(guò)程中,遇到過(guò)很多問(wèn)題,也在積極尋求各種新的技術(shù),比如為了突破磁盤(pán)性能問(wèn)題,在當(dāng)時(shí)主流的還是機(jī)械硬盤(pán)的時(shí)候,使用了Fusion-IO等,也在MySQL內(nèi)核上開(kāi)始各種改進(jìn),形成了AliSQL。

關(guān)于去IOE、各自數(shù)據(jù)庫(kù)內(nèi)核技術(shù)、支撐的業(yè)務(wù)這些方面,講的很多,大家可以搜到各自技術(shù)相關(guān)的文章,但很少有人講過(guò)這背后有一個(gè)什么樣的平臺(tái)來(lái)支持這些業(yè)務(wù)變化以及技術(shù)迭代。過(guò)去的5年里,我和我的團(tuán)隊(duì)一直在做數(shù)據(jù)庫(kù)運(yùn)維或者是服務(wù)方面的事情,很難,我相信各位如果有做過(guò)這方面經(jīng)驗(yàn)會(huì)感同身受。

一方面,這是運(yùn)維類(lèi)或服務(wù)類(lèi)系統(tǒng)的“原罪”,這類(lèi)系統(tǒng)形成初期,它只是一個(gè)工具或一個(gè)平臺(tái),使命是支撐好業(yè)務(wù),自己并不實(shí)際產(chǎn)生價(jià)值。所有的技術(shù)要在這里落地,等落完地好像和你又沒(méi)什么關(guān)系,價(jià)值感比較弱。今天K8S等系統(tǒng)的出現(xiàn)說(shuō)明這個(gè)也可以做得很好,但相對(duì)來(lái)說(shuō)這是一個(gè)更難做好的領(lǐng)域。

另一方面,業(yè)務(wù)的復(fù)雜性、技術(shù)棧的多樣性以及所依賴(lài)的組件決定了這個(gè)系統(tǒng)在實(shí)現(xiàn)層面很難,你需要把各個(gè)組件一層一層的串聯(lián)起來(lái)。從業(yè)務(wù)訪問(wèn)到數(shù)據(jù)庫(kù)內(nèi)核再到底層的網(wǎng)絡(luò)、存儲(chǔ)、OS、硬件等,任何一個(gè)層面出了問(wèn)題都會(huì)集中反應(yīng)到你的系統(tǒng)中,實(shí)現(xiàn)人員面臨著從上到下各個(gè)層面問(wèn)題的理解、異常的處理,對(duì)團(tuán)隊(duì)及個(gè)人能力要求極高。

一個(gè)很具體的例子,我們的運(yùn)維系統(tǒng)涉及了前端、大數(shù)據(jù)處理、算法、數(shù)據(jù)庫(kù)、底層軟硬件等各個(gè)技術(shù)領(lǐng)域。在最初期團(tuán)隊(duì)不可能有各個(gè)領(lǐng)域的專(zhuān)家,需要每個(gè)同學(xué)了解并解決不同的領(lǐng)域的問(wèn)題。

我想就這些方面,系統(tǒng)性地跟大家介紹一下我們所做的一些工作。主要包括三個(gè)方面:***,我們整個(gè)系統(tǒng)的發(fā)展歷程,所謂從歷史看未來(lái),不知道過(guò)去,無(wú)法推斷出未來(lái)我們的樣子。第二,現(xiàn)階段的技術(shù)和產(chǎn)品,比如我們?nèi)绾沃挝覀儸F(xiàn)有的工作,雙11大促等。第三,從過(guò)去和現(xiàn)在出發(fā),我們未來(lái)一段時(shí)間要到達(dá)的樣子。

1. 從歷史看未來(lái)

阿里巴巴數(shù)據(jù)庫(kù)運(yùn)維發(fā)展的歷程,主要有這幾個(gè)階段。09年以前,以商業(yè)數(shù)據(jù)庫(kù)為主,去IOE也才開(kāi)始。之前沒(méi)有整體運(yùn)維規(guī)劃、運(yùn)維平臺(tái)。使用了各類(lèi)腳本、工具。

在09年以后,由于規(guī)模迅速膨脹,這個(gè)時(shí)候自然產(chǎn)生了一些工具團(tuán)隊(duì),把各類(lèi)腳本拼在一起,弄個(gè)界面,形成了最初的產(chǎn)品。

接著,隨著復(fù)雜度進(jìn)一步增加,以及云計(jì)算的推動(dòng)。交付方面有了更高的要求,形成了服務(wù)化,比如DBaaS等。

近年來(lái),隨著大數(shù)據(jù)、機(jī)器學(xué)習(xí)等技術(shù)的發(fā)展,AIOPS催生智能化。在智能化的基礎(chǔ)之上,對(duì)各類(lèi)服務(wù)平臺(tái)的服務(wù)質(zhì)量的進(jìn)一步要求,也就是自治。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

總體來(lái)講,有兩次比較大的革新。

***次是從產(chǎn)品化到服務(wù)化。最初,我們的產(chǎn)品形成非常簡(jiǎn)單。沒(méi)有什么平臺(tái),沒(méi)有什么系統(tǒng),大家一邊干活一邊沉淀一些腳本,到處分發(fā)。隨著規(guī)模的增長(zhǎng),原來(lái)的那套腳本需要管理起來(lái)了,我相信很多團(tuán)隊(duì)最開(kāi)始都會(huì)設(shè)立一個(gè)工具組,專(zhuān)門(mén)來(lái)干這個(gè)事情。這就會(huì)演變成一個(gè)團(tuán)隊(duì)做工具,另一個(gè)團(tuán)隊(duì)來(lái)使用,慢慢的兩者之間的GAP就出現(xiàn)了。工具團(tuán)隊(duì)有工具團(tuán)隊(duì)的KPI,業(yè)務(wù)團(tuán)隊(duì)有業(yè)務(wù)團(tuán)隊(duì)的KPI,分歧會(huì)逐漸增大。

另外一個(gè)問(wèn)題則是大家都在攢工具,攢平臺(tái)。結(jié)果這些平臺(tái)之間是相互不能通信的。比如一個(gè)應(yīng)用開(kāi)發(fā),需要數(shù)據(jù)庫(kù)、搜索、分布式存儲(chǔ)等各個(gè)系統(tǒng),開(kāi)發(fā)人員需要去逐個(gè)申請(qǐng),效率不高。

服務(wù)化的變革就是在這種情況下發(fā)生的。我們不提供工具、平臺(tái),而提供服務(wù)。這些服務(wù)之間相互打通,并且我們對(duì)提供的服務(wù)有相關(guān)SLA保證。這次革新可以說(shuō)是云計(jì)算的基礎(chǔ),云計(jì)算的本質(zhì)是IT資源交付技術(shù)的進(jìn)步,這是云計(jì)算帶給我們的***價(jià)值。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

第二次革新是自治,我們目前正處于這次革新中。

對(duì)SLA或者服務(wù)質(zhì)量的追求是沒(méi)有止境的?,F(xiàn)在很火的Cloud Native、Serverless本質(zhì)上都是對(duì)更高服務(wù)質(zhì)量的一種追求。要提升服務(wù)水平,關(guān)鍵點(diǎn)有兩個(gè),一是規(guī)模,規(guī)模大了才能做更多事情,比如混合部署、智能調(diào)度、機(jī)器學(xué)習(xí),都要求一定的規(guī)模和大量的數(shù)據(jù)。這也符合當(dāng)前提供基礎(chǔ)服務(wù)的云計(jì)算趨于集中的趨勢(shì)。

規(guī)模也是問(wèn)題的根源,管理一千個(gè)實(shí)例和十萬(wàn)個(gè)實(shí)例所需的技術(shù)完全不一樣,所以另一個(gè)關(guān)鍵點(diǎn)是技術(shù)水平,有了規(guī)模還必須有相應(yīng)的技術(shù),比如容器化、機(jī)器學(xué)習(xí)、存儲(chǔ)計(jì)算分離、RDMA網(wǎng)絡(luò)等技術(shù)的提升。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

2. 理想照進(jìn)現(xiàn)實(shí)

當(dāng)然技術(shù)的積累是一個(gè)長(zhǎng)期的過(guò)程,積累到一定程度就會(huì)引起質(zhì)變。我們這些年在系統(tǒng)建設(shè)、技術(shù)積累方面所做了許多工作。先來(lái)看一組數(shù)據(jù),這是剛剛過(guò)去的雙十一數(shù)據(jù)庫(kù)相關(guān)的一些情況。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

大家可能看過(guò)一些數(shù)據(jù),比如成交額,交易峰值。對(duì)于背后的數(shù)據(jù)庫(kù)而言,每秒有超過(guò)5000萬(wàn)次的訪問(wèn)。特別是在高峰期,讀寫(xiě)比是和平時(shí)不一樣的。通常一般系統(tǒng)讀寫(xiě)比大約是9:1或者7:1。但在雙11高峰時(shí),數(shù)據(jù)庫(kù)的讀寫(xiě)比可能是2:1。在寫(xiě)入比例極高的情況下,要求數(shù)據(jù)庫(kù)不能出現(xiàn)任何抖動(dòng)或者延遲,我們對(duì)任何一種新技術(shù)的引入都非常嚴(yán)格。

另外,阿里巴巴大促場(chǎng)景非常復(fù)雜,包括線上線下以及海內(nèi)外多種場(chǎng)景?;A(chǔ)設(shè)施分布在全球多地,數(shù)十個(gè)機(jī)房同時(shí)支撐,系統(tǒng)復(fù)雜性非常高。

總結(jié)來(lái)看,我們的業(yè)務(wù)場(chǎng)景大致有以下幾個(gè)特點(diǎn):

  1. 業(yè)務(wù)多樣性。作為數(shù)據(jù)庫(kù)中臺(tái),數(shù)據(jù)庫(kù)團(tuán)隊(duì)要支撐集團(tuán)所有業(yè)務(wù)。包括核心電商、線下新零售場(chǎng)景以及各個(gè)獨(dú)立子公司。各種場(chǎng)景對(duì)數(shù)據(jù)庫(kù)的要求也不一樣,比如線上場(chǎng)景就要求高并發(fā)低延時(shí),故障快速恢復(fù)。線下場(chǎng)景則要求絕對(duì)可用,而且接入及使用數(shù)據(jù)庫(kù)的方式都不受控制。而新加入阿里體系的收購(gòu)公司,有原來(lái)的運(yùn)維體系,要求他們做改變也不太現(xiàn)實(shí)??傊枨蟮亩鄻有詫?duì)數(shù)據(jù)庫(kù)的要求非常高。
  2. 基礎(chǔ)設(shè)施多樣化,數(shù)據(jù)中心分布在全球,有的用公有云、有的有自建機(jī)房,有的用物理機(jī),有的用Docker、用彈性計(jì)算等,整個(gè)集團(tuán)就是一個(gè)超級(jí)大的混合云。
  3. 雙11超級(jí)大熱點(diǎn),除了成本和性能方面,雙11在彈性方面有很高的要求。我們也不可能為雙11買(mǎi)這么多機(jī)器,那太浪費(fèi)了。早期,會(huì)在不同的業(yè)務(wù)線之間進(jìn)行拆借,比如借云的機(jī)器或者借離線的機(jī)器,大促后歸還,全靠人肉搬機(jī)器。整個(gè)大促周期非常長(zhǎng),人力成本和機(jī)器成本都很高。
阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

針對(duì)以上情況,我們形成了如下架構(gòu)。主要思路是向下層屏蔽差異,向上層提供多樣化服務(wù)能力,中間圍繞著彈性、穩(wěn)定性、智能化進(jìn)行建設(shè)。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

早期的運(yùn)維系統(tǒng)因?yàn)楦鞣N原因,沒(méi)有設(shè)計(jì)好的架構(gòu)導(dǎo)致難以擴(kuò)展,***越來(lái)越臃腫,推翻重構(gòu)的事情并不少見(jiàn)?,F(xiàn)今,我們?cè)O(shè)計(jì)了服務(wù)化的運(yùn)維系統(tǒng)整體架構(gòu):

  1. 一來(lái)可以清晰地理順系統(tǒng)各個(gè)模塊之間的交互方式并標(biāo)準(zhǔn)化,徹底解決原來(lái)工具時(shí)代遺留下來(lái)的各自為政,各個(gè)功能散落在不同地方的問(wèn)題,整個(gè)系統(tǒng)的發(fā)展不再背負(fù)歷史包袱;
  2. 二來(lái)可以解決技術(shù)棧太多的問(wèn)題,從前端到底層采集、算法分析,我們不可能統(tǒng)一成一個(gè)框架、一種語(yǔ)言。讓這些模塊能互不影響、互相交互,是整個(gè)系統(tǒng)能做強(qiáng)的基礎(chǔ);
  3. 三來(lái)可以將整個(gè)系統(tǒng)的數(shù)據(jù)集中起來(lái),為后續(xù)智能化所需要的統(tǒng)一數(shù)據(jù)、統(tǒng)一算法提供基本要素;四來(lái)可以向外提供統(tǒng)一形式、功能多樣化的服務(wù)。要想做好做強(qiáng)一個(gè)服務(wù)類(lèi)的系統(tǒng),服務(wù)化是***步。

在底層,我們做了統(tǒng)一的資源調(diào)度層,用來(lái)屏蔽底層計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源的差異,向上交付標(biāo)準(zhǔn)的容器。

中間是數(shù)據(jù)庫(kù)層。因?yàn)闃I(yè)務(wù)的多樣性,數(shù)據(jù)庫(kù)類(lèi)型多種多樣,運(yùn)行在不同的環(huán)境,我們通過(guò)統(tǒng)一的命令通道和采集通道的抽象來(lái)屏蔽這些差異。

再往上是傳統(tǒng)的數(shù)據(jù)庫(kù)運(yùn)維層,包括常見(jiàn)的數(shù)據(jù)庫(kù)的生命周期管理,我們稱(chēng)之為L(zhǎng)ego,希望OPS這樣的基礎(chǔ)功能能像樂(lè)高一樣百變組合,迅速搭建我們想要的功能。還包括數(shù)據(jù)采集、處理存儲(chǔ)的模塊Kepler,我們希望把所有的運(yùn)行數(shù)據(jù)實(shí)時(shí)采集到,然后通過(guò)大數(shù)據(jù)處理、機(jī)器學(xué)習(xí)等手段發(fā)掘出深層價(jià)值,采集的數(shù)據(jù)包括OS、網(wǎng)絡(luò)、存儲(chǔ),數(shù)據(jù)庫(kù)的SQL流水、性能指標(biāo)等等,整個(gè)處理的數(shù)據(jù)量非常大,并且所有指標(biāo)都要求是秒級(jí)的。每秒都要處理超過(guò)100G的原始報(bào)文。

再往上是智能決策層,這一層完成自動(dòng)修復(fù)與優(yōu)化的工作,比如預(yù)期內(nèi)的故障,異常處理。也通過(guò)采集到的數(shù)據(jù),做一些分析和決策。

我們把整個(gè)系統(tǒng)的功能以服務(wù)的形式提供出來(lái),大家可以在這個(gè)基礎(chǔ)之上定制想要的功能。過(guò)去幾年,我們?cè)诩軜?gòu)實(shí)現(xiàn)方面一直堅(jiān)持“一個(gè)平臺(tái)、一套架構(gòu),集團(tuán)孵化、云上輸出”的策略,集團(tuán)內(nèi)部數(shù)據(jù)庫(kù)管控平臺(tái)提供服務(wù),所有模塊在一套架構(gòu)下實(shí)現(xiàn),產(chǎn)品在集團(tuán)檢驗(yàn)后開(kāi)始在云上輸出。不同的時(shí)期有不同的堅(jiān)持,在智能化時(shí)代,我們對(duì)這個(gè)架構(gòu)及策略也有所調(diào)整,這個(gè)在后面會(huì)提及。

解決架構(gòu)問(wèn)題后,我們過(guò)去兩年主要圍繞幾個(gè)能力進(jìn)行建設(shè),一是容器化與存儲(chǔ)計(jì)算分離,二是快速?gòu)椥耘c混部的能力,三是規(guī)?;桓杜c智能運(yùn)維,這幾項(xiàng)工作都是今天能夠發(fā)展成為集團(tuán)數(shù)據(jù)庫(kù)中臺(tái)以及支撐雙十一的關(guān)鍵能力。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

***,容器化是技術(shù)的量變到質(zhì)變,容器并沒(méi)有很多開(kāi)創(chuàng)性的技術(shù),各種技術(shù)合在一起開(kāi)辟了新的思路。所以在把數(shù)據(jù)庫(kù)放到容器里首先要突破我們的運(yùn)維思路,堅(jiān)定可以把數(shù)據(jù)庫(kù)放到容器里的這個(gè)想法。當(dāng)然這個(gè)過(guò)程中也遇到過(guò)穩(wěn)定性和性能問(wèn)題,比如網(wǎng)絡(luò)在使用bridge模式的時(shí)候,會(huì)有些CPU的增加。

最終在網(wǎng)絡(luò)團(tuán)隊(duì)不斷優(yōu)化后,基本可以做到與物理機(jī)持平。容器化一方面解決了很多環(huán)境問(wèn)題,另一方面也為數(shù)據(jù)庫(kù)的調(diào)度提供了可能,我們從16年開(kāi)始做數(shù)據(jù)庫(kù)容器化,到今年,絕大部份的數(shù)據(jù)庫(kù)都跑在了容器里。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

第二,存儲(chǔ)計(jì)算分離。其實(shí)數(shù)據(jù)庫(kù)最開(kāi)始就是存儲(chǔ)計(jì)算分離架構(gòu)的。在互聯(lián)網(wǎng)時(shí)代,這個(gè)架構(gòu)在最初遇到了瓶頸,因?yàn)榛ヂ?lián)網(wǎng)時(shí)代的容量擴(kuò)張非???。然后出現(xiàn)了分布式系統(tǒng),把計(jì)算搬到數(shù)據(jù)所在的地方。但是隨著技術(shù)的發(fā)展,特別是云的交付方式,存儲(chǔ)計(jì)算分離的交付則更為便捷。交付多少計(jì)算能力,交付多少存儲(chǔ),一目了然。

另外,存儲(chǔ)和計(jì)算的發(fā)展也不太均衡,比如雙11的時(shí)候,我要求的是計(jì)算能力,其實(shí)存儲(chǔ)并沒(méi)有增加多少。所以隨著技術(shù)的發(fā)展,我們這一圈基本上又轉(zhuǎn)了回來(lái)。當(dāng)然存儲(chǔ)計(jì)算分離要不要上,我們也是經(jīng)過(guò)了很長(zhǎng)時(shí)間的討論,今天來(lái)看,上存儲(chǔ)計(jì)算分離這個(gè)決定是對(duì)的。在這個(gè)過(guò)程中也遇到很多問(wèn)題,主要是延遲的問(wèn)題,畢竟經(jīng)過(guò)一層網(wǎng)絡(luò),IO時(shí)間是有增加的。

我們最開(kāi)始上了左邊這個(gè)架構(gòu),將遠(yuǎn)程存儲(chǔ)掛載到本地,這個(gè)延遲要較本地盤(pán)大很多,核心業(yè)務(wù)難以接受,在這個(gè)基礎(chǔ)之上,我們大規(guī)模引入RDMA網(wǎng)絡(luò),通過(guò)DBFS bypass掉kernel,延時(shí)基本能和本地盤(pán)相當(dāng),所以今年所有的核心業(yè)務(wù)就跑在了這個(gè)架構(gòu)上。

有了容器化和存儲(chǔ)計(jì)算分離的基礎(chǔ),就可以比較好的解決彈性問(wèn)題了。之前我們的彈性主要靠搬數(shù)據(jù)加搬機(jī)器,現(xiàn)在數(shù)據(jù)可以不用搬了。我們大促所用的機(jī)器主要來(lái)自?xún)蓚€(gè)地方,一個(gè)是離線資源,另外一個(gè)是云資源,我們用完之后云可以繼續(xù)對(duì)外售賣(mài)。

大家知道,雙11的高峰期主要在零點(diǎn)時(shí)段。所以我們?cè)诟叻迤趤?lái)的時(shí)候彈性擴(kuò)容,高峰期結(jié)束立即縮容,還機(jī)器給別人用。我們結(jié)合集團(tuán)的調(diào)度,做了一套混部調(diào)度系統(tǒng),可以做到數(shù)據(jù)庫(kù)快上快下,今年我們的核心集群10分鐘就可以完成彈性擴(kuò)縮,而我們最終的目標(biāo)是在1分鐘內(nèi)完成。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

第三,交付和診斷。我們說(shuō)云計(jì)算是IT資源交付能力的進(jìn)步。我們基本完成了向用戶(hù)交付數(shù)據(jù)庫(kù)資源,開(kāi)發(fā)人員可以通過(guò)系統(tǒng)自助完成數(shù)據(jù)庫(kù)資源的申請(qǐng)與使用。如果只是把交付理解為用戶(hù)自助獲取數(shù)據(jù)庫(kù)資源的話,我們已經(jīng)完成得很好了。

但集團(tuán)有更嚴(yán)苛和復(fù)雜的交付任務(wù)。比如下面兩個(gè)例子:大促時(shí)需要在上十萬(wàn)個(gè)數(shù)據(jù)庫(kù)實(shí)例里擴(kuò)容數(shù)千甚至上萬(wàn)個(gè)實(shí)例,大促完成后還需要縮容回來(lái)。每年有固定的或臨時(shí)的建站、遷站等操作,例如今年的一路向北和上海、張北多次建站,可能會(huì)涉及到數(shù)萬(wàn)數(shù)據(jù)庫(kù)實(shí)例及數(shù)十PB數(shù)據(jù),這些都非常考驗(yàn)我們交付的能力。

之前的常規(guī)做法是讓人來(lái)評(píng)估,確定好操作的數(shù)據(jù)庫(kù)范圍,算好需要多少機(jī)器資源,如何擺放等,再通過(guò)我們提供的遷移操作來(lái)完成。人需要來(lái)控制其中的每一個(gè)步驟,這是一個(gè)相當(dāng)繁瑣的工作。每年都要做那么幾次,在我們今天要求快上快下的時(shí)候就顯得特別力不從心。

所以我們提出軟件定義部署的概念,類(lèi)似常說(shuō)的編排。主要做兩個(gè)事情,一是把我們的這些操作都精確定義和記載下來(lái),線上的運(yùn)行環(huán)境也能用代碼精確定義出來(lái)。二是把中間的騰挪步驟交給系統(tǒng),人只需要描述最終的狀態(tài),在我們預(yù)測(cè)準(zhǔn)確到一定程度后,這個(gè)最終描述狀態(tài)也可以由系統(tǒng)來(lái)完成,真正的完成大促自動(dòng)化交付。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

可以看到,我們的鏈路其實(shí)很長(zhǎng),中間的各個(gè)組件出了問(wèn)題診斷是一件很難的事情。Gartner有一個(gè)名詞叫AIOPS,相信大家都聽(tīng)說(shuō)過(guò),其實(shí)Gartner提出AIOPS很早,最開(kāi)始指的是基于算法的OPS,隨著AI技術(shù)的發(fā)展呢,他順勢(shì)把這個(gè)詞的寫(xiě)法給改了,但本質(zhì)上沒(méi)有變,仍然是依托大數(shù)據(jù)、算法來(lái)改變OPS。

應(yīng)該說(shuō)這也是個(gè)樸素的概念,我們?cè)诓畈欢鄷r(shí)刻也提出了這個(gè)想法,最開(kāi)始叫做數(shù)據(jù)驅(qū)動(dòng),后來(lái)改名為運(yùn)行數(shù)據(jù)與數(shù)據(jù)運(yùn)營(yíng),也是通過(guò)各種算法,比如基線、異常檢測(cè)、關(guān)聯(lián)分析、趨勢(shì)預(yù)測(cè)等等來(lái)自動(dòng)決策或輔助我們決策。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

這便是CloudDBA的初衷,先把各種采集到的數(shù)據(jù)匯聚統(tǒng)一、預(yù)處理再加上領(lǐng)域知識(shí)和算法,打通從用戶(hù)到DB,從DB到底層硬件這兩個(gè)鏈路。在雙11的時(shí)候也能實(shí)時(shí)的診斷訪問(wèn)鏈路。當(dāng)然這里待挖掘的還非常多,現(xiàn)在我們可以說(shuō)只應(yīng)用了非常小的一部份。

***,我把之前講的這些都融進(jìn)了一個(gè)產(chǎn)品HDM,全稱(chēng)是混合云數(shù)據(jù)庫(kù)管理平臺(tái)。Gartner有一份報(bào)告指出,到2020年的時(shí)候,有85%的企業(yè)會(huì)使用混合云的架構(gòu)。這和我們的判斷是一致的。之前提到過(guò),阿里巴巴集團(tuán)就是一個(gè)超大的混合云,所以我們推出了HDM,幫助企業(yè)把混合云數(shù)據(jù)庫(kù)架構(gòu)打通。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

HDM主要提供兩大功能,一是統(tǒng)一管理,不管是云上的還是云下還是其他云的數(shù)據(jù)庫(kù),都可以進(jìn)行統(tǒng)一管理與診斷。二是彈性擴(kuò)展,一鍵把數(shù)據(jù)庫(kù)上云也不再是夢(mèng)想。在數(shù)據(jù)庫(kù)層消除本地IDC和云的區(qū)別。

在提出HDM后一段時(shí)間里,我一度認(rèn)為這基本上就是數(shù)據(jù)庫(kù)服務(wù)的未來(lái)了。但這些年,不管是數(shù)據(jù)庫(kù)領(lǐng)域,還是運(yùn)維領(lǐng)域,都在飛速的向前發(fā)展,我們似乎又到了一個(gè)技術(shù)集中爆發(fā)的時(shí)間點(diǎn)。一方面是新的軟硬件技術(shù),比如容器、高速網(wǎng)絡(luò),機(jī)器學(xué)習(xí),另外一個(gè)是云計(jì)算的發(fā)展,都在不斷的推動(dòng)我們向前,提供更好的交付及服務(wù)。

3. 通往智能之路:自治數(shù)據(jù)庫(kù)平臺(tái)

在數(shù)據(jù)庫(kù)領(lǐng)域,有自治數(shù)據(jù)庫(kù)、智能數(shù)據(jù)庫(kù),在運(yùn)維領(lǐng)域,有AIOPS等等。這對(duì)數(shù)據(jù)庫(kù)運(yùn)維來(lái)說(shuō)到底意味著什么,我們結(jié)合過(guò)去和現(xiàn)在的情況,提出了自治數(shù)據(jù)庫(kù)平臺(tái)。這個(gè)定義是很多人一起討論了很久才定出來(lái)的。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

首先是平臺(tái)的能力和目標(biāo),我們希望能做到自動(dòng)駕駛,簡(jiǎn)單的說(shuō)就是不需要人的參與。要做到這個(gè),就要具備自感知、自決策、自恢復(fù)、自?xún)?yōu)化四大能力。其次是平臺(tái)能為數(shù)據(jù)庫(kù)賦能,今天的現(xiàn)狀是我們用了很多種數(shù)據(jù)庫(kù),不能對(duì)每個(gè)數(shù)據(jù)庫(kù)有很高的要求才能自治,我們可以進(jìn)行能力分級(jí)。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

我們也有非常明確的業(yè)務(wù)目標(biāo),這是阿里數(shù)據(jù)庫(kù)事業(yè)部掌門(mén)人公開(kāi)的目標(biāo):在2020財(cái)年結(jié)束的時(shí)候,阿里集團(tuán)85%的數(shù)據(jù)庫(kù)實(shí)例要能做到自動(dòng)駕駛。我為此定了兩個(gè)評(píng)估指標(biāo),一是沒(méi)有人接收這些數(shù)據(jù)庫(kù)的報(bào)警,另一個(gè)是穩(wěn)定性要達(dá)到99.995%。

目標(biāo)有了,具體怎么實(shí)現(xiàn)?首先,自治是一個(gè)技術(shù)的量變到質(zhì)變的過(guò)程。在過(guò)去的一段時(shí)間里,我們應(yīng)用了大量的新技術(shù),包括存儲(chǔ)計(jì)算分離,大數(shù)據(jù)處理與機(jī)器學(xué)習(xí)等等,掌握好這些技術(shù)是自治的基礎(chǔ)。

有了這些技術(shù),還需要革新我們的思路,就像今天的電動(dòng)汽車(chē)或自動(dòng)駕駛,由傳統(tǒng)廠商來(lái)制造,都顯得差強(qiáng)人意,這一方面是思維定勢(shì),另一方面則是有它的歷史包袱。

我們需要破除這些,比如我們之前的數(shù)據(jù)、運(yùn)維、資源都是分割開(kāi)來(lái)的,所謂自動(dòng)處理都是先接收一個(gè)報(bào)警,然后根據(jù)報(bào)警的內(nèi)容做自動(dòng)化,這明顯沒(méi)辦法形成一個(gè)統(tǒng)一的整體。今天我們需要先去構(gòu)建整個(gè)骨架,然后讓數(shù)據(jù)、算法去豐富、去潤(rùn)滑整個(gè)系統(tǒng)。

另外還需要專(zhuān)業(yè)知識(shí)。數(shù)據(jù)庫(kù)是高度專(zhuān)業(yè)的系統(tǒng),之前可能由DBA、內(nèi)核開(kāi)發(fā)人員去調(diào)校,靠數(shù)據(jù),靠試錯(cuò),靠經(jīng)驗(yàn)。這些知識(shí)如何精確化、數(shù)字化下來(lái),讓系統(tǒng)也具備這些能力,是我們要去努力的事情。

***,重要的一點(diǎn)是要持續(xù)提升原有的基礎(chǔ)能力,不是說(shuō)我們今天智能化、自治化就是數(shù)據(jù)和算法,其他基礎(chǔ)能力同等重要,比如OPS,我們提出了一個(gè)ad-hoc執(zhí)行:假如決策模塊作出了一個(gè)決策是全網(wǎng)內(nèi)存水位高于95%的數(shù)據(jù)庫(kù)實(shí)例做一個(gè)action,你要能夠很快執(zhí)行下去。

阿里數(shù)據(jù)庫(kù)運(yùn)維10年演進(jìn)之路

我們目前正在向這個(gè)方向前進(jìn),預(yù)計(jì)很快我們就會(huì)對(duì)一部份數(shù)據(jù)庫(kù)實(shí)例實(shí)施自治,歡迎有興趣的同學(xué)加入一起建設(shè),共同迎接自治時(shí)代的到來(lái)。

責(zé)任編輯:張燕妮 來(lái)源: 云棲社區(qū)
相關(guān)推薦

2024-07-17 11:40:58

2018-09-18 09:36:52

運(yùn)維數(shù)據(jù)庫(kù)智能

2022-12-07 21:28:43

數(shù)據(jù)庫(kù)運(yùn)維云原生

2018-08-27 10:59:07

京東數(shù)據(jù)庫(kù)智能運(yùn)維

2018-05-02 11:16:27

數(shù)據(jù)中心

2018-04-03 12:14:39

數(shù)據(jù)庫(kù)產(chǎn)品演講

2016-09-23 09:22:12

2018-09-11 17:40:23

容器數(shù)據(jù)云計(jì)算

2018-12-13 11:00:44

阿里數(shù)據(jù)庫(kù)彈性

2018-06-13 09:56:14

運(yùn)維智能無(wú)人化

2018-12-14 11:04:56

數(shù)據(jù)庫(kù)運(yùn)維智能

2023-10-11 11:33:35

2017-12-07 15:07:28

阿里巴巴數(shù)據(jù)庫(kù)技術(shù)架構(gòu)演進(jìn)

2023-06-06 07:31:33

數(shù)據(jù)庫(kù)運(yùn)維管理平臺(tái)

2023-01-03 08:55:38

PG數(shù)據(jù)庫(kù)運(yùn)維

2024-04-22 08:15:50

數(shù)據(jù)庫(kù)運(yùn)維工具

2015-10-15 14:29:57

數(shù)據(jù)中心運(yùn)維

2018-11-15 09:08:34

運(yùn)維架構(gòu)技術(shù)

2019-04-25 15:35:37

MySQL數(shù)據(jù)庫(kù)運(yùn)維Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)