關於 Amazon Aurora 你所不知道的一切
已發表: 2022-12-07傳統的數據庫系統在性能、可用性和可伸縮性方面存在許多限制。 Amazon Aurora 是這些限制的解決方案。
數據庫對於運行業務的應用程序來說是必不可少的。 它們應該更大、更可靠、更快,以提供更好的服務。 Amazon Web Services 使企業可以輕鬆管理數據並提高客戶滿意度。
Amazon 的 AWS Aurora Web 服務就是此類服務的一個示例。 它使用集群卷來管理其數據並將其分配用於緊急備份。
什麼是亞馬遜極光?
Amazon Aurora 是一種雲原生數據庫,與開源 MySQL 和 PostgreSQL 完全兼容。 Aurora 支持所有開源 MySQL 功能。 它還允許與在這些數據庫上運行的應用程序直接兼容。
Aurora 專為需要完全託管的數據庫服務的客戶而設計,該服務既具有開源數據庫的成本效益和簡單性,又具有與商業數據庫相同的性能。
Aurora 提供的性能比傳統 MySQL 快五倍,比 PostgreSQL 好三倍。 Amazon RDS 處理配置、備份和恢復等任務。 沒有前期費用,您只需支付月費。
Aurora 的獨特之處在於它以商業數據庫成本的一小部分提供了卓越運營和企業功能的記錄。
Aurora 在全球範圍內提供無與倫比的性能、可用性、安全性和可靠性。 自 2014 年推出以來,Aurora 一直是 AWS 產品組合中增長最快的服務。
Amazon Aurora 有什麼用?
奧羅拉 (Aurora) 的顯著增長受到許多行業的強烈興趣的推動。 在過去的 12 個月裡,我們看到了對金融服務、軟件和互聯網以及娛樂和遊戲和零售垂直行業的濃厚興趣。

客戶遷移到 Aurora MySQL 和 Aurora PostgreSQL 以整合他們的 MySQL 和 PostgreSQL 數據庫。 我們還看到許多客戶從 Oracle 或 Microsoft SQL Server 等遺留數據庫遷移到 Aurora PostgreSQL。
這些“掙脫束縛”的客戶已經厭倦了支付高額許可費用並將自己鎖定在遺留數據庫中。 高增長的客戶希望在所有地區快速無縫地擴展。 他們還希望能夠跨 AWS 服務進行集成。
Amazon Aurora 的優勢
以下是使用 Amazon Aurora 的優勢:
可擴展性
您可以啟用自動縮放。 當您有更多存儲空間時,它會增加存儲容量。 如果存儲空間減少,它也會減少數據庫的大小。
成本效益
只需為您使用的處理能力和存儲空間付費。 沒有前期費用或其他費用。 每月付款很簡單。
安全
Amazon VPC 允許您隔離運行數據庫的網絡。
使用 AWS Key Management Service 創建加密密鑰來保護您的數據。
高可用性和耐用性
您可以在許多可用區中創建 Aurora 的副本。
它是一個全球數據庫,可以輕鬆地分佈在多個 AWS 區域,這可能會降低本地讀/寫速度。
遷移支持
要將本地數據庫遷移到 Aurora,您可以使用 pg-dump 或 MySQL dump 命令。
完全託管
Aurora 非常易於使用。 使用 AWS RDS 控制台設置實例很容易。 Aurora 使用 Amazon Cloudwatch 提供監控,無需額外費用。
無需擔心配置、更新或升級。 亞馬遜可以完全控制您軟件的所有方面,並將進行任何必要的修補。
Amazon Aurora 的最佳功能
以下是 Amazon Aurora 的最佳功能:
可擴展性:這是 Amazon Aurora 的最佳特性。 數據庫會根據存儲要求自動增加大小。 卷可以增量增加到 10 GB,最大可以達到 128TB。 這允許無縫存儲。
高吞吐量:SysBench 基準測試顯示吞吐量增加了 5 倍。 Amazon Aurora 採用各種軟件和硬件技術來最大化可用內存、計算和網絡。 為了提高性能一致性,輸入和輸出操作使用分佈式系統技術,例如仲裁。
監控和修復實例:Amazon RDS 持續監控 Amazon Aurora 數據庫以及底層 EC2 實例的運行狀況和性能。 如果數據庫和所有相關進程發生故障,Amazon RDS 會自動重啟數據庫。
加密:Amazon Aurora 允許您使用您通過 AWS Key Management Service 控制和創建的密鑰來加密數據庫,從而提供高安全性。 Amazon Aurora 使用 SSL 加密來保護傳輸過程中的數據。
易於使用:Amazon Aurora 易於使用。 Amazon RDS 管理控制台用於創建新的 Amazon Aurora 數據庫實例。 此 API 調用或 CLI 僅進行一次 API 調用。 Amazon Aurora 數據庫實例針對每種數據庫實例類型預先配置了適當的參數和設置。
成本效益:只需為您使用的東西付費。 沒有預付費用或其他費用。 每月付款很簡單。
遷移支持:要將本地數據庫從 Aurora 遷移到 Aurora,您可以使用 pg-dump 或 MySQL dump 命令。
Aurora 是完全託管的:您可以立即開始使用它。 您需要做的就是使用 AWS RDS 控制台創建實例或從您的代碼調用 API。 無需擔心配置、更新或升級。
亞馬遜極光架構
Aurora 數據庫的整個架構建立在傳統的 DBMS 之上。 它重用了大部分 DBMS 組件,例如事務管理器、查詢執行引擎和恢復管理器。
Amazon Aurora 是一種超越傳統遊戲的新型 DBMS。 它對現有的 DBMS 進行了許多改進,以提高它們的可用性、可靠性和可伸縮性。
這些變化是:
- 使用主副本設置
- 數據遠程存儲可複制
- 僅更改日誌將保存到遠程磁盤
Amazon Aurora 的架構可以橫向擴展傳統關係數據庫的存儲層。
Amazon Aurora 的主數據庫實例將重做日誌傳遞到其存儲層進行處理。 日誌由存儲層處理,它創建和存儲新的頁面版本並將所有內容備份到 S3。

