資料庫Serverless化,Amazon Aurora一直行走在通往未知的征途

danny_2018發表於2022-12-23

還記得Amazon Aurora剛剛誕生時的場景嗎?

2014年,也是在re:Invent大會上,Aurora充滿了童話色彩,她像一個極光女神,開創了雲原生資料庫時代。彈性伸縮、彈性計費、自動容錯,這種有別於傳統資料庫的新型技術體系,徹底打破了資料庫效能的天花板。

走到今天,8年過去了,Aurora憑藉高效能、高可用性不僅獲得了成千上萬使用者的青睞,也讓友商欽佩。只不過,在核心技術創新上,Aurora依然是 “謎”一樣的存在。

秒級響應背後

“作為應用程式的基石,雲原生資料庫應該考慮幾個方向,包括:效能、可用性、可擴充套件性、安全、易用性,以及與其他系統的整合。” 亞馬遜雲科技 資料庫專家架構師 馬麗麗,在接受IT168&ITPUB記者採訪時表示,作為一款託管資料庫,Aurora解決了使用者自建需要大量運維的煩惱,實現秒級延遲響應。

Aurora在中國的使用者覆蓋各行各業,比如:網際網路、金融、醫藥行業、以及中小型企業與創業公司等。從技術維度來看,使用者選擇Aurora的最主要原因是,它能夠提供比普通MySQL、PostgreSQL更好的效能,讀節點和寫節點之間能實現毫秒級別的延遲,以及極致高可用性和良好的擴充套件性。以Amazon Aurora MySQL為例,基於首個計算和儲存分離架構、日誌即資料庫這些功能,提供了相對於標準MySQL5倍的效能。

儘管, Aurora創造了極致效能,但沒有停止技術創新步伐。比如:提升了開啟binlog時的效能,在並行查詢功能中顯著提升分析能力。

在具體功能更新上,Aurora在2017年推出的快速資料庫克隆功能,可以幫助使用者在幾分鐘生成一個生產庫的克隆,可用於開發和測試,在2018年推出的Backtrack回溯功能,能夠幫助使用者快速將資料庫回退到之前的一個狀態,解決誤刪誤改後花費較長時間恢復資料庫的問題。

在核心的計算層,Aurora支援了讀節點的自動擴充套件,Aurora Serverless支援了對於單個寫或者讀的動態伸縮。

另外,資料整合能力也是亞馬遜雲科技一直創新的重點。由於資料庫是支撐使用者應用的一部分,和其他模組的有效整合決定了終端使用者體驗。Aurora和亞馬遜雲科技的其他產品進行了豐富的整合,包括透過在儲存過程內呼叫Lambda的方法,可以在關聯式資料庫中呼叫SageMaker進行模型推理。2022年,reInvent甚至推出了ZeroETL的工具可以使Aurora的資料在幾秒鐘實時傳輸到Redshift。

走到今天,Aurora在滿足使用者需求層面,進行了諸多創新和迭代:

第一,可用性方面,Aurora從初始的3個可用區6副本的區域內部的高可用開始,在2018年支援了全球資料庫,可以實現跨區域的災難恢復。

第二,擴充套件性方面,Aurora在儲存層支援了更大的容量到128TB,同時在2.09版本和1.23版本里也支援了刪除資料時儲存層的動態收縮。

第三,易用性方面,Aurora Performance Insights提供了對資料庫健康狀況的監測以及慢查詢、等待事件的展示,同時透過去年推出的DevOpsGuru for RDS的進一步增強,不僅可以識別出資料庫的潛在問題,還能對最佳化思路進行推薦。

第四,安全性方面,Aurora從誕生以來,陸續增加了傳輸中加密、快照加密、使用者登陸認證IAM、對使用者使用資料庫行為的審計功能DAS、以及今年新推出的GuardDuty for RDS,可以透過機器學習的方法來識別異常使用者。

更快,更敏捷

在2022re:Invent 大會上,亞馬遜雲科技執行長 Adam Selipsky特別提到了Aurora。那麼,2022年的Aurora有哪些功能亮點?以下更新,體現了Aurora一直以來的理念,那就是更快、更敏捷!

1、 ZeroETL。透過ZeroETL理念,使用者可以在Aurora和Redshift中間搭建一個快速整合的橋樑,僅僅需要在控制檯點幾下,Aurora的資料就可以源源不斷地傳輸到Redshift,而且延遲是秒級響應,該功能很好地實現了使用者對實時數倉的需求。另外,ZeroETL可以支援從多個Shard叢集到一個Redshift叢集,同時可以支援各大規模資料的分析查詢。

2、 對於Aurora PostgreSQL Trusted Language Extension(TLE)的支援。PostgreSQL的擴充套件外掛Extension的機制能夠給使用者極大的靈活度。更重要的是,TLE在提供給使用者Aurora PostgreSQL更好的靈活性的同時,也有很強的安全性、效能的支援。

3、 GuardDuty for RDS Protection。對於使用者來講,資料庫的安全性無疑是至關重要的,如果資料被沒有訪問許可權的人查詢甚至篡改了,往往會對使用者帶來很大的損失。Amazon GuardDuty RDS能夠給使用者提供更好的安全性,比如異常的登陸地址檢測、比如不停地重試密碼這些行為GuardDuty都能很快地識別並檢測出來。使用者可以透過簡單的配置,在無損資料庫效能的前提下,監控資料庫的使用者登陸情況,並可以透過機器學習的方法,識別出潛在有風險的行為,同時提示給使用者。

