

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

# 分割備份
<a name="split-backup"></a>

*分割備份*策略是指透過將備份分割成多個部分來遷移大型資料庫伺服器時。您可以使用不同的方法來遷移備份的每個部分。這可以是下列使用案例的最佳選項：
+ **大型資料庫伺服器，但小型個別資料庫** – 當總資料庫伺服器的大小為多個 TBs，但個別獨立使用者資料庫的大小小於 1 TB 時，這是很好的方法。若要縮短整體遷移期間，您可以分別和平行遷移個別資料庫。

  讓我們使用現場部署、2 TB 資料庫伺服器的範例。此伺服器由四個資料庫組成，每個資料庫為 0.5 TB。您可以分別備份每個個別資料庫。還原備份時，您可以平行還原執行個體上的所有資料庫，或者，如果資料庫是獨立的，則可以還原個別執行個體上的每個備份。最佳實務是在不同的執行個體上還原獨立資料庫，而不是在相同的執行個體上還原。如需詳細資訊，請參閱本指南中的最佳實務。
+ **大型資料庫伺服器，但小型個別資料庫資料表** – 當總資料庫伺服器的大小為多個 TBs，但每個獨立資料庫資料表的大小小於 1 TB 時，這是一個很好的方法。若要縮短整體遷移期間，您可以個別遷移獨立資料表。

  讓我們使用 1 TB 的單一使用者資料庫範例，它是內部部署資料庫伺服器中唯一的資料庫。資料庫中有 10 個資料表，每個資料表為 100 GB。您可以分別備份每個個別資料表。還原備份時，您可以平行還原執行個體上的所有資料表。
+ **資料庫同時包含交易和非交易工作負載資料表** – 與先前的使用案例類似，當您在同一資料庫中同時擁有交易和非交易工作負載資料表時，您可以使用分割備份方法。

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

  ```
  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
  ```

  還原備份檔案時，您可以平行還原交易工作負載備份和封存資料表備份。
+ **運算資源限制** – 如果您的內部部署伺服器運算資源有限，例如 CPU、記憶體或磁碟 I/O，這可能會影響備份時的穩定性和效能。您可以將其分成數個部分，而不是進行完整的備份。

  例如，內部部署生產伺服器可能會大量載入工作負載，且 CPU 資源有限。如果您在此伺服器上進行多 TB 資料庫的單一執行備份，可能會耗用其他 CPU 資源，並對生產伺服器造成負面影響。不進行完整的資料庫備份，而是將備份分成多個部分，例如每個部分 2-3 個資料表。