Amazon Aurora 只需要創建額外的數據庫引擎實例,並在擴展期間將它們與現有存儲層連接起來。 這通過將並行處理的這些任務委託給存儲層來消除數據複製中的瓶頸。
這允許創建許多新功能,例如:
- 即時崩潰恢復:您不需要從上一個檢查點重放日誌
- 快速故障轉移:無需擔心哪個副本數據庫具有最新的重做日誌記錄。 存儲層負責處理。
- 回溯:因為存儲層有流式重做日誌,它可以將數據“倒回”到過去的特定點,而不必從 S3 備份恢復檢查點
設置亞馬遜極光
以下是成功設置 Amazon Aurora 的步驟。
#1。 登錄 AWS 管理控制台並打開 RDS。

#2。 單擊創建數據庫。

#3。 選擇引擎選項作為Amazon Aurora。

#4。 選擇您需要的Aurora MySQL版本。

#5。 創建數據庫集群標識符並設置憑證設置用戶名和密碼。

#6。 從下拉選項中選擇實例配置,然後選擇是否創建副本的選項。

#7。 選擇連接選項,如下所示。

#8。 從現有 VPC 安全組中選擇或創建一個新的。

#9。 啟用增強監控,選擇粒度和監控角色選項。

#10。 最後,點擊創建數據庫。

#11。 您已成功創建 Amazon Aurora 數據庫。

