基于Serverless的數據庫,如何將擴展能力發揮到極致?
?Amazon Aurora Serverless v2 是 Amazon Aurora Serverless 的下一個版本,現已可用。Aurora Serverless v2 可立即擴展以支持最苛刻的應用程序,與峰值容量預置相比,可節省高達 90% 的成本。
關于云原生關系型數據庫
Amazon Aurora
Amazon Aurora 是一個與 MySQL 和 PostgreSQL 兼容的關系數據庫,它為云計算而構建,將傳統企業數據庫的性能和可用性與開源數據庫的簡單性和成本效益結合在一起。
Amazon Aurora 比標準 MySQL 數據庫快五倍,比標準 PostgreSQL 數據庫快三倍。它以十分之一的成本提供商業數據庫的安全性、可用性和可靠性。
Amazon Aurora 完全由 Amazon RDS 管理,該服務自動執行耗時的管理任務,如硬件配置、數據庫設置、修補和備份。
Amazon Aurora 擁有一個分布式、容錯、自我修復的存儲系統,每個數據庫實例可自動擴展到 128TB。它通過多達15個低延遲讀取副本、時間點恢復、到 Amazon S3 的連續備份以及跨三個可用性區域(AZ)的復制,提供了高性能和高可用性。
關于下一代基于無服務的云原生數據庫
配置選項 Aurora Serverless v2
Aurora Serverless 是 Amazon Aurora 的按需自動擴展配置。Aurora Serverless v2 在幾分之一秒內將數據庫工作負載擴展到數十萬個事務。它以細粒度的增量調整容量,為應用程序的需求提供適量的數據庫資源。您無需管理數據庫容量,只需為應用程序消耗的資源付費。早在2018年Amazon Aurora 即提供了 Serverless 選項.。
Aurora Serverless v2 提供了完整的 Amazon Aurora 功能,包括多可用區支持、全球數據庫和只讀副本。v2 版本能夠在容量調整時做到更細粒度,并能夠依據多個維度進行容量調整。更值得一提的是, Amazon Aurora Serverless v2 支持跨 AZ 的高可用部署和讀取擴展,通過持續的監控和盡可能大的利用緩沖池,v2 原地擴展可以做到秒級別。
Amazon Aurora Serverless v2 非常適合各種應用程序。例如,面對業務快速增長場景與海量多租戶場景時,當擁有數十萬個應用程序的企業,或擁有具有成百上千個數據庫的多租戶環境的軟件即服務 (SaaS) 供應商,可以使用 Amazon Aurora Serverless v2 來管理整個隊列中的數據庫容量。
關于亞馬遜云科技的Serverless 數據庫
事實上,Serverless 數據庫并非這兩年才有的新概念。早在 2004年的時候,由于亞馬遜的電商網站面臨數據庫擴展性的挑戰,Serverless 數據庫的探索之旅便已經啟程。
當時,亞馬遜內部自研了名為 Dynamo 的分布式鍵值存儲,以解決數據庫擴展性方面的挑戰。在進行一系列內部實踐后,亞馬遜于2012年正式對外推出可商用的 Amazon DynamoDB,DynamoDB 在發布之初就被定義為 Serverless 架構。而當初發表的論文《Dynamo: Amazon's Highly Available Key-value Store》也憑借著對 NoSQL 的啟發與深遠影響,在操作系統領域頂級學術會議 SOSP2017 上,獲得了 Hall of Fame Award 終身成就獎。
如今,DynamoDB 已發展整整十年,并在眾多領域都有著非常廣泛的應用。與此同時,在 NoSQL 領域,亞馬遜云科技也不斷在 Serverless 數據庫方面進行著探索,形成了完善的 Serverless 數據庫服務體系。并在接下來的十年發展中發展出了5大類無服務器(Serverless)數據庫,包括了Amazon Aurora(關系型),Amazon DynamoDB(鍵值型),Amazon Timestream(時序型),Amazon QLDB(分類賬),Amazon Keyspeaces(寬列)。
去年 12 月,權威咨詢機構 Gartner 發布了報告——2021 Gartner Magic Quadrant for Cloud Database Management System。亞馬遜云科技連續七年被評為云數據庫領導者,在“執行能力”上獲得 20 家參評廠商的最高位置。
Amazon Aurora Serverless v2 適合的場景
- SaaS 業務場景
SaaS 應用擁有成百上千個租戶及 Amazon Aurora 實例,那么會給監控和擴縮容帶來巨大的工作量。如果采用 Amazon Aurora Serverless v2,可以實現秒級的自動擴容和縮容,減輕運維的人力成本。
- 業務波動明顯場景
存在高峰和低谷周期的業務場景。
- 測試環境
僅工作時間使用,則非工作時間只需支付最小計算單元的費用。
- 降成本需求
serverless 采用 pay as you go 的付費模式。如每周或每月一次的報表業務場景,可以單獨建立一個 Amazon Aurora Serverless v2 的只讀實例來承載。
- 容災
適用于跨可用區的高可用及跨區域的全球數據庫容災場景。
- 混合部署
支持 provisioned 實例和 serverless 實例在一個集群內混合部署。
- 分片場景
業務需要寫擴展提升性能,對于provisioned 的實例來講,需要提前設定服務器和分片數量,再擴容期間還需要承擔數據重分布帶來的影響。如果采用 serverless 實例,可以多創建一些serverless 實例,每個實例根據各自 sharding 的業務自動擴容擴容。
就像云技術的引入催生了一代創新一樣,我們相信下一波創新浪潮是由數據驅動的。對于數據庫,“無服務器化架構是云原生數據庫未來發展的必然趨勢之一”。?