拆分備份 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

拆分備份

割備份策略是當您將備份分割成多個部分來移轉大型資料庫伺服器時。您可以使用不同的方法來遷移備份的每個部分。這可能是下列使用案例的最佳選擇:

  • 大型資料庫伺服器,但個別資料庫很小 — 當總資料庫伺服器的大小為多 TB,但每個獨立使用者資料庫的大小小小於 1 TB 時,這是一個很好的方法。若要縮短整體移轉期間,您可以分別 parallel 移轉個別資料庫。

    讓我們使用內部部署 2 TB 資料庫伺服器的範例。此伺服器由四個資料庫組成,每個資料庫分別為 0.5 TB。您可以分別備份每個單獨的數據庫。還原備份時,您可以 parallel 還原執行個體上的所有資料庫,或者如果資料庫是獨立的,您可以在不同的執行個體上還原每個備份。最佳做法是在不同的執行個體上還原獨立資料庫,而不是在相同的執行個體上還原它們。如需詳細資訊,請參閱本指南中的最佳作法。

  • 大型資料庫伺服器,但個別資料庫資料表很小 — 當總資料庫伺服器的大小為多 TB,但每個獨立資料庫資料表的大小小小於 1 TB 時,這是一個很好的方法。若要縮短整體移轉期間,您可以個別移轉獨立資料表。

    讓我們使用 1 TB 的單一使用者資料庫範例,而且它是內部部署資料庫伺服器中唯一的資料庫。資料庫中有 10 個資料表,每個資料表是 100 GB。您可以分別備份每個單獨的表。還原備份時,您可以同時還原執 parallel 個體上的所有資料表。

  • 資料庫同時包含交易式和非交易工作負載資料表 — 與先前的使用案例類似,當同時在相同資料庫中同時具有交易式和非交易工作負載資料表時,您可以使用分割備份方法。

    讓我們使用 2 TB 資料庫的範例,該資料庫包含 0.5 TB 用於線上交易處理 (OLTP) 的重要工作負載表,以及用於封存舊資料的單一 1.5 TB 資料表。您可以將封存資料表以外的所有資料庫物件的備份做為單一交易和一致的備份。然後,您只需要對存檔表進行另一個單獨的備份。對於存檔表格備份,您也可以考慮使用條件來分割備份檔案中的資料列數目,進行多個 parallel 備份。以下是範例:

    mysqldump -p your_db1 --tables your_table1 --where=“column1 between 1 and 1000000 " > your_table1_part1.sql mysqldump -p your_db1 --tables your_table1 --where="column1 between 1000001 and 2000000 " > your_table1_part2.sql mysqldump -p your_db1 --tables your_table1 --where="column1 > 2000000 " > your_table1_part3.sql

    還原備份檔案時,您可以 parallel 時還原交易式工作負載備份和存檔表格備份。

  • 計算資源限制 — 如果內部部署伺服器中的運算資源有限,例如 CPU、記憶體或磁碟 I/O,這可能會影響進行備份時的穩定性和效能。您可以將其分成幾部分,而不是進行完整的備份。

    例如,內部部署實際執行伺服器可能負載大量工作負載,而且 CPU 資源有限。如果您在此伺服器上對多 TB 資料庫進行單次執行備份,則可能會耗用額外的 CPU 資源,並對實際執行伺服器產生不利影響。而不是採取完整的資料庫備份,而是將備份分成多個部分,例如每個資料表 2-3 個。