為什麼還原 Aurora MySQL 相容版本資料庫叢集快照需要這麼長的時間?

1 分的閱讀內容
0

我想要還原 Amazon Aurora MySQL 相容版本資料庫叢集快照,但這需要很長的時間。

簡短描述

Amazon Aurora MySQL 相容版本資料庫叢集的快照還原程序包含許多重要任務。例如,在此程序期間,會建立 Aurora 叢集,以及高可用性叢集磁碟區。狀態檢查、儲存空間和硬體配置,以及寫入資料磁碟區等程序都會影響還原快照所需的時間。

快照還原時間受許多因素影響:

  • 對於 Aurora 叢集,單一叢集會分散到三個可用區域 (AZ),以提供高可用性。當 Aurora 叢集從快照還原時,其會在這三個 AZ 中佈建儲存區。叢集可供使用後,其會在叢集磁碟區內建立另外六個副本以便儲存資料。儲存磁碟區會在數百個儲存節點上進行分段,並分散在三個不同的 AZ 上。
  • Aurora 叢集建立之後,叢集會將資料從 Amazon Simple Storage Solution S3 (Amazon S3) 下載到儲存節點。叢集執行此動作之後,資料才可供使用。與適用於 MySQL 執行個體的 Amazon Relational Database Service (Amazon RDS) 的還原程序不同,延遲載入在還原後不會發生。
  • Aurora 還原是非線性的。因此,舉例來說,您還原兩個個別叢集,一個有 1 GB 的資料,另一個有 10 GB 的資料。較大資料集的還原時間不是較小資料集的十倍,而是只稍長一點。
  • 還原中的其他程序包括狀態檢查、儲存空間和硬體配置,以及寫入資料磁碟區。所有這些程序都非常耗時,但必須精確執行以便獲得最佳效能。

解決方案

根據您的使用案例,您可以在變更 Aurora 資料庫時使用 Aurora 叢集複製功能或回溯功能。

Aurora 叢集複製

使用 Aurora 叢集複製功能是建立目前叢集相同副本的最快方法。建立複製的叢集之後,您可以針對複製的叢集測試變更,而不會影響原始叢集。如果測試通過,就可以將變更套用至原始叢集。

注意:在資料庫中進行任何變更之前,先建立叢集快照仍然是最佳實務。

以下是複製現有 Aurora 叢集的一些常見使用案例:

  • 您想要試驗和評估變更 (例如結構描述變更或參數群組變更) 所造成的影響。
  • 您想要執行工作負載密集型作業,例如匯出資料或執行分析查詢。
  • 您想在非生產環境中建立生產資料庫叢集的副本,以便進行開發或測試。

Aurora 回溯功能

您也可以使用 Aurora 叢集的回溯功能。回溯可讓您透過就地倒轉資料來快速復原錯誤。回溯資料庫叢集不需要建立新的資料庫叢集,因此只需幾分鐘即可完成。

但是,此功能存在局限性。首先,此功能僅適用於在開啟此功能的情況下所建立的叢集。因此,如果您的叢集沒有開啟此功能,則您需要執行快照還原以開啟回溯。此外,回溯不支援二進位日誌複寫,而且必須先關閉跨區域複寫,才能設定或使用回溯。回溯時段的限制為 72 小時。

考量

我們引入了 Aurora 叢集複製和回溯功能,以縮短特定使用案例中的 Aurora 還原時間。但是,建立定期快照仍然是最佳實務,最好在對資料庫進行任何計劃的變更之前就採取此方法。

此外,請確定在執行快照、時間點或複製時,來源資料庫上沒有執行長時間執行的寫入作業。任何長時間執行的 DCL、DDL 或 DML (開放式寫入交易) 都會增加還原資料庫可供使用的時間。

相關資訊

複製 Amazon Aurora 資料庫叢集的磁碟區

回溯 Aurora 資料庫叢集


AWS 官方
AWS 官方已更新 1 年前