4、 藍綠部署。使用者可以利用藍綠部署的功能,為現在的生產環境(藍)建立一個拓撲一樣的同步環境(綠),在綠環境上進行測試和驗證,並且使用者可以選擇在合適的時機進行切換。藍綠部署能夠在1分鐘內幫助使用者完成藍綠環境的切換,同時可以保證資料不丟失。藍綠部署的工具能夠幫助使用者進行除錯、升級等方面的工作。

此外,今年re:Invent也是再次強調了Aurora Serverless V2。Aurora Serverless V2是Aurora使用增速最快的功能,能夠提供非常好的擴充套件性和便捷性。

Aurora從推出至今,一直在追求更好的效能,透過ZeroETL、TLE、GuardDuty、藍綠部署等創新功能,不僅帶來了雲原生資料庫的創新理念,更重要的是簡化了每一個資料開發者工作的繁雜性,全面提升工作效率。

Serverless是必然趨勢

擁抱雲原生資料庫,讓使用者像使用水和電一樣使用資料庫,Serverless做出了重要貢獻。

隨著應用層無伺服器化的發展,資料庫應用有可能瞬間就能達到壓力頂端,而Serverless資料庫能夠撐住暴增的訪問量,這是亞馬遜雲科技在十年前、也是業內最早部署Serverless資料庫的最根本原因。

即便是普通的應用程式,訪問資料庫的行為也可能有波峰波谷,無伺服器化的資料庫可以針對使用者訪問量進行實時伸縮。在訪問量大的時候,可以伸縮到比較高的容量;而在低訪問期間,則可以回退到比較低的配置。這也是最佳化資源配置的一種方式,無伺服器化能夠幫助使用者節約升本。

還有一點是,使用者在應用程式部署時,可能並不知道自己要進行什麼樣的資料庫選型,比如:多大規格,而選擇無伺服器資料庫,使用者不需要再為選擇什麼機型的資料庫而煩惱,因為無伺服器資料庫可以自動伸縮。

雖然,Serverless資料庫是大勢所趨,但並不是沒有技術門檻。要知道,企業自己管理傳統資料庫基礎設施都費時費勁,更何況還涉及雲端資料庫問題,需要管理軟硬體安裝、系統效能、可用性、容量規劃、合規等。

所以,選擇雲上託管資料庫服務可以簡化客戶運維,無須考慮複雜的基礎設施管理工作。基於雲原生資料庫,企業可以把更多時間用於創新,構建應用程式,而不是管理基礎設施。雲上資料庫可以透過Serverless的形式提供服務,將客戶運維工作儘可能降到最低。

無程式碼實踐讓Serverless走向普惠化

在亞馬遜雲科技原生資料庫產品矩陣中,Serverless資料庫與Amazon Lambda和 API Gateway等服務整合,可輕鬆構建現代化的無伺服器架構應用,進一步增強系統的快速部署、彈性伸縮能力。

針對更具挑戰性的全Serverless架構研發環節,亞馬遜雲科技再次攻破技術難點,站在行業的頂峰。在今年re:Invent 2022 上,Werner 博士在自己的Keynote上釋出了一款接近無程式碼實踐Serverless應用開發的服務。Composer本質上是一款無程式碼低程式碼構建Serverless 應用的工具,進一步推進了Serverless的普惠化,讓無伺服器化資料庫能夠人人可得。

目前,亞馬遜雲科技已經推出7款Serverless資料庫,所有資料分析服務都已Serverless化,真正實現了“全面Serverless架構”。無論是普通業務使用者,還是資料分析師、資料科學家等,均可直接基於Serverless產品,快速開展工作。

針對本文重點提到的Aurora ,亞馬遜推出了V1、 V2兩個無伺服器版本。相比於上一代V1版本,最新推出的 Aurora Serverless V2版本資源調配能力更強,適用範圍更廣。

V2版本在資源容量層採用的是原地擴充套件方式,使資源容量擴充套件速度由V1分鐘級提升到秒級;V2 版本能夠在容量調整時做到更細粒度, 以0.5 ACU 作為擴充套件單元(V1翻倍擴充套件),並能夠依據多個維度進行容量調整,透過持續的監控和儘可能大的利用緩衝池;Aurora Serverless v2 相比V1增加了完整的 Amazon Aurora 功能,包括多可用區支援、只讀副本和全球資料庫等,支援跨 AZ和跨區域的高可用部署和讀取擴充套件。

值得一提的是,Amazon Aurora Serverless v2 適合各種應用程式。例如,面對業務快速增長場景與海量多租戶場景時,比如:擁有數十萬個應用程式的企業,或擁有具有成百上千個資料庫的多租戶環境的軟體即服務 (SaaS) 供應商,可以使用 Amazon Aurora Serverless v2 來管理整個 SaaS 應用中眾多資料庫的容量。同時,Amazon Aurora Serverless v2還適用於業務吞吐量波動明顯的場景,如遊戲業務、電商業務、測試環境等,以及無法預估吞吐量的新業務系統。而對於大部分時間都處於低谷的業務系統,Amazon Aurora Serverless v2 則可以有效為客戶節省成本。

時代在發展,Aurora一直在被追趕,但從未被超越。Amazon Aurora能夠引領雲原生資料庫走向無伺服器時代,憑藉的是“以客戶為中心”的理念,儘量將客戶需求轉化為產品能力,讓更多使用者從中獲益。

至於,雲原生資料庫的下一步是什麼?未來會如何發展?借用馬麗麗的話來總結:更敏捷、更智慧、更易用,讓每一行程式碼都為應用而寫,這是一個漸進而又終極的目標!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2929289/,如需轉載,請註明出處,否則將追究法律責任。

相關文章