Data Management (DMS) を使用すると、MySQL または PostgreSQL のソースデータベースから古くなった行を PolarDB for MySQL クラスターへ移動できます。ジョブは 1 回のみ実行するか、定期スケジュールで繰り返し実行できます。
データアーカイブ機能は、シンガポールおよびインドネシア (ジャカルタ) リージョンでのみご利用いただけます。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
以下のいずれかのタイプのソースデータベース:
MySQL:ApsaraDB RDS for MySQL、PolarDB for MySQL、または AnalyticDB for MySQL V3.0
PostgreSQL:ApsaraDB RDS for PostgreSQL または PolarDB for PostgreSQL
PolarDB-X
MySQL データベースアカウントに `REPLICATION CLIENT` 権限が付与されていること
PolarDB for MySQL クラスターを購入済みです。詳細については、「購入手順」をご参照ください。
ソーステーブルにプライマリキーまたは一意キーが定義されていること
(推奨)フィルター条件として使用するためのタイムスタンプ列がソーステーブルに含まれていること
開始前のリスク
アーカイブタスクの設定を開始する前に、以下のリスクを確認してください。
ソースクリーンアップ用のストレージ領域
後処理 を有効化して、アーカイブ済みの行をソースから削除する場合、DMS は削除前にソースデータベース内に一時バックアップテーブルを作成します。これらのテーブルを格納するのに十分なストレージ領域がソースデータベースにあることを確認してください。領域が不足していると、アーカイブジョブが失敗したり、ソースインスタンスが利用不可になる可能性があります。
定期実行タスクにおけるコントロールモード要件
定期実行のアーカイブタスクでは、ソースおよびターゲットの両方のデータベースが「セキュリティコラボレーション」または「安定的な変更」モードで管理されている必要があります。ワンタイムタスクにはコントロールモードの要件はありません。
インスタンスが安定的な変更モードの場合、定期実行が必要な場合は、そのインスタンスに対してセキュリティホスティングを有効化するか、コントロールモードをセキュリティコラボレーションに変更します。これを実行しないと、インスタンスのログインが有効期限切れになるとタスクが失敗する可能性があります。詳細については、「セキュリティホスティングの有効化」および「インスタンスのコントロールモードの変更」をご参照ください。
課金
PolarDB for MySQL クラスターには課金されます。詳細については、課金項目をご参照ください。
PolarDB for MySQL クラスターへのデータアーカイブ
以下の例では、6 か月以上前の注文データを、毎月定期的に PolarDB for MySQL クラスターへアーカイブします。
DMS コンソール V5.0 にログインします。
上部ナビゲーションバーで、[ソリューション] > [データアーカイブ] を選択します。
シンプルモードでは、左上隅の
アイコンにマウスを合わせて、[すべての機能] > [ソリューション] > [データアーカイブ] を選択します。[データアーカイブチケット] ページの右上隅で、[データアーカイブ] をクリックします。
[チケット申請] ページで、以下のパラメーターを設定します。
パラメーター 必須 説明 タスク名 はい アーカイブタスクの分かりやすい名前。 アーカイブ先 はい [PolarDB MySQL] を選択します。 PolarDB クラスター はい 送信先の PolarDB for MySQL クラスター。 ソースデータベース はい データをアーカイブする元のソースデータベース。 アーカイブ設定 はい ソーステーブルとオプションのフィルター条件。日付 (例:6 か月より前の行) でフィルターするには、まず [変数設定] で時間変数を定義し、ここで ${variable_name}として参照します。[追加] をクリックして、さらにソーステーブルを追加します。アーカイブテーブルマッピング いいえ ターゲットテーブルの設定。[操作] 列の [編集] をクリックして、ターゲットデータベースのテーブル名、列、シャードキー、パーティションキーを指定します。 変数設定 いいえ フィルター条件の時間変数。たとえば、現在の日付が 2021 年 8 月 12 日の場合、オフセットが -6 か月の yyyy-MM-dd形式で6_month_agoという名前の変数は2021-02-11に解決されます。設定の詳細については、「時間変数の設定」をご参照ください。事後操作 いいえ アーカイブが成功した後、ソーステーブルからアーカイブされた行を削除するかどうかを指定します。- [元のテーブルのアーカイブデータをクリーンアップ (delete-No Lock)]定期データ変更:DMS は、データをターゲットに書き込んだ後、ソーステーブルから行を削除します。DMS は、削除前にソースデータベースに一時的なバックアップテーブルを作成します。アーカイブされたデータを確認した後、チケットを申請して、それらのバックアップテーブルを削除します。- 選択しない場合定期データ変更ロックフリー DDL:行はソーステーブルに残ります。チケットを使用して手動で削除し、その後 チケットで領域を解放します。 操作モード はい [単一実行]:チケットが承認されると、DMS はタスクを一度だけ実行します。[定期的なスケジューリング]:DMS はタスクを定期的なスケジュールで実行します。スケジューリングオプションについては、Lindorm アーカイブトピックの「定期的なスケジューリング」セクションをご参照ください。 [送信] をクリックします。
チケットが承認されると、DMS が自動的にアーカイブタスクを実行します。データアーカイブタスクが完了するまでお待ちください。
タスクが失敗した場合は、[実行] ステップの [操作] 列にある [詳細] をクリックして、タスクログを表示します。ネットワークまたはデータベース接続の問題によって失敗した場合は、[ブレークポイントから再開] をクリックして、中断した位置から再開します。
DMS は、ソースデータベースおよびテーブルと同じ名前で、ターゲットデータベースおよびテーブルを自動的に作成します。
アーカイブ済みデータの照会
アーカイブタスクが完了後:
[チケット詳細] ページの [基本情報] セクションで、[ターゲットデータベース] の横にある [表示] をクリックして SQL コンソールを開きます。
SQL コンソールの左側の [テーブル] タブで、テーブル名をダブルクリックし、[実行] をクリックしてアーカイブ済みの行を表示します。
各アーカイブ済みテーブルには、元のデータに影響を与えない 4 つの追加メタデータカラムが含まれます。
| カラム | 内容 |
|---|---|
| アーカイブメタデータ | チケット番号および行がアーカイブされた時刻 |
| データベース名 | ソースデータベースの名前 |
| テーブル名 | ソーステーブルの名前 |
| インスタンス ID | DMS への登録時に割り当てられたインスタンス ID |
次のステップ
ソースのクリーンアップ中に作成された一時バックアップテーブルを削除するには、通常のデータ変更 チケットを提出してください。
ソーステーブルからの手動削除後にストレージ領域を再利用するには、ロックフリー DDL チケットを提出してください。