雲原生資料庫的下一次變革發生在哪裡?

亞馬遜雲開發者發表於2022-06-02

作者 | 萬佳

自上世紀 70 年代以來,關係型資料庫進入歷史舞臺,成為資料庫行業的主角。此後,這個行業步入一個黃金時代,某資料庫專家曾撰文寫道,“很長一段時間,關係型資料庫幾乎是包打天下的選擇。你很可能用一套資料庫玩轉所有業務,你也不需要一個連的工程師來維護它”。

“老而彌堅”的關係型資料庫

對資料庫行業來說,網際網路的出現卻帶來巨大變化:資料量急劇增大、資料型別愈加複雜、資料處理速度需求不斷提高,大資料時代全面到來。

因此,面向非結構化資料的 NoSQL 資料庫興起,出現了文件資料庫、時序資料庫、圖資料庫、搜尋資料庫等。

一時間,NoSQL 資料庫風光無限,得到不少企業青睞。大家恨不得把一切系統都用 NoSQL 改造。

NoSQL 之所以受歡迎,主要是解決了關係型資料庫中的各種問題。第一大問題是資料的 Schema 非常多,用關係型資料庫來表示不同的 Schema 非常笨拙,所以需要有不同的資料庫,比如文件型、時序型、搜尋型等。另一大問題是關係型資料庫的 ACID 極大影響了資料庫的效能和擴充套件性,因此 NoSQL 做出妥協來解決大規模伸縮的問題。

隨著移動網際網路的發展,大資料技術的廣泛應用,湧現出越來越多的新型資料庫,然而關係型資料庫依然佔據主導地位。為什麼它能經久不衰?主要原因之一是關係型資料庫採用了 SQL 標準,這種高階的非過程化程式設計介面語言,將電腦科學和易於人類理解認知的資料管理方式完美的銜接在一起,目前還難以超越。

雲時代:關係型資料庫的“進化”

雲端計算的出現和發展,讓越來越多的企業開始將資料庫部署在雲上。通過雲服務形式提供資料庫功能的雲資料庫應運而生。據悉,雲資料庫不僅減少了資料庫引數的重複配置,而且具有快速部署、高擴充套件性、高可用性、可遷移性和易運維性以及資源隔離等特點。

尤其是基於容器化、微服務、Serverless 等理念設計的具備彈性伸縮與全球部署能力的雲原生資料庫,能隨時隨地從多前端訪問,提供雲服務的計算節點,並且可以靈活及時調動資源進行擴縮容,助力企業降本增效,成為行業發展新趨勢。

可以說,資料庫在雲時代迎來變革。一方面,此時的資料庫向記憶體和分散式方向演進和發展,甚至 RDBMS 本身都受到 NoSQL 的挑戰;另一方面,在雲託管環境下,關係型資料庫逐漸暴露出一些問題。

此時,為適應變化,關係型資料庫需要革新和自我進化。而開路者就是連續 11 年被 Gartner 評為“全球雲端計算領導者”的亞馬遜雲科技(Amazon Web Services)。

亞馬遜雲科技在 2014 年推出關係型資料庫 Amazon Aurora。它相容 MySQL 和 PostgreSQL,採用共享儲存和讀寫分離的方式,不僅提升了資料庫效能,而且解決了可擴充套件性問題,讓傳統網際網路公司可以無縫遷移到雲上,這讓它成為雲端計算時代的一個代表。

憑藉既有傳統商業資料庫的高效能和可用性,以及具有開源資料庫的簡單性和成本效益,Amazon Aurora 成為亞馬遜雲科技歷史上使用者數量增速最快的雲服務,且躋身最受初創公司青睞的八項亞馬遜雲科技全球服務。

為什麼它能受到諸多企業青睞?這離不開 Amazon Aurora 強大的效能和先進的架構設計。

效能上,Amazon Aurora 與開源引擎完全相容,可獲得 5 倍於標準 MySQL 以及 3 倍於標準 PostgreSQL 的吞吐量,支援並行查詢可加速 OLAP 業務。其次,高可用方面,它能實現可用區(AZ)+1 的高可用,Global Database 可以完成跨區容災備份。第三,在擴充套件性方面,它支援 15 個只讀副本自動擴充套件,每個資料庫例項可自動擴充套件到 128 TB。最後,成本上,它提供商用級資料庫效能的同時,成本僅為其十分之一,儲存無需預置按用量付費。

架構上,Amazon Aurora 架構支援 Serverless 無伺服器架構。它採用計算與儲存分離的架構,可以做到儲存層的快速擴充套件,提升資料分析能力。同時,它還採用了獨特的日誌即資料庫理念,省去節點跟儲存層資料傳輸的量,以達到效能提升。

如果說雲時代的到來推動了資料庫的變革,那麼,與 Serverless 的結合,則再次為資料庫的發展添了把火。

