すべてのプロダクト
Search
ドキュメントセンター

Data Management:ApsaraDB RDS for MySQL へのデータアーカイブ

最終更新日:Aug 28, 2026

このトピックでは、MySQL または PostgreSQL データベースから ApsaraDB RDS for MySQL インスタンスにデータをアーカイブする方法について説明します。

説明

データアーカイブは現在パブリックプレビュー中です。

ApsaraDB RDS for MySQL へのアーカイブでサポートされているデータベース

  • MySQL データベース: ApsaraDB RDS for MySQLPolarDB for MySQLAnalyticDB for MySQL 3.0、PolarDB-X 2.0。

    説明

    MySQLデータベースのアカウントには、REPLICATION CLIENT権限が必要です。

  • PostgreSQL データベース: ApsaraDB RDS for PostgreSQL および PolarDB for PostgreSQL

使用上の注意

  • 各ソーステーブルには、プライマリキーまたは一意キーが必要です。

    説明

    ソーステーブルには、データが最後に更新された時刻を示すタイムスタンプフィールドを含めてください。このフィールドをアーカイブ用のフィルター条件として使用できます。

  • アーカイブ後にソーステーブルを自動的にクリーンアップする場合、アーカイブの失敗を防ぐため、ソースデータベースに十分なテーブルスペースがあることを確認してください。

  • DMS は、ソースデータベースと宛先データベースの両方が [セキュリティコラボレーション] または [安定的な変更] モードで管理されている場合にのみ、定期的なアーカイブタスクを実行します。単発実行タスクは、どのコントロールモードでも動作します。

    説明

    Stable Change モード のデータベースで定期的なタスクを実行する場合、セキュリティホスティング を有効にするか、制御モードを Security Collaboration に変更してください。そうしないと、インスタンスのログオン有効期限が切れるため、タスクが失敗する可能性があります。詳細については、「セキュリティホスティングを有効にする」および「インスタンスの制御モードを変更する」をご参照ください。

  • 現在、データアーカイブ機能は Singapore および Indonesia (Jakarta) リージョンでのみ利用できます。

課金

Data Management (DMS) のデータアーカイブ機能は無料です。 DMS の課金項目については、「課金項目 (DMS)」をご参照ください。

サンプルテーブルデータ

このトピックでは、orders_test01 テーブルを例に説明します。このテーブルには gmt_modified フィールドが含まれており、ビジネスデータの最終更新時刻を示します。

クリックすると、サンプルテーブルを作成してデータを挿入する SQL 文が表示されます。

/*テーブルを作成*/
CREATE TABLE `orders_test01` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'プライマリキー',
  `gmt_create` datetime NOT NULL COMMENT '作成時刻',
  `gmt_modified` datetime NOT NULL COMMENT '更新時刻',
  `buyer_name` varchar(128) NOT NULL COMMENT '購入者',
  `seller_name` varchar(128) NOT NULL COMMENT '販売者',
  `item_id` varchar(128) NOT NULL COMMENT '商品 ID',
  `city` varchar(128) NOT NULL COMMENT '都市',
  `zone` varchar(128) DEFAULT NULL COMMENT '購入地域',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8mb4 COMMENT='テスト注文テーブル';
