為現(xiàn)代化應用而生,數(shù)據(jù)庫的三次“進階”
所有固體都有一定的微觀結(jié)構(gòu)。如果施加外力后,物體能恢復到原來的形態(tài),這就叫“彈性形變”。在生活中,很多東西都有彈性,比如橡皮筋、彈簧、彈弓等等。它們的共同點在于,可以根據(jù)不同需要進行拉伸或收縮。
在商業(yè)場景中,“彈性”同樣重要。比如,零售商每年都要經(jīng)歷數(shù)次的大促流量峰值,游戲公司定期會有比賽訪問高峰,媒體社交平臺上常有突發(fā)新聞爆點……想要讓用戶體驗始終“絲滑”,支持這些工作負載的數(shù)據(jù)庫就要擁有足夠的“彈性”——在高峰期快速擴容,在流量回落后又自動縮容。因為,讓每個企業(yè)都按峰值容量購買和預置服務,又或是按平均容量預置,都不可避免地會造成資源浪費。
當然,企業(yè)現(xiàn)如今對靈活工作負載的需求,已經(jīng)不僅僅表現(xiàn)在這些每年為數(shù)不多的點狀峰值期,而是全方位的海量數(shù)據(jù)處理和毫秒級應用響應。一方面,隨著“萬物互聯(lián)”時代到來,數(shù)據(jù)量出現(xiàn)爆炸式增長,其形態(tài)呈現(xiàn)多樣化,其分布也更加分散化,這要求數(shù)據(jù)庫技術(shù)與時俱進,以支持對數(shù)據(jù)的實時處理;另一方面,環(huán)境的更迭變幻加快,企業(yè)必須塑造自身的敏捷性、更快地構(gòu)建現(xiàn)代化應用,而這背后,同樣要求專庫專用。
云數(shù)據(jù)庫的出現(xiàn),賦予了企業(yè)這樣的彈性力和創(chuàng)新力。
“初代”云托管數(shù)據(jù)庫亮相,搞定彈性難題
作為云原生產(chǎn)物,云數(shù)據(jù)庫天然具備云的多可用區(qū)部署、低運維和低成本等先天優(yōu)勢,能夠為企業(yè)節(jié)省開銷并提升穩(wěn)定性。
反觀傳統(tǒng)商業(yè)數(shù)據(jù)庫,不僅價格昂貴,同時,由于大多采用的是集中式架構(gòu),在擴展性和靈活性方面也先天不足。曾經(jīng),需要開發(fā)一款應用,在設(shè)計架構(gòu)時,架構(gòu)師有件非常重要的事情要做,那就是“Sizing”(中文翻譯“規(guī)模估算”),就像是裁縫做衣服,必須量體裁衣。當我們需要新建或者擴容時,通常需要增加設(shè)備采購、設(shè)計周密擴容計劃。并且,在面對海量數(shù)據(jù)處理需求時,只能走向分庫、分表,這對應用程序是侵入性的,額外的查詢邏輯和冗余存儲,會造成諸多隱患。
因此,云托管數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫誰能匹配企業(yè)現(xiàn)代化應用對擴展性的需求?用數(shù)據(jù)說話,據(jù)Gartner 預測,到2023年,全球3/4的數(shù)據(jù)庫都會跑在云上——這也在一定程度上印證了這一點。
在這個賽道,亞馬遜云科技稱得上是“初代”云托管數(shù)據(jù)庫服務商。早在2009年,Amazon Relational Database Service (or Amazon RDS)就已問世,當時主要支持MySQL,如今已經(jīng)成為了一項囊括Amazon Aurora、Oracle、SQL Server、PostgreSQL、MariaDB的云服務,一款歷經(jīng)12年捶打的成熟產(chǎn)品。;2014年推出的首款云原生關(guān)系型數(shù)據(jù)庫Amazon Aurora是亞馬遜歷史上用戶數(shù)量增長速度最快的云服務。
曾經(jīng),大家會疑惑于Amazon Aurora的定位,畢竟在它誕生的那個年代,傳統(tǒng)關(guān)系型數(shù)據(jù)庫市場已經(jīng)被大眾普遍認為是紅海市場。但是Amazon Aurora“另辟蹊徑”,集傳統(tǒng)商業(yè)數(shù)據(jù)庫與云數(shù)據(jù)庫的優(yōu)點于一身:既有傳統(tǒng)商業(yè)數(shù)據(jù)庫的高性能和高可用,又具有開源數(shù)據(jù)庫的簡單性和成本效益。
舉例來說,當業(yè)內(nèi)的數(shù)據(jù)庫廠商還只關(guān)注數(shù)據(jù)庫的性能指標,強調(diào)在單個可用區(qū)實現(xiàn)幾倍于標準開源的性能時, Aurora已經(jīng)做到了在跨幾十公里的不同可用區(qū)(甚至是3個可用區(qū))提供強大的業(yè)務連續(xù)性支 持,并且能夠做到標準開源MySQL的5倍。這是因為,亞馬遜科技選擇了對于數(shù)據(jù)可用性不妥協(xié)的6個副本,并將其分布在3AZ的分布存儲架構(gòu),這樣一來,哪怕是在一個故障可用區(qū)加一個健康可用區(qū)的1份數(shù)據(jù)副本缺失的情況下,也不會影響企業(yè)業(yè)務運行。這對于企業(yè)面對各種不確定性、保持業(yè)務的連續(xù)性極為重要。
此外,由于Aurora的數(shù)據(jù)庫計算資源與存儲層是相互獨立的,所以,數(shù)據(jù)庫的容量設(shè)定不會影響數(shù)據(jù)庫的效能。換句話說,在面對突如其來的高流量并發(fā)時,企業(yè)也可以從容應對,對計算節(jié)點和存儲節(jié)點進行彈性擴容,按需、按量使用和付費。
自2015年亞馬遜云科技躋身于Gartner發(fā)布的數(shù)據(jù)庫管理系統(tǒng)魔力象限之后,已經(jīng)連續(xù)第7年被評為云數(shù)據(jù)庫領(lǐng)導者。
Gartner 2021全球云數(shù)據(jù)庫魔力象限報告
Serverless數(shù)據(jù)庫進階,實現(xiàn)彈性伸縮
世界的發(fā)展不是線性的,一個創(chuàng)新或者一個事件的出現(xiàn),往往會顛覆一個行業(yè)。技術(shù)世界也遵循這一規(guī)律。如果說云托管數(shù)據(jù)庫給企業(yè)工作負載帶來了一定程度的“彈性力”提升與運維資源的釋放,那么,Serverless數(shù)據(jù)庫的出現(xiàn),則把這個“閾值”直接拉滿——能夠?qū)崿F(xiàn)完全地按量使用和按需彈性,從而貼合各種場景的需求。
從架構(gòu)出發(fā)來看其中的變化,雖然云數(shù)據(jù)庫實現(xiàn)了計算和存儲資源的解耦,但是,計算與內(nèi)存依然是強綁定的。這會在很大程度上影響用戶的靈活資源配置,比如,對于電商、社交等互聯(lián)網(wǎng)平臺,其峰值期通常會發(fā)生在集中的短時間內(nèi),平時只需少量內(nèi)存就能保證99%的緩存命中率,但是,一旦到了高峰期,計算的需求就會遠高于內(nèi)存。所以,成本浪費依舊無法避免。
在這方面,Serverless數(shù)據(jù)庫實現(xiàn)了突破——通過內(nèi)存、計算、存儲三層資源的分離,進一步提升了企業(yè)應用負載的彈性能力。換言之,在“初代”云數(shù)據(jù)庫階段,雖然用戶不需要考慮擴縮容時機,但仍要考慮它的費用、成本等;而Serverless數(shù)據(jù)庫則實現(xiàn)了按更小粒度的使用量付費。
敏銳觀察行業(yè)技術(shù)發(fā)展的亞馬遜云科技,很快就洞察到了這一技術(shù)的潛力。所以,才會在自己的產(chǎn)品設(shè)計中,一早就把Serverless理念融入其中。比如,2012年發(fā)布的Key-Value數(shù)據(jù)庫DynamoDB,可以視作serverless的較早實現(xiàn)。
據(jù)了解,DynamoDB可以構(gòu)建吞吐量和存儲空間幾乎無限的應用程序,并且,無論是在什么規(guī)模環(huán)境中,都可以提供一致的且毫秒級的響應,非常適用于任意規(guī)模、低延遲數(shù)據(jù)訪問的應用場景——比如游戲、廣告等等。在亞馬遜內(nèi)部,目前全球的多個高流量網(wǎng)站和系統(tǒng)都已經(jīng)采用了DynamoDB,舉例來說,在此前的Prime Day期間,更是進行了數(shù)萬億次的API調(diào)用,達到每秒8,920萬次請求的峰值。
在亞馬遜云科技看來,一切皆可Serverless。 Amazon DynamoDB,Amazon Aurora (云關(guān)系型數(shù)據(jù)庫)、Amazon Timestream(時間序列數(shù)據(jù)庫服務)、Amazon Keyspaces(兼容 Apache Cassandra 的托管數(shù)據(jù)庫服務)和Amazon Quantum Ledger Database (Amazon QLDB)(全托管的分類賬數(shù)據(jù)庫),無一例外,全部是具有Serverless特性的數(shù)據(jù)庫服務。
在Serverless架構(gòu)下,不僅讓數(shù)據(jù)庫擺脫的單點的擴展瓶頸,而且還完全釋放了運維的壓力。用戶只需要創(chuàng)建數(shù)據(jù)庫端點,就可以選擇想要使用的數(shù)據(jù)庫引擎以及容量,操作極為簡便。比如,用戶只要設(shè)定Aurora Serverless最大與最小容量,或者特定的條件(比如一定的CPU使用量閾值),應用就會連接到代理(Proxy Fleet)中,從而實現(xiàn)工作負載資源的自動擴展。
據(jù)了解,更新到第二版本的Aurora Serverless已經(jīng)可以在幾分之一秒內(nèi),將數(shù)據(jù)庫工作負載從數(shù)百個事務擴展到數(shù)十萬個事務,如果和按照峰值負載配置容量的成本相比,最多可以幫助企業(yè)節(jié)省下90%的數(shù)據(jù)庫成本。放在過去,這是非常不可思議的成本節(jié)約。
AI賦能數(shù)據(jù)庫,解放人力,創(chuàng)造新應用
Serverless被視為繼虛擬化、容器技術(shù)之后,云計算的第三代通用計算平臺。通過封裝幾乎所有底層資源,賦予了企業(yè)所需的彈性力。與此同時,它還封裝了大量的系統(tǒng)運維工作,進一步解放了開發(fā)人員的工作。通過在接入層、計算層和數(shù)據(jù)存儲層等方面的Serverless化,企業(yè)的開發(fā)人員可以減少對底層基礎(chǔ)設(shè)施的關(guān)注,專注于業(yè)務實現(xiàn)。
而在這基礎(chǔ)上,如果加上AI的加持,人力將會被最大釋放。
就像是自動駕駛汽車,當Level 5級來臨之時,司機就可以被完全解放出來,在路上看書、看視頻、開會、睡覺甚至是K歌。通過引入AI、機器學習等技術(shù),數(shù)據(jù)庫同樣可以做到自動化運維——無論是打補丁、備份還是調(diào)優(yōu)、修復、擴展,這些以前需要專門的DBA(數(shù)據(jù)庫管理員)去完成的工作,就可以減少人工干預。比如,在今年re:Invent全球大會上發(fā)布的DevOps Guru for RDS,就是一個范例。它允許用戶輕松地借助AI去檢測、診斷和解決云托管數(shù)據(jù)庫中的性能和操作問題。
如我們所知,數(shù)據(jù)庫一直都是IT運維管理的重點,而且,因為工作繁瑣、技術(shù)含量高,DBA人才非常緊缺。所以,AI的加入起碼會帶來兩大好處:第一,簡化數(shù)據(jù)庫運維的復雜度,降低數(shù)據(jù)使用門檻,從而彌合人才短缺的困境;第二,從繁瑣運維工作中解放出來的人工,還可以投入到更具創(chuàng)造力的工作中。
比如,亞馬遜云科技提出的智能湖倉架構(gòu),不僅允許數(shù)據(jù)庫、數(shù)據(jù)倉庫以及各種分析工具之間實現(xiàn)數(shù)據(jù)的無縫流動,同時,基于機器學習能力,還能賦能于DBA、數(shù)據(jù)庫工程師等人員。值得一提的是,在這個過程中,用戶甚至不需具備機器學習的專業(yè)知識,只要使用熟悉的數(shù)據(jù)庫查詢語言(如SQL),就可以進行機器學習操作。
以點帶面,亞馬遜云科技的數(shù)據(jù)庫服務與人工智能和機器學習實際上是深度集成的,體現(xiàn)在具體的產(chǎn)品上,包括了Amazon Aurora ML、Amazon Neptune ML等諸多功能服務。其中,Amazon Neptune ML借助由深度圖數(shù)據(jù)庫(DGL)和Amazon SageMaker 驅(qū)動的圖神經(jīng)網(wǎng)絡(luò)(GNN),能在幾小時內(nèi)對圖數(shù)據(jù)庫進行基于機器學習的預測,用于知識圖、欺詐檢測或產(chǎn)品推薦應用中,通過所需的數(shù)十億個節(jié)點/關(guān)系所蘊含的數(shù)據(jù)進行推斷。
據(jù)了解,今年8月,亞馬遜云科技已經(jīng)通過與光環(huán)新網(wǎng)和西云數(shù)據(jù)的合作,在中國推出了Amazon Neptune ML。
數(shù)據(jù)庫的“進階”故事,未完待續(xù)
縱覽全局,亞馬遜云科技的數(shù)據(jù)庫服務遵循的是五大理念,前面介紹的主要是三個方面:其一,專庫專用,提供十數(shù)種專門構(gòu)建的數(shù)據(jù)庫服務,其中就包括了非常核心的、專為云平臺打造的關(guān)系型數(shù)據(jù)庫Amazon Aurora;其二,開創(chuàng)Serverless路線,進一步簡化用戶創(chuàng)建、維護和擴展數(shù)據(jù)庫的過程,實現(xiàn)高度擴展性及自動伸縮容量;其三,AI賦能數(shù)據(jù)庫,降低數(shù)據(jù)庫運維成本,并讓數(shù)據(jù)庫也能直接參與機器學習。
除此之外,還有兩點不得不提:一是作為全球最大的云服務商,亞馬遜云科技的全球部署能力,基于遍及25個地理區(qū)域的81個可用區(qū)(AZ)全球基礎(chǔ)設(shè)施,亞馬遜云科技提供了多個可支持全球分布式應用系統(tǒng)的數(shù)據(jù)庫功能,可以幫助企業(yè)將業(yè)務部署到全球;
二是平滑遷移的能力,通過多種創(chuàng)新的遷移服務,可以幫助企業(yè)實現(xiàn)數(shù)據(jù)庫“無感”遷移。其中,在今年re:Invent上最新發(fā)布的Babelfish for Amazon Aurora PostgreSQL,可以幫助企業(yè)遷移SQL Server應用,而Amazon Database Migration Service Fleet Advisor則允許用戶通過自動發(fā)現(xiàn)和分析遷移隊列來快速構(gòu)建數(shù)據(jù)庫和分析自己的遷移計劃。
可以說,一直以來亞馬遜云科技都是云數(shù)據(jù)庫領(lǐng)域的“風向標”,無論是最早的Amazon Redshift還是后來的Amazon Aurora,又或是現(xiàn)在的Serverless系列服務——云數(shù)據(jù)庫的“時尚”風向,亞馬遜云科技完全“拿捏”。
而未來,隨著企業(yè)的轉(zhuǎn)型“姿態(tài)”越來越快、越來越敏捷,可以肯定的是,現(xiàn)代化應用的構(gòu)建和運行會常態(tài)化,而作為核心支撐的數(shù)據(jù)庫技術(shù)的更新迭代,依舊任重而道遠。所以,我們相信,亞馬遜科技數(shù)據(jù)庫服務的“進階”故事,也仍是“未完待續(xù)”。
本文章選自《數(shù)字化轉(zhuǎn)型方略》雜志,閱讀更多雜志內(nèi)容,請掃描下方二維碼