亞馬遜雲科技在 2018 年推出 Amazon Aurora Serverless v1。據悉,它是 Amazon Aurora 的一種按需自動擴充套件配置版本,它會根據應用程式的需求自動啟動、關閉以及擴充套件或縮減容量,讓開發者無需管理任何資料庫例項,即可在雲中執行資料庫。

用 Amazon Aurora 替換 Oracle

從線上書店業務起家,經過二十多年的發展,Amazon 不僅成為一家跨國電子商務企業,而且是全球最大的網際網路線上零售商之一。

據瞭解,Amazon.com 於 1995 年 7 月上線,網站一開始銷售圖書。之後,銷售的商品從圖書向多元化發展,涵蓋音像製品、軟體、消費電子產品、家用電器、廚具、食品、玩具、母嬰用品、化妝品、日化用品、運動用具等類目。

早在 2008 年,Amazon 網站主域名 Amazon.com 的訪客數量至少達到 6.15 億,已經是當時沃爾瑪超市門店顧客數量的兩倍。除主域名外,Amazon 還在全球多個國家建立了本地化網站,包括中國、加拿大、英國、法國、德國、墨西哥和澳大利亞等。

使用者的不斷增加和全球市場的擴張,讓 Amazon 的電商業務蒸蒸日上。

但是,挑戰也隨之而來。一方面,Amazon 需要應對極高的訪問流量,尤其是聖誕季等購物節假日下的極端情況;另一方面,業務的快速發展,讓資料以指數速度增長,資料量不斷增加。據悉,在 2017 年,Amazon 電商有近 7500 個 OLTP 資料庫,累計儲存了 75PB 資料,涉及公司超 100 個團隊的 1000 多個應用程式。

一直以來,Amazon 都在使用 Oracle 資料庫,但是它發現,Oracle 資料庫不僅成本高,而且可擴充套件性差,無法適應不斷增長的業務需求。

除了可擴充套件性差、成本不斷增加,Amazon 電商還面臨著資料量和交易率增加帶來的延遲風險、遺留程式碼 / 架構導致的可用性風險,以及硬體配置和管理時間 / 資源帶來的運營風險。

如何解決自己面臨的挑戰?這成為擺在 Amazon 電商面前的難題。

為了解決這些問題,Amazon 電商決定替換 Oracle 資料庫,把近 7500 個 OLTP 資料庫遷移到 Amazon RDS 和 Amazon Aurora 中。Amazon Aurora 一大特性是其 85–90% 的 PostgreSQL 查詢與現有 Oracle 查詢相匹配,這意味著將查詢轉換為 Amazon Aurora PostgreSQL 幾乎全都是自動完成的。

遷移完成後,不僅節省了 40%-90% 的運營成本,而且大大改善了效能,同時 Amazon 電商通過使用亞馬遜雲科技託管資料庫服務將峰值擴充套件工作量和管理開銷減少 10 倍。由此可見,收益顯而易見。

如果說 Amazon 電商領略到 Amazon Aurora 強大的效能和可擴充套件性以及低成本優勢,那麼九州通則體會到其輕鬆實現低延時讀寫分離和應對業務負載波峰波谷的優勢。

九州通是一家以西藥、中藥、器械為主要經營產品,以醫療機構、批發企業、零售藥店為主要客戶物件,併為客戶提供資訊、物流等各項增值服務的大型企業集團。其中,線上 B2B 業務每年以 30% 以上的速度增長。

其 B2B 系統的業務特點是讀多寫少,讀寫比例在 8:2 到 7:3 之間,經常會出現波峰波谷落差較大的情況。並且,自建 MySQL 方式下,主庫與從庫之間的資料複製延時會超過 1 秒,讀寫分離效果不好,主庫壓力居高不下。

為此,九州通採用 Amazon Aurora,輕鬆實現資料庫的讀寫分離及按需擴充套件。使用 Amazon Aurora 資料庫服務,單個 Amazon Aurora 叢集可以支援多達 15 個只讀節點,支援線上自動擴充套件與收縮。整體資料庫效能提升 5 倍,TCO 降低了 50%,實現了跨可用區部署、負載均衡 / 自動故障轉移,精細監控 / 按需自動伸縮等。同時,還有效降低主庫工作負載壓力。此外,在效能和成本上取得高效平衡。藉助 Amazon Aurora Auto Scaling 功能,實現只讀副本按需伸縮,滿足業務需求的同時,節省伺服器成本。

而虎牙直播在全球化過程中,也選擇了 Amazon Aurora。2018 年初,虎牙直播上線海外產品 Nimo TV,年底,月活使用者達千萬級。產品成功登陸東南亞及拉美地區,2019 年進入西班牙市場。

