為現代化應用而生,數據庫的三次“進階”
所有固體都有一定的微觀結構。如果施加外力后,物體能恢復到原來的形態,這就叫“彈性形變”。在生活中,很多東西都有彈性,比如橡皮筋、彈簧、彈弓等等。它們的共同點在于,可以根據不同需要進行拉伸或收縮。
在商業場景中,“彈性”同樣重要。比如,零售商每年都要經歷數次的大促流量峰值,游戲公司定期會有比賽訪問高峰,媒體社交平臺上常有突發新聞爆點……想要讓用戶體驗始終“絲滑”,支持這些工作負載的數據庫就要擁有足夠的“彈性”——在高峰期快速擴容,在流量回落后又自動縮容。因為,讓每個企業都按峰值容量購買和預置服務,又或是按平均容量預置,都不可避免地會造成資源浪費。
當然,企業現如今對靈活工作負載的需求,已經不僅僅表現在這些每年為數不多的點狀峰值期,而是全方位的海量數據處理和毫秒級應用響應。一方面,隨著“萬物互聯”時代到來,數據量出現爆炸式增長,其形態呈現多樣化,其分布也更加分散化,這要求數據庫技術與時俱進,以支持對數據的實時處理;另一方面,環境的更迭變幻加快,企業必須塑造自身的敏捷性、更快地構建現代化應用,而這背后,同樣要求專庫專用。
云數據庫的出現,賦予了企業這樣的彈性力和創新力。
“初代”云托管數據庫亮相,搞定彈性難題
作為云原生產物,云數據庫天然具備云的多可用區部署、低運維和低成本等先天優勢,能夠為企業節省開銷并提升穩定性。
反觀傳統商業數據庫,不僅價格昂貴,同時,由于大多采用的是集中式架構,在擴展性和靈活性方面也先天不足。曾經,需要開發一款應用,在設計架構時,架構師有件非常重要的事情要做,那就是“Sizing”(中文翻譯“規模估算”),就像是裁縫做衣服,必須量體裁衣。當我們需要新建或者擴容時,通常需要增加設備采購、設計周密擴容計劃。并且,在面對海量數據處理需求時,只能走向分庫、分表,這對應用程序是侵入性的,額外的查詢邏輯和冗余存儲,會造成諸多隱患。
因此,云托管數據庫與傳統數據庫誰能匹配企業現代化應用對擴展性的需求?用數據說話,據Gartner 預測,到2023年,全球3/4的數據庫都會跑在云上——這也在一定程度上印證了這一點。
在這個賽道,亞馬遜云科技稱得上是“初代”云托管數據庫服務商。早在2009年,Amazon Relational Database Service (or Amazon RDS)就已問世,當時主要支持MySQL,如今已經成為了一項囊括Amazon Aurora、Oracle、SQL Server、PostgreSQL、MariaDB的云服務,一款歷經12年捶打的成熟產品。;2014年推出的首款云原生關系型數據庫Amazon Aurora是亞馬遜歷史上用戶數量增長速度最快的云服務。
曾經,大家會疑惑于Amazon Aurora的定位,畢竟在它誕生的那個年代,傳統關系型數據庫市場已經被大眾普遍認為是紅海市場。但是Amazon Aurora“另辟蹊徑”,集傳統商業數據庫與云數據庫的優點于一身:既有傳統商業數據庫的高性能和高可用,又具有開源數據庫的簡單性和成本效益。
舉例來說,當業內的數據庫廠商還只關注數據庫的性能指標,強調在單個可用區實現幾倍于標準開源的性能時, Aurora已經做到了在跨幾十公里的不同可用區(甚至是3個可用區)提供強大的業務連續性支 持,并且能夠做到標準開源MySQL的5倍。這是因為,亞馬遜科技選擇了對于數據可用性不妥協的6個副本,并將其分布在3AZ的分布存儲架構,這樣一來,哪怕是在一個故障可用區加一個健康可用區的1份數據副本缺失的情況下,也不會影響企業業務運行。這對于企業面對各種不確定性、保持業務的連續性極為重要。
此外,由于Aurora的數據庫計算資源與存儲層是相互獨立的,所以,數據庫的容量設定不會影響數據庫的效能。換句話說,在面對突如其來的高流量并發時,企業也可以從容應對,對計算節點和存儲節點進行彈性擴容,按需、按量使用和付費。
自2015年亞馬遜云科技躋身于Gartner發布的數據庫管理系統魔力象限之后,已經連續第7年被評為云數據庫領導者。

