テーブルに対して誤った操作が実行された場合、テーブルとデータベースの復元機能を使用して、テーブルを元のクラスターに復元できます。
以前の時点またはバックアップセット (スナップショット) からデータを復元できます。 データを復元する以前の時点は、バックアップセットが作成された時点と一致する場合があります。 この場合、バックアップセットからデータを復元できます。 データを復元する時点でバックアップセットが作成されていない場合は、以前の時点にのみデータを復元できます。
全体的な復元プロセス
復元プロセスの主な手順は、データを以前の時点に復元するか、バックアップセットから復元するかに関係なく同じです。 復元プロセスは、主に以下のステップを含む。 一時ノードを作成し、以前の時点のデータをノードに復元します。 2. データを元のクラスターに復元します。
データベースとテーブルの復元機能の新しいバージョンが2024年4月3日にリリースされました。 元のバージョンと比較して、新しいバージョンは元のクラスターにデータを復元するのに必要な時間を短縮します。 復元されたデータは、ホットスタンバイストレージクラスタおよびグローバルデータベースネットワーク (GDN) セカンダリクラスタに自動的に同期させることもできます。これにより、全体的な復元時間が大幅に短縮されます。
Database EditionがEnterprise EditionであるPolarDB for MySQLクラスターは、クラスターが次のいずれかのデータベースエンジンバージョンを実行している場合にのみ、新しいバージョンのデータベースとテーブルの復元機能をサポートします。
リビジョンバージョンが8.0.2.2.25.3以降のPolarDB for MySQL 8.0.2。
リビジョンバージョンが8.0.1.1.44以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが5.7.1.0.30以降のPolarDB for MySQL 5.7。
リビジョンバージョンが5.6.1.0.42以降のPolarDB for MySQL 5.6。
クラスターが新しいバージョンのデータベースとテーブルの復元機能をサポートするバージョンを実行している場合は、新しいバージョンのデータベースとテーブルの復元機能を使用して、データベースまたはテーブルを復元できます。 次の図は、元のバージョンと新しいバージョンのデータベースおよびテーブルデータの復元プロセスを示しています。
オフピーク時にデータを復元することを推奨します。
復元に必要な推定時間
次の表に、データの復元にかかる推定時間を示します。 推定時間は参照のためにのみ提供されます。
ステップ | 推定時間 |
一時ノードを作成し、バックアップセットからノードにデータを復元します。 | およそ3から10分 |
redoログを使用して増分データを復元します。 説明 Redoログは、データを以前の時点に復元する場合にのみ使用されます。 復元期間は、使用されるredoログのサイズによって異なります。 | 1.5 GB /分 |
元のクラスターにデータを復元します。 | 表1を参照。 データベースとテーブルの復元の速度をテストします。 |
データベースとテーブルのデータをテラバイト単位で復元するには、より多くの時間が必要です。 すばやく復元するには、バックアップセット (スナップショット) から完全なデータを復元できます。 ほとんどの場合、このプロセスは完了するのに数分かかります。 詳細については、「完全復元の方法1: バックアップセットからデータを復元する」をご参照ください。
次の表に、データベースとテーブルの復元のテスト速度を示します。 この表の復元速度は、データが元のクラスタに復元される速度のみを示しています。
表 1. データベースとテーブル復元のテスト速度
CPUとメモリ (専用) | テストデータ | innodb_io_容量 | innodb_io_capacity_max | ホットスタンバイストレージクラスタ有効 | 元のバージョンに必要な時間 | 新しいバージョンに必要な時間 | 元のバージョンの復元速度 | 新しいバージョンの復元速度 | 高速化の新バージョン |
2 コア、8 GB メモリ | 224.06 GB共通テーブル | 4000 | 8,000 | はい | 3時間38分25秒 | 1時間43分36秒 | 1.03 GB /分 | 2.16 GB /分 | 111% |
いいえ | 2時間23分0秒 | 1.57 GB /分 | 38% | ||||||
4 コア、16 GB メモリ | 208.83 GB共通テーブル | 4000 | 8,000 | はい | 3時間3分31秒 | 1時間36分41秒 | 1.14 GB /分 | 2.16 GB /分 | 89% |
いいえ | 1時間45分53秒 | 1.97 GB /分 | 10% | ||||||
8000 | 16000 | はい | 3時間3分15秒 | 1時間3分49秒 | 1.14 GB /分 | 3.27 GB /分 | 187% | ||
いいえ | 1時間45分53秒 | 1.97 GB /分 | 66% | ||||||
8 コア、32 GB メモリ | 202.97 GB共通テーブル | 4000 | 8,000 | はい | 2時間50分56秒 | 1時間28分26秒 | 1.19 GB /分 | 2.30 GB /分 | 93% |
いいえ | 1時間38分57秒 | 2.05 GB /分 | 12% | ||||||
18,000 | 36000 | はい | 2時間51分5秒 | 42分39秒 | 1.19 GB /分 | 4.76 GB /分 | 301% | ||
いいえ | 1時間38分33秒 | 1.31 GB /分 | 131% | ||||||
16 コア、64 GB メモリ | 206.01 GB共通テーブル | 4000 | 8,000 | はい | 2時間55分26秒 | 1時間31分14秒 | 1.17 GB /分 | 2.26 GB /分 | 93% |
いいえ | 1時間42分20秒 | 2.01 GB /分 | 12% | ||||||
20000 | 40000 | はい | 2時間53分49秒 | 1時間0分9秒 | 1.19 GB /分 | 3.42 GB /分 | 189% | ||
いいえ | 1時間40分35秒 | 2.05 GB /分 | 67% |
データベースとテーブルの復元速度は、ホットスタンバイストレージクラスタが有効になっているかどうか、プライマリノードの仕様、
innodb_io_capacity
パラメーター値、および復元するテーブルの数によって影響を受けます。上記のテストデータには、多数のテーブルを含むシナリオは含まれません。 多数のテーブルを復元する場合は、復元プロセスが完了するまでに時間がかかります。
innodb_io_capacity
およびinnodb_io_capacity_max
パラメーターの値を動的に調整することで、復元速度を調整できます。 パラメータの調整は、元のバージョンの復元速度に最小限の影響しか与えないが、新しいバージョンの復元速度を大幅に向上させる。前のテストデータは参照のためにだけ提供されます。 実際の復元速度は、基礎となるハードウェアやネットワーク条件などのさまざまな要因の影響を受けます。