據悉,在資料庫後臺,虎牙直播使用 DynamoDB 儲存使用者的動態資訊,包括支付、狀態、好友關注等資訊。相對靜態的資訊儲存在 Amazon Aurora 上,如使用者的基礎資訊。Amazon Aurora 能自動擴容,且因為計算和儲存分離,當資料量較大時,能單獨升級計算例項,確保效能。同時,異常情況下,通常只需 10 秒左右就能自動實現故障轉移,對終端使用者沒有任何影響。並且,利用其全球資料庫功能,可以提升本地使用者體驗。虎牙直播在亞馬遜雲科技亞太(新加坡)區域部署資料庫,在其他區域建立副本,提高當地使用者的使用體驗。

除了適用業務快速增長、低延時讀寫分離、業務負載波峰波谷、全球化部署、儲存擴容、全球化部署以及備份與恢復、容災,Amazon Aurora 還適用最小化系統停機時間、誤刪誤改、圖形化監控及效能調優場景。

去年,亞馬遜雲科技在 Gartner 報告《2021 Gartner Magic Quadrant for Cloud Database Management System》中被評為雲資料庫領導者,這已是亞馬遜雲科技連續七年獲此殊榮。之所以能獲得此評價,源於亞馬遜雲科技的不斷創新。

image.png
圖片來源:Gartner

比如,開創 Serverless 資料庫,實現資料庫的彈性伸縮,進一步簡化客戶建立、維護和擴充套件資料庫,實現高度擴充套件性及自動伸縮容量。又比如,推出 Babelfish for Amazon Aurora PostgreSQL,它使 Amazon Aurora 能相容 基於 Microsoft SQL Server 編寫的應用程式。再如 Amazon DevOps Guru,它是由機器學習提供支援的功能,可以幫助開發人員和開發運維工程師快速檢測、診斷和修正 Amazon RDS 中與資料庫相關的各種問題。

近日,Gartner 又釋出了 2021年DBMS 市場收入資料。我們看到雲的用量在以驚人的速度逐年增加。一方面,DBMS 市場持續加速增長,規模接近 800 億美元,比2020年增加145億美元;另一方面,市場格局變動,雲平臺供應商處於領先地位。其中,亞馬遜雲科技在 DBMS 市場的收入增長 42.3%,幾乎是市場增速的兩倍,在排名上與首位僅差0.1%。首次超越傳統資料庫巨頭 Oracle,這也側面印證了“雲端計算+資料庫”的強大力量。

image.png

對亞馬遜雲科技而言,資料庫方面的創新遠不止於此。截至目前,亞馬遜雲科技目前提供十多種專門構建的資料庫服務,支援關係、鍵值、文件、記憶體、圖、時間序列、寬列和分類賬八大資料型別。

image.png

為什麼亞馬遜雲科技要提供這麼多的資料庫產品?在筆者看來,正如亞馬遜技術長兼副總裁 Dr. Werner Vogels 所言,“開發者希望他們的應用程式能夠很好地被構建和有效擴充套件,為此,他們需要能夠在同一應用程式中使用多個資料庫和資料模型。很少有一個資料庫能夠滿足多個不同應用場景的需要,一刀切的資料庫時代已經過去,開發人員正在使用大量的專用資料庫來構建高度分散式的應用程式。開發人員正在做他們最擅長的事情:將複雜的應用程式分解成更小的部分,然後選擇解決每個問題的最佳工具。”

一直走在資料庫創新的路上:Amazon Aurora Serverless v2

在資料庫方向,亞馬遜雲科技的創新腳步從未停下,一直在前行。

最近,Amazon Aurora Serverless v2 上線。據悉,它可以立即擴充套件以支援最苛刻的應用程式,與峰值容量預置相比,可節省高達 90% 的成本。同時,在幾分之一秒內將資料庫工作負載擴充套件到數十萬個事務。可以說,它在可擴充套件性上和節省成本方面再上一層樓。並且,Amazon Aurora Serverless v2 提供了完整的 Amazon Aurora 功能,包括多可用區支援、全球資料庫和只讀副本。它能在容量調整時做到更細粒度,並依據多個維度進行容量調整,為應用程式的需求提供適量的資料庫資源。而企業無需管理資料庫容量,只需為應用程式消耗的資源付費。

image.png

更值得一提的是,Amazon Aurora Serverless v2 支援跨 AZ 的高可用部署和讀取擴充套件,通過持續的監控和儘可能大的利用緩衝池,v2 原地擴充套件可以做到秒級別。

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

當下,正值新一輪科技革命迅猛發展階段:資料規模爆炸性增長、資料型別愈發豐富、資料應用快速深化,資料驅動將帶來新一輪創新浪潮。而在資料庫領域,無伺服器架構也將成為雲原生資料庫未來發展的必然趨勢之一。

與亞馬遜雲科技一起,見證資料庫行業的未來!

相關文章