このトピックでは、データをObject Storage Service (OSS) バケットにアーカイブし、アーカイブされたデータをソースデータベースに復元する方法について説明します。
前提条件
データをアーカイブするソースデータベースは、次のいずれかのタイプです。
MySQL: ApsaraDB RDS for MySQL、PolarDB for MySQL、およびAnalyticDB for MySQL V3.0
PostgreSQL: ApsaraDB RDS for PostgreSQLおよびPolarDB for PostgreSQL
MongoDB 3.6以降
PolarDB-X
説明物理データベースと論理データベースの両方がサポートされています。
物理データベースは、実際のデータベースである。
論理データベースは、シャーディングを容易にする1つ以上の物理データベースで構成されます。 詳細については、「論理データベース」をご参照ください。
MySQLデータベースのアカウントには、REPLICATION CLIENT権限が必要です。
ソースデータベースインスタンスとターゲットデータベースインスタンスは、安定した変更またはセキュリティコラボレーションモードで管理されます。
説明定期的なデータアーカイブタスクを設定し、ソースデータベースインスタンスとターゲットデータベースインスタンスを安定した変更モードで管理する場合は、データベースインスタンスのセキュリティホスティングを有効にするか、データベースインスタンスの制御モードをsecurity Collaborationに変更することを推奨します。 そうしないと、インスタンスのログインの有効期限が切れてデータアーカイブタスクが失敗する可能性があります。 詳細については、「セキュリティホスティング」トピックのセキュリティホスティングの有効化セクションとインスタンスの制御モードの変更をご参照ください。
標準または低頻度アクセス (IA) OSSバケットが購入されました。 詳細については、「OSSコンソールを使用して開始する」トピックのOSSの有効化セクションをご参照ください。
OSSバケットはData Management (DMS) に登録されています。 詳細については、「Alibaba Cloudデータベースインスタンスの登録」をご参照ください。
重要パブリックエンドポイント経由でDMSにOSSバケットを登録することを推奨します。 OSSバケットが内部エンドポイントを介してDMSに登録されている場合、OSSバケットにデータをアーカイブすることはできません。 他に質問がある場合は、DingTalkグループ (ID 19040023327) のテクニカルサポートにお問い合わせください。
OSSバケットをDMSに登録する前に、現在のAlibaba CloudアカウントのAccessKey IDとAccessKey secretがあることを確認して、ID検証を完了してください。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペアの作成」をご参照ください。
データをアーカイブするソーステーブルには、主キーまたは一意のキーがあります。
説明ソーステーブルの各データ変更操作の時間を示すフィールドを指定することをお勧めします。 ソーステーブルからデータをアーカイブするときに、このフィールドをフィルター条件として使用できます。
使用上の注意
ソーステーブルに3つの列で構成される複合主キーがある場合、またはソーステーブルに3つ以上の一意のキーがある場合、データアーカイブタスクは失敗する可能性があります。 データアーカイブを実行する前に、3列の複合主キーを持つソーステーブルを完全にテストするか、データベースバックアップ (DBS) などの他のアーカイブ方法を使用することをお勧めします。
データアーカイブ機能は、シンガポールおよびインドネシア (ジャカルタ) リージョンでのみサポートされています。
手順
DMSコンソールV5.0 にログインします。
上部のナビゲーションバーで、 を選択します。
[データアーカイブチケット] ページの右上隅で、データアーカイブ.
[チケットアプリケーション] ページで、データアーカイブチケットを作成するためのパラメーターを設定します。 下表にパラメーターを示します。
パラメーター
説明
タスク名
データアーカイブタスクの名前。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。
アーカイブ先
データをアーカイブする宛先。 [OSS] を選択します。
OSSインスタンス
データのアーカイブ先のOSSインスタンス。
説明StandardまたはIA OSSインスタンスを選択します。
OSSバケット
選択したOSSインスタンスに属するOSSバケット。
重要選択したOSSインスタンスで必要なOSSバケットが見つからない場合は、DMSコンソールでOSSインスタンスにログインします。 詳細については、「OSSバケットの登録」をご参照ください。
アーカイブされたデータは、OSSバケットのアーカイブフォルダーに保存されます。 フォルダを削除しないでください。
ソースデータベース
データをアーカイブするソースデータベース。
アーカイブ設定
データをアーカイブする1つ以上のテーブルを指定します。
オプションです。 指定したテーブルにアーカイブするデータを照会するためのフィルター条件を1つ以上指定します。
説明6か月前に生成されたデータのアーカイブなどのシナリオで時間変数を使用する場合は、アーカイブ設定セクションでパラメーターを設定する前に、[変数設定] セクションで変数を設定できます。
オプションです。 追加をクリックしてソーステーブルを追加します。
アーカイブテーブルのマッピング
宛先バケットで使用されるテーブル設定。 テーブルを見つけ、[操作] 列の [編集] をクリックしてテーブル情報を設定します。
変数設定
オプションです。 アーカイブデータをフィルタリングするための条件を設定するときに使用される変数。 たとえば、
6_month_ago
という名前の時間変数をyyyy-MM-dd形式で作成し、オフセットを-6 Monthに設定したとします。 この場合、現在の日付が2021年8月12日である場合、変数${6_month_ago}
の値は、2021年2月11日を示す2021-02-11です。 時間変数の設定方法の詳細については、「変数」トピックの時間変数の設定セクションをご参照ください。事後行動
ソーステーブルからアーカイブデータを削除するかどうかを指定します。
元のテーブルのアーカイブデータのクリーンアップをクリアすると (delete-No Lock) 、アーカイブデータはソーステーブルから削除されません。
元のテーブルのアーカイブデータのクリーンアップ (削除-ロックなし) を選択した場合、DMSはソーステーブルからアーカイブデータを自動的に削除します。 削除プロセス中、ソーステーブルはロックされません。
アーカイブデータを検証するかどうかを指定します。
アーカイブデータの検証をクリアすると (時間がかかります) 、DMSはアーカイブデータを検証しません。
[アーカイブデータの検証 (時間がかかる)] を選択した場合、DMSはアーカイブデータをソースデータベースの元のデータと比較し、アーカイブデータに加えてデータの不一致を表示します。
アーカイブデータの検証にかかる時間は、アーカイブデータの量によって異なります。
操作モード
データアーカイブタスクの実行に使用するメソッド。 有効な値:
シングル実行: データアーカイビングチケットが承認された後、DMSはデータアーカイビングタスクを1回だけ実行します。
周期的なスケジューリング: データアーカイブチケットが承認されると、DMSは指定したスケジュールに基づいてデータアーカイブタスクを実行します。 詳細については、「Lindormインスタンスへのデータのアーカイブ」トピックの「周期的スケジューリング」セクションをご参照ください。
送信 をクリックします。
データアーカイブチケットが承認されると、DMSは自動的にデータアーカイブタスクを実行します。
説明データアーカイブ機能は、アーカイブするデータベースのタイムゾーンに関係なく、UTC + 0タイムゾーンに基づいてデータアーカイブとポストビヘイビアを実装します。
オプション。 データがアーカイブされ、アーカイブされたデータが正しいことを確認したら、ソーステーブルからアーカイブされたデータを削除し、ソーステーブルのストレージ使用率を最適化します。
ソーステーブルからアーカイブデータを削除します。
[Post-behavior] パラメーターに [元のテーブルのアーカイブデータのクリーンアップ (delete-No Lock)] を選択した場合、DMSはソーステーブルからアーカイブデータを削除し、ソースデータベースに一時バックアップテーブルを生成します。
ソースデータベースから一時バックアップテーブルを削除するには、通常のデータ変更チケットを作成します。 詳細については、「定期的なデータ変更の実行」をご参照ください。
説明データアーカイブチケットの詳細パネルの下部で、一時テーブルの削除に使用されるDROP文を表示するには、ここをクリックします。 一時バックアップテーブルの削除に使用されるSQL文をコピーします。
Post-behaviorパラメーターの元のテーブルのアーカイブデータのクリーンアップ (delete-No Lock) をクリアした場合、ソーステーブルからアーカイブデータを手動で削除する必要があります。
ソーステーブルからアーカイブされたデータを削除するには、通常のデータ変更チケットを作成します。
ソーステーブルのストレージ使用量を最適化するには、ロックフリー変更チケットを作成します。 詳細については、「ロックフリーDDL操作の実行」をご参照ください。
説明[データアーカイブチケットの詳細] パネルの下部で、[ソーステーブルのストレージ使用量の最適化に使用するSQLステートメントの表示] をクリックし、ソーステーブルのストレージ使用量の最適化に使用するSQLステートメントをコピーします。
アーカイブされたデータを照会します。 詳細については、「OSSバケットまたは専用ストレージにアーカイブされたデータの照会」トピックのOSSバケットにアーカイブされたデータの照会セクションをご参照ください。
アーカイブされたデータをソースデータベースに復元する
課金
アーカイブされたデータをソースデータベースに無料で復元できます。
制限事項
この機能は、ソースデータベースエンジンがApsaraDB RDS for MySQL、PolarDB for MySQL、またはAnalyticDB for MySQL V3.0の場合にのみ使用できます。
手順
データアーカイブのチケットページで、表示パラメーターをチケットビュー に設定します。
管理するチケットを見つけ、アクション列で詳細をクリックし、ます。
[チケットの詳細] ページで、[実行] をクリックします。 [実行] セクションで、[操作] 列の [ソースデータベースに復元] をクリックします。
表示されるメッセージで、OK をクリックします。
データ復元タスクが作成されます。 システムは自動的にデータ復元タスクを実行します。 タスクが完了するまで待ちます。 このプロセスの期間は、復元するデータの量によって異なります。
重要アーカイブされたデータをソースデータベースに復元すると、システムは自動的にソースデータベースに一時テーブルを作成します。 これにより、ソースデータベースのストレージ容量が不足する可能性があります。 作業は慎重に行ってください。
復元されたデータを照会します。
基本情報[チケットの詳細] ページのセクションで、[データベース] の横にあるデータベース名の上にポインターを移動して [変更] をクリックします。クエリポップアップウィンドウで。
テーブル名をダブルクリックし、実行 をクリックします。
復元されたデータは、SQLConsoleタブの下部に表示される [実行履歴] タブで確認できます。