Gartner 2021全球云數據庫魔力象限報告
Serverless數據庫進階,實現彈性伸縮
世界的發展不是線性的,一個創新或者一個事件的出現,往往會顛覆一個行業。技術世界也遵循這一規律。如果說云托管數據庫給企業工作負載帶來了一定程度的“彈性力”提升與運維資源的釋放,那么,Serverless數據庫的出現,則把這個“閾值”直接拉滿——能夠實現完全地按量使用和按需彈性,從而貼合各種場景的需求。
從架構出發來看其中的變化,雖然云數據庫實現了計算和存儲資源的解耦,但是,計算與內存依然是強綁定的。這會在很大程度上影響用戶的靈活資源配置,比如,對于電商、社交等互聯網平臺,其峰值期通常會發生在集中的短時間內,平時只需少量內存就能保證99%的緩存命中率,但是,一旦到了高峰期,計算的需求就會遠高于內存。所以,成本浪費依舊無法避免。
在這方面,Serverless數據庫實現了突破——通過內存、計算、存儲三層資源的分離,進一步提升了企業應用負載的彈性能力。換言之,在“初代”云數據庫階段,雖然用戶不需要考慮擴縮容時機,但仍要考慮它的費用、成本等;而Serverless數據庫則實現了按更小粒度的使用量付費。
敏銳觀察行業技術發展的亞馬遜云科技,很快就洞察到了這一技術的潛力。所以,才會在自己的產品設計中,一早就把Serverless理念融入其中。比如,2012年發布的Key-Value數據庫DynamoDB,可以視作serverless的較早實現。
據了解,DynamoDB可以構建吞吐量和存儲空間幾乎無限的應用程序,并且,無論是在什么規模環境中,都可以提供一致的且毫秒級的響應,非常適用于任意規模、低延遲數據訪問的應用場景——比如游戲、廣告等等。在亞馬遜內部,目前全球的多個高流量網站和系統都已經采用了DynamoDB,舉例來說,在此前的Prime Day期間,更是進行了數萬億次的API調用,達到每秒8,920萬次請求的峰值。
在亞馬遜云科技看來,一切皆可Serverless。 Amazon DynamoDB,Amazon Aurora (云關系型數據庫)、Amazon Timestream(時間序列數據庫服務)、Amazon Keyspaces(兼容 Apache Cassandra 的托管數據庫服務)和Amazon Quantum Ledger Database (Amazon QLDB)(全托管的分類賬數據庫),無一例外,全部是具有Serverless特性的數據庫服務。
在Serverless架構下,不僅讓數據庫擺脫的單點的擴展瓶頸,而且還完全釋放了運維的壓力。用戶只需要創建數據庫端點,就可以選擇想要使用的數據庫引擎以及容量,操作極為簡便。比如,用戶只要設定Aurora Serverless最大與最小容量,或者特定的條件(比如一定的CPU使用量閾值),應用就會連接到代理(Proxy Fleet)中,從而實現工作負載資源的自動擴展。
據了解,更新到第二版本的Aurora Serverless已經可以在幾分之一秒內,將數據庫工作負載從數百個事務擴展到數十萬個事務,如果和按照峰值負載配置容量的成本相比,最多可以幫助企業節省下90%的數據庫成本。放在過去,這是非常不可思議的成本節約。
AI賦能數據庫,解放人力,創造新應用
Serverless被視為繼虛擬化、容器技術之后,云計算的第三代通用計算平臺。通過封裝幾乎所有底層資源,賦予了企業所需的彈性力。與此同時,它還封裝了大量的系統運維工作,進一步解放了開發人員的工作。通過在接入層、計算層和數據存儲層等方面的Serverless化,企業的開發人員可以減少對底層基礎設施的關注,專注于業務實現。
而在這基礎上,如果加上AI的加持,人力將會被最大釋放。
就像是自動駕駛汽車,當Level 5級來臨之時,司機就可以被完全解放出來,在路上看書、看視頻、開會、睡覺甚至是K歌。通過引入AI、機器學習等技術,數據庫同樣可以做到自動化運維——無論是打補丁、備份還是調優、修復、擴展,這些以前需要專門的DBA(數據庫管理員)去完成的工作,就可以減少人工干預。比如,在今年re:Invent全球大會上發布的DevOps Guru for RDS,就是一個范例。它允許用戶輕松地借助AI去檢測、診斷和解決云托管數據庫中的性能和操作問題。
如我們所知,數據庫一直都是IT運維管理的重點,而且,因為工作繁瑣、技術含量高,DBA人才非常緊缺。所以,AI的加入起碼會帶來兩大好處:第一,簡化數據庫運維的復雜度,降低數據使用門檻,從而彌合人才短缺的困境;第二,從繁瑣運維工作中解放出來的人工,還可以投入到更具創造力的工作中。
比如,亞馬遜云科技提出的智能湖倉架構,不僅允許數據庫、數據倉庫以及各種分析工具之間實現數據的無縫流動,同時,基于機器學習能力,還能賦能于DBA、數據庫工程師等人員。值得一提的是,在這個過程中,用戶甚至不需具備機器學習的專業知識,只要使用熟悉的數據庫查詢語言(如SQL),就可以進行機器學習操作。
以點帶面,亞馬遜云科技的數據庫服務與人工智能和機器學習實際上是深度集成的,體現在具體的產品上,包括了Amazon Aurora ML、Amazon Neptune ML等諸多功能服務。其中,Amazon Neptune ML借助由深度圖數據庫(DGL)和Amazon SageMaker 驅動的圖神經網絡(GNN),能在幾小時內對圖數據庫進行基于機器學習的預測,用于知識圖、欺詐檢測或產品推薦應用中,通過所需的數十億個節點/關系所蘊含的數據進行推斷。