定價模式:Amazon Aurora
Aurora Serverless ACU v2 每小時收費 0.12 美元,是預配置 Aurora ACU 價格的兩倍。 這表示:
- 當前最低運行成本:4 個 ACU,每小時 0.48 美元或每月 350 美元
- 對於病態觸發自動擴展功能的工作負載,半個 ACU 至少可擴展 30 秒或 0.0005 美元。
Aurora Serverless V2 的每月費用為 350 美元。 每個自動縮放事件將至少收取 0.0005 美元。 儘管等效的 Aurora 容量為每月 175 美元,但它不會具有響應式無服務器自動縮放功能。
使用案例:Amazon Aurora
#1。 軟件即服務 (SaaS)
它使用可以在存儲和實例擴展方面靈活的多人才架構。 因此,Amazon Aurora 讓公司可以專注於開發高質量的應用程序,而不用擔心數據庫。
#2。 遊戲目的
AWS Aurora 以與關係數據庫相同的方式運行。 它提供高吞吐量、海量存儲容量、高可用性和高可用性。
#3。 企業應用
Amazon Aurora 與任何已經比關係數據庫更可靠的公司兼容。 Aurora 具有成本效益,因為與其他選項相比,它可將價格降低多達 90%。
Aurora 對 MySQL 和 PostgreSQL 的兼容性
Amazon Aurora 專為高性能、全球可用性和完全 MySQL/PostgreSQL 兼容性而構建。 標準工具可讓您輕鬆地從 Aurora 遷移 MySQL 和 PostgreSQL 數據庫。 您還可以使用適用於 Aurora PostgreSQL 的 Babelfish 運行舊版 SQL Server 應用程序,只需最少的代碼更改。
Amazon Aurora 使用標準的 PostgreSQL 導入/導出工具,例如 pg_dump 或 pg_restore。 您還可以使用 Amazon RDS 或 MySQL 數據庫快照創建新的 Amazon Aurora 表。
數據庫快照通常可以很快完成,但這取決於遷移的數據量和數據格式。
亞馬遜極光與亞馬遜 RDS
架構設計
RDS 架構的相似之處在於它允許您手動在 Amazon EC2 上安裝數據庫引擎,但將配置和維護留給 AWS。 RDS 提供許多功能,如自動故障轉移、備份等。RDS 使用 Amazon EBS 卷來存儲日誌和數據庫數據。
Aurora 數據庫存儲系統可靠且容錯。 Aurora 的數據庫存儲獨立於實例。 Aurora 將數據存儲在六個副本中,每個副本有 10GB 塊。 這些副本分佈到三個可用區。 即使您只有一個 Aurora 實例,您的數據仍然會有六個副本。
表現
RDS 使用 SSD 存儲來提高 I/O 吞吐量性能。 有兩種支持 SSD 的存儲選項可用。 一種用於高性能 OLTP 應用程序,而另一種用於通用、經濟高效的用途。
Aurora 在可比硬件上提供的性能是 PostgreSQL 的兩倍和標準 MySQL 的五倍。 Aurora 的性能一直更高、更穩定。
數據庫引擎支持
RDS 與 MySQL、PostgreSQL 和 MariaDB 以及 Microsoft SQL Server 和 Oracle 兼容。
Aurora 兼容 PostgreSQL 和 MySQL。 這意味著您可以在 PostgreSQL 和 MySQL 上使用現有的數據庫工具和應用程序,而無需進行任何更改。
耐用性和可用性
Aurora 具有獨特的存儲模型,允許以極低的 RPO(恢復點目標)進行連續備份和恢復。 這使得它比 RDS 更可靠、更耐用。
Aurora 中的數據在設計上是持久的。 您的數據總是有多個副本。 每個 Aurora 集群有六個存儲節點,分佈在三個可用區中。 即使你只有一個計算節點,你的數據仍然有多個副本。
彈力
由於其架構設計,Aurora 比 RDS 更具彈性。 它可以快速從故障中恢復。 如果計算節點崩潰,Aurora 可以快速恢復。
貯存
RDS 存儲自動擴展將存儲容量擴展到 64 TiB(SQL Server 的 16 TiB 除外)以適應不斷增長的數據庫工作負載。 沒有停機時間。
Aurora 通過將存儲從最小 10 GB 增加到最大 128 TiB 來自動增加存儲。 存儲以 10 GB 的增量增加,對數據庫性能沒有任何影響。
可擴展性
垂直擴展:RDS 和 Aurora 都允許您將內存和計算資源擴展到最大 244 GiB RAM 和 32 個虛擬 CPU。 在幾秒鐘內,您可以擴展操作。
Aurora Auto Scaling Dynamic:Aurora Auto Scaling 通過使用單主複製動態調整 Aurora 數據庫集群可用的 Aurora 副本數量。 RDS 不支持此類 Auto Scaling。
複製
RDS 可用於提供最多五個副本。 複製過程也比 Aurora 慢。
Aurora 最多可以配置 15 個副本,複製只需幾秒鐘。 Aurora 的擴展速度更快,因為它可以快速添加新的只讀副本。
故障轉移
在 RDS 中,讀取副本的故障轉移是手動發生的。 這可能會導致數據丟失。 多可用區(備用實例)可用於自動進行故障轉移並防止數據丟失。
為防止數據丟失,Aurora 使用故障轉移自動讀取副本。 Aurora 的故障轉移時間更快。
集群端點
RDS 有一個集群端點,您可以使用它來執行寫入查詢。 它是指向您當前主數據庫實例的 DNS 指針。 RDS 在故障轉移期間通過簡單的 DNS 更改將端點路由到新的主服務器。
集群端點在 Aurora 中仍然可用,用於編寫查詢。 此端點還充當讀取複製的負載平衡器。 此端點可用於回答您的讀取查詢。
備份
RDS 在數據庫實例的備份窗口期間自動創建並保存數據庫實例的備份。 RDS 將您的數據庫實例快照作為存儲卷,備份所有數據庫,而不僅僅是您選擇的數據庫。
Aurora 自動備份集群卷並在備份保留期內不斷恢復數據。 Aurora 備份是連續和增量的,因此您可以快速恢復備份保留期內的任何點。
以下是 Amazon Aurora 與 Amazon RDS 的匯總表:
亞馬遜極光 | 亞馬遜 RDS |
您可以將存儲空間從 10 GB 擴展到 64 GB | RDS 允許所有引擎使用 64 GBS,但 SQL Server 僅允許使用 16 GB |
您可以將內存和計算擴展到最多 32 個 vCPU 和 244 GiB RAM | 和極光一樣 |
支持 MySQL 和 PostgreSQL | 支持 Microsoft SQL Server、MariaDB、Oracle 數據庫、MySQL、PostgreSQL 和 Amazon Aurora |
支持十五個副本 | 支持五個副本 |
定價取決於 I/O 操作 | 您可以免費試用,沒有最低使用費 |
Amazon Aurora 與 DynamoDB
耐用性和可用性
每條 DynamoDB 數據都被複製到多個物理節點。 亞馬遜將這些物理節點放置在多個區域(也稱為可用性區域),以確保在發生火災或重大停電等災難時的高耐用性和可用性。 即使一個副本宕機,操作也會繼續。 SSD 還非常可靠和耐用。
備份和恢復
DynamoDB 提供按需備份和 PITR(時間點備份),允許您訪問任何數據庫狀態。 DynamoDB 能夠備份任意數量的數據。 性能和可用性不會受到影響。 備份只需很少的時間,用戶不必擔心備份計劃或後台進程。 AWS 允許通過一次 API 調用進行備份恢復。
Amazon Aurora 備份過程類似於 DynamoDB。 它是在沒有任何性能中斷或數據庫服務中斷的情況下創建的。 Amazon 備份保存在 S3 存儲桶中。 如果我們不指定備份窗口,Aurora 會自動創建 30 分鐘的備份。
訪問控制
DynamoDB 通過限制數據庫創建和查詢權限的細粒度策略來支持 IAM 用戶和角色。 Amazon Aurora 也有類似的權限方案。
但是,Aurora 也提供了兼容 MySQL 和 PostgreSQL 的連接接口來連接數據庫。
DynamoDB 是一種區域服務,不受 VPC 邊界的約束。 但是,Aurora 數據庫集群需要建立在明確定義其網絡邊界的 VPC 中。 您還可以使用 VPC 安全組來控制允許哪些設備或 Amazon EC2 實例連接到數據庫實例。
下面是 Amazon Aurora 與 DynamoDB 的匯總表:
亞馬遜極光 | 動態數據庫 |
支持MySQL和PostgreSQL的關係型數據庫 | NoSQL 數據庫 |
多區域,單主 | 多區域、多主機 |
副本可以在一分鐘內提升為主 | 高可用性 |
複製延遲小於 1 秒 | 複製延遲為亞毫秒 |
結論
就是這樣。 我們都在進入關係數據庫的新時代,而 Aurora 只是一個開始。 客戶的反應是壓倒性的同意。 每個行業的領導者——如 Capital One、Dow Jones、Netflix 和 Verizon——都在將他們的關係數據庫工作負載遷移到 Aurora,包括 MySQL 和 PostgreSQL 兼容版本。