/*データを挿入*/
INSERT INTO orders_test01(id,gmt_create,gmt_modified,buyer_name,seller_name,item_id,city,zone) VALUES 
(1,'2022-08-11 13:41:11','2022-08-11 13:41:12','xiaoming','Group A','IPhone9','Hangzhou','Zhejiang'),
(2,'2022-08-11 13:41:12','2023-08-11 13:41:13','xiaoming','Group B','Xiaomi 8','Hangzhou','Zhejiang'),
(3,'2022-08-11 13:41:13','2023-08-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(4,'2022-08-11 13:41:14','2022-08-11 13:41:15','xiaoming','Group D','Oppo V3','Hangzhou','Zhejiang'),
(5,'2022-10-11 13:41:11','2024-07-12 13:41:12','xiaoming','Group A','IPhone9','Hangzhou','Zhejiang'),
(6,'2022-11-11 13:41:12','2025-01-11 13:41:13','xiaoming','Group B','Xiaomi 8','Hangzhou','Zhejiang'),
(7,'2022-12-01 13:41:13','2023-02-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(8,'2022-12-01 13:41:13','2022-08-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(9,'2022-12-01 13:41:13','2023-08-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(10,'2022-12-01 13:41:13','2024-08-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(11,'2022-12-01 13:41:13','2024-06-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(12,'2022-12-01 13:41:13','2024-08-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(13,'2022-12-01 13:41:13','2023-08-11 13:41:14','xiaoming','Group C','Samsung G1','Hangzhou','Zhejiang'),
(14,'2022-12-11 13:41:14','2024-01-11 13:41:15','xiaoming','Group D','Oppo V3','Hangzhou','Zhejiang');

データアーカイブ

  1. DMSコンソールV5.0 にログインします。

  2. 左上隅にある 2023-01-28_15-57-17.png アイコンにポインターを移動し、[すべての機能] > [ソリューション] > [データアーカイブ] を選択します。

    説明

    DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで [ソリューション] > [データアーカイブ] を選択します。

  3. ページ右上隅の [Data Archiving] をクリックします。

  4. 新しいデータアーカイブのチケットページで、チケットパラメーターを設定し、[Submit] をクリックします。

    この例では、1 つの ApsaraDB RDS for MySQL インスタンスから別のインスタンスにデータをアーカイブします。ソーステーブル orders_test01 のうち、6 か月より前のデータを宛先インスタンス内のデータベースにアーカイブします。

    パラメーター

    必須

    説明

    [タスク名]

    はい

    タスク名は、分かりやすく説明的な名前を使用してください。

    [アーカイブ先]

    はい

    [ApsaraDB RDS for MySQL] を選択します。

    [RDS インスタンス]

    はい

    宛先の ApsaraDB RDS for MySQL インスタンスを検索して選択します。

    [ソースデータベース]

    はい

    ソースデータベースを検索して選択します。

    [アーカイブ設定]

    はい

    アーカイブするソーステーブルを選択します。複数のソーステーブルを追加するには、[Add] をクリックします。特定のデータのみをアーカイブする場合は、フィルター条件を設定します。

    例えば、6 か月より前のデータをアーカイブするには、まず 6_month_ago という名前の時間変数を設定し、その後、フィルター条件を gmt_modified <= '${6_month_ago}' に設定します。

    変数を設定する際は、[Time Format]yyyy-MM-dd に設定します。[Time Operation] では - を選択し、6 を入力してから、[Month] を選択します。

    [アーカイブテーブルマッピング]

    いいえ

    ソーステーブルを宛先テーブルにマッピングします。デフォルトでは、宛先テーブル名はソーステーブル名と同じです。

    [Edit] をクリックして、宛先テーブルのテーブル名、列情報、シャーディングキー、パーティションキーを変更できます。

    [変数設定]

    いいえ

    アーカイブのフィルター条件で、設定済みの変数を使用できます。 たとえば、6_month_ago という名前の時間変数を yyyy-MM-dd 形式で作成してオフセットを -6 ヶ月に設定し、現在の日付が 2021 年 8 月 12 日の場合、変数 ${6_month_ago}2021-02-11 になります。 時間変数の設定方法の詳細については、「時間変数を設定する」をご参照ください。

    [実行後のアクション]

    いいえ

    • [元のテーブルのアーカイブ済みデータをクリーンアップ (delete-No Lock)]:DMS は DELETE 文を使用して、ソーステーブルからアーカイブ済みデータを自動的に削除します。アーカイブ済みデータを保存するために、ソースデータベース内に一時バックアップテーブルが作成されます。ソースデータベースに十分なストレージ容量があることを確認してください。アーカイブ済みデータが正しいことを確認した後、Standard data change チケットを作成して、一時バックアップテーブルを削除してください。

    • クリーンアップオプションを選択しない場合、アーカイブ済みデータはソーステーブルに残ります。手動でデータを削除するには、次の手順を実行してください。

      1. アーカイブされたデータを削除するには、通常のデータ変更チケットを作成します。詳細については、「標準データ変更」をご参照ください。

      2. ストレージ使用量を最適化するには、ロックフリー変更チケットを作成します。詳細については、「ロックレス変更チケットを使用してロックレススキーマ変更を実行する」をご参照ください。

    [実行モード]

    はい

    実行モードを選択します。次のオプションから選択できます:

    • [単発実行]:チケットが承認されると、アーカイブタスクは 1 回のみ実行されます。

    • [定期スケジューリング]:チケットが承認されると、タスクは設定に従って定期的に実行されます。詳細については、「定期スケジューリング」をご参照ください。

  5. チケットを承認します。

    チケットが承認されると、システムがデータアーカイブタスクを自動的に実行します。タスクが完了するまで待機してください。タスクが失敗した場合は、実行ステップの [Actions] 列にある [Details] をクリックしてタスクログを確認できます。ネットワークエラーやデータベース接続エラーなどの一時的な問題が原因でタスクが失敗した場合は、[Retry Breakpoint] をクリックして再試行できます。

    説明

    アーカイブ済みデータは、テーブルとしてデータベースに保存されます。

  6. 任意:アーカイブ済みデータをクエリする

アーカイブ済みデータをクエリする

  1. データアーカイブタスクが正常に実行された後、現在の [Ticket Details] ページの [Basic Information] セクションで、[Destination Database] の右側にある [View] をクリックします。

  2. SQL コンソールページで、左側のテーブルリストでターゲットテーブル名を選択してダブルクリックし、[Execute] をクリックしてアーカイブ済みデータを表示します。

    説明

    システムは、ソースデータベースのデータベース名とテーブル名に基づいて、アーカイブインスタンス内にデータベースとテーブルを自動的に作成します。したがって、ターゲットデータベース名はソースデータベース名と同じになります。

    元のデータの使用に影響を与えることなく、アーカイブされたテーブルに 4 つの新しい列が追加されます:

    • アーカイブ情報 (チケット ID とアーカイブ時刻)

    • データベース名

    • テーブル名

    • インスタンス ID (インスタンスが DMS に追加されたときに割り当てられた ID。実際のインスタンス ID に対応します)

よくある質問

Q:チケットの設定時に宛先データベースを指定しない場合、ソースデータはどこにアーカイブされますか?

A:DMS は、ソースデータベースと同じ名前の宛先データベースを自動的に作成し、アーカイブ済みデータを保存します。