據了解,今年8月,亞馬遜云科技已經通過與光環新網和西云數據的合作,在中國推出了Amazon Neptune ML。
數據庫的“進階”故事,未完待續
縱覽全局,亞馬遜云科技的數據庫服務遵循的是五大理念,前面介紹的主要是三個方面:其一,專庫專用,提供十數種專門構建的數據庫服務,其中就包括了非常核心的、專為云平臺打造的關系型數據庫Amazon Aurora;其二,開創Serverless路線,進一步簡化用戶創建、維護和擴展數據庫的過程,實現高度擴展性及自動伸縮容量;其三,AI賦能數據庫,降低數據庫運維成本,并讓數據庫也能直接參與機器學習。
除此之外,還有兩點不得不提:一是作為全球最大的云服務商,亞馬遜云科技的全球部署能力,基于遍及25個地理區域的81個可用區(AZ)全球基礎設施,亞馬遜云科技提供了多個可支持全球分布式應用系統的數據庫功能,可以幫助企業將業務部署到全球;
二是平滑遷移的能力,通過多種創新的遷移服務,可以幫助企業實現數據庫“無感”遷移。其中,在今年re:Invent上最新發布的Babelfish for Amazon Aurora PostgreSQL,可以幫助企業遷移SQL Server應用,而Amazon Database Migration Service Fleet Advisor則允許用戶通過自動發現和分析遷移隊列來快速構建數據庫和分析自己的遷移計劃。
可以說,一直以來亞馬遜云科技都是云數據庫領域的“風向標”,無論是最早的Amazon Redshift還是后來的Amazon Aurora,又或是現在的Serverless系列服務——云數據庫的“時尚”風向,亞馬遜云科技完全“拿捏”。
而未來,隨著企業的轉型“姿態”越來越快、越來越敏捷,可以肯定的是,現代化應用的構建和運行會常態化,而作為核心支撐的數據庫技術的更新迭代,依舊任重而道遠。所以,我們相信,亞馬遜科技數據庫服務的“進階”故事,也仍是“未完待續”。
本文章選自《AI啟示錄》雜志,閱讀更多雜志內容,請掃描下方二維碼