理解 AWS Aurora 副本與克隆的區別


Amazon Aurora,是AWS提供的全托管關聯數據庫服務,提供高性能,高可用性和可擴展性。Aurora的兩個強大功能是它的創建副本和執行克隆的能力。在這篇博客文章中,我們將探討Aurora副本與克隆之間的區別,其使用案例,以及如何根據您的需求選擇正確的選項。

Aurora 副本

Aurora副本是主數據庫實例的只讀副本。它們與主實例共享相同的底層存儲,這意味著數據幾乎是即時且自動複製的。副本主要用於擴展讀取操作和提高數據庫的可用性。

Aurora 副本的類型

  1. Aurora 副本: 這些是特定於Aurora的,可以在較低的延遲下支持讀取操作。您可以在每個主實例中擁有多達15個 Aurora副本。
  2. 跨區域副本: 這些允許您在不同的 AWS 區域內擁有讀取副本,提供全球擴展性和災難恢復解決方案。

Aurora 副本的使用案例

  • 讀取擴展: 在多個副本之間分發讀取流量,以處理高讀取工作負載。
  • 高可用性: 如果主實例故障,則可以提升 Aurora 副本以成為新的主實例。
  • 全球擴展: 通過在靠近用戶的區域中放置讀取副本來為全球用戶提供服務。

Aurora 克隆

Aurora克隆是一種允許您快速且成本有效地創建數據庫副本的功能。克隆是通過「寫時複製」機制實現的,這意味著克隆一開始與源數據共享相同的數據。僅當數據有變動時,修改後的數據才會被複製到克隆。這使克隆操作快速並最小化了額外的存儲成本。

Aurora 克隆的使用案例

  • 測試與開發: 快速創建克隆以進行開發,測試或預發佈環境,而不影響生產數據庫。
  • 快照分析: 創建一個克隆以分析您在特定時間點的數據庫快照。
  • 工作負載擴展: 克隆您的數據庫以水平擴展工作負載,尤其是對於短期內的重型工作負載。

選擇副本與克隆

使用 Aurora 副本與克隆的選擇取決於你的特定使用案例:

  • 讀取擴展: 使用 Aurora 副本來分發讀取流量並提高你的應用程序的讀取吞吐量。
  • 高可用性: 利用 Aurora 副本以確保可以無縫進行故障轉移,並將停機時間減至最少。
  • 測試與開發: 使用 Aurora 克隆來快速創建與您的生產數據庫相同的隔離環境。
  • 短期重型工作負載: 考慮克隆以處理臨時增加的工作負載,而不影響主數據庫。

結論

Amazon Aurora 的副本與克隆功能提供了強大的選擇來進行擴展,實現高可用性並進行高效的數據庫管理。透過理解每個功能的區別和使用情境,你可以做出明智的決策來優化你的數據庫性能和成本。不論你需要擴展你的讀寫操作,確保高可用性,或是快速建立測試環境,Aurora 都能滿足你的需求。