Data Management (DMS) を使用すると、リレーショナルデータベースから ApsaraDB for Lindorm インスタンスに履歴レコードをアーカイブでき、本番データベースのストレージコストを削減しながら、クエリでデータにアクセスできる状態を維持できます。
前提条件
以下のタイプのソースデータベースがサポートされています:
MySQL: ApsaraDB RDS for MySQL、PolarDB for MySQL、およびAnalyticDB for MySQL V3.0
PostgreSQL: ApsaraDB RDS for PostgreSQLおよびPolarDB for PostgreSQL
PolarDB-X 2.0
説明MySQLデータベースのアカウントには、REPLICATION CLIENT権限が必要です。
バージョン 2.2.17 以降の Lindorm ワイドテーブルエンジンが購入済みであること。購入手順の詳細については、「インスタンスの作成」をご参照ください。
ターゲットの Lindorm データベースが DMS に追加済みであること。データベースを追加する際は、Lindorm-SQL を選択します。詳細については、「クラウドデータベースインスタンスの登録」をご参照ください。
ソーステーブルにプライマリキーまたは一意キーがあること。
説明ソーステーブルには、ビジネス上の変更時刻をアーカイブのフィルター条件として使用できるように、変更時刻フィールドを含めることを推奨します。
注意事項
定期的なデータアーカイブタスクを実行するには、ソースデータベースとターゲットデータベースの両方がセキュリティコラボレーションまたは安定的な変更のコントロールモードである必要があります。データアーカイブタスクを 1 回だけ実行する場合、コントロールモードに制限はありません。
説明インスタンスが安定的な変更コントロールモードである場合、定期的なデータアーカイブタスクを設定する前に、セキュリティホスティングを有効にするか、コントロールモードをセキュリティコラボレーションに変更してください。これにより、インスタンスのログオンの有効期限切れによるタスクの失敗を防ぐことができます。詳細については、「セキュリティホスティングの有効化」および「インスタンスのコントロールモードの変更」をご参照ください。
データアーカイブ機能は、シンガポールおよびインドネシア (ジャカルタ) リージョンでのみ利用可能です。
課金
ターゲットインスタンスの購入料金がかかります。
データのアーカイブ
DMSコンソールV5.0 にログインします。
上部のナビゲーションバーで、 を選択します。
説明DMS コンソールをシンプルモードで使用している場合は、DMS コンソールの左上隅にある
アイコンにポインターを移動し、 を選択します。ページの右上隅にある [Data Archiving] をクリックします。
[New Data Archive Ticket] ページで、チケット情報を設定します。
パラメーター
必須
説明
[タスク名]
はい
明確で具体的なタスク名を入力して、コミュニケーションコストを削減します。
[アーカイブ先]
はい
[Lindorm] を選択します。
[Lindorm インスタンス]
はい
ターゲットの ApsaraDB for Lindorm インスタンスを検索して選択します。
[ソースデータベース]
はい
ソースデータベースを検索して選択します。
[アーカイブ設定]
はい
データをアーカイブする1つ以上のテーブル。
オプション: 指定したテーブルにアーカイブするデータを照会するためのフィルター条件を1つ以上指定します。 例:
gmt_modified<='${6_month_ago}'説明6か月前に生成されたデータのアーカイブなどのシナリオで時間変数を使用する場合は、アーカイブ設定セクションでパラメーターを設定する前に、[変数設定] セクションで変数を設定できます。
オプション。 [追加] をクリックして、ソーステーブルを追加します。
[アーカイブテーブルマッピング]
いいえ
テーブル名の [Actions] 列にある [Edit] をクリックすると、ソーステーブルがターゲットデータベースにアーカイブされた後のテーブル名、列情報、シャードキー、パーティションキーを編集できます。
[変数設定]
いいえ
フィルター条件の時間変数を定義します。たとえば、
6_month_agoという名前の変数を、フォーマットyyyy-MM-dd、オフセット-6 Monthで作成します。今日が 2021 年 8 月 12 日の場合、${6_month_ago}は2021-02-11になります。詳細については、「変数」トピックの「時間変数の設定」セクションをご参照ください。[後処理]
いいえ
[Clean up archived data in the source table (delete-lock-free)] を選択した場合、アーカイブが完了すると、システムはロックフリーデータ変更として、
DELETE文を使用してソーステーブル内のアーカイブ済みデータを自動的に削除します。ただし、ソーステーブルからデータを削除する際、アーカイブされたデータを格納するための一時的なバックアップテーブルがソースデータベースに生成されます。インスタンスが利用できなくなるのを避けるため、ソースデータベースに十分な容量があることを確認してください。一時バックアップテーブルのクリーンアップ:データアーカイブが完了し、データが正しいことを確認した後、標準データ変更チケットを作成して、ソースデータベース内の一時バックアップテーブルをクリーンアップできます。
[Clean up archived data in the source table (delete-lock-free)] を選択しない場合、データアーカイブが完了した後に、ソーステーブルのデータを手動で削除し、容量を最適化する必要があります。
ソーステーブルのデータをクリーンアップする:標準データ変更チケットを作成して、データベース内のアーカイブ済みデータをクリーンアップします。標準データ変更チケットの作成方法の詳細については、「標準データ変更」をご参照ください。
ソーステーブルの容量を最適化する:ロックフリー変更チケットを作成して、ソーステーブルの容量を最適化します。ロックフリー変更チケットの作成方法の詳細については、「ロックフリー変更チケットを使用したロックレススキーマ変更の実行」をご参照ください。
[Verify archived data] を選択すると、アーカイブタスクの実行時にアーカイブ済みデータが検証されます。検証には、アーカイブテーブル名、ソースデータベース、SQL 文の数が含まれます。[Verification Details] をクリックすると、詳細を表示できます。
[実行モード]
はい
実行モードを選択します。以下のモードがサポートされています:
[1 回実行]:チケットが承認されると、アーカイブタスクは 1 回だけ実行されます。
[定期的なスケジューリング]:チケットが承認されると、アーカイブタスクは設定された定期スケジュールに基づいて実行されます。詳細については、「定期的なスケジューリング」をご参照ください。
[Submit] をクリックします。
チケットが承認されると、DMS はデータアーカイブタスクを自動的に実行します。
アーカイブ済みデータのクエリ
方法 1:DMS を使用したアーカイブ済みデータのクエリ
データアーカイブタスクが正常に実行された後、現在の [Ticket Details] ページの [Basic Information] セクションで、[Destination Database] の右側にある [View] をクリックします。
SQL コンソールページで、左側のテーブルリストでターゲットテーブル名を選択してダブルクリックし、[Execute] をクリックしてアーカイブ済みデータを表示します。
説明システムは、ソースデータベースのデータベース名とテーブル名に基づいて、アーカイブインスタンス内にデータベースとテーブルを自動的に作成します。したがって、ターゲットデータベース名はソースデータベース名と同じになります。
元のデータの使用に影響を与えることなく、アーカイブされたテーブルに 4 つの新しい列が追加されます:
アーカイブ情報 (チケット ID とアーカイブ時刻)
データベース名
テーブル名
インスタンス ID (インスタンスが DMS に追加されたときに割り当てられた ID。実際のインスタンス ID に対応します)
方法 2:Lindorm を使用したアーカイブ済みデータのクエリ
ワイドテーブルエンジンでの データクエリ。
定期的なスケジューリング
パラメーター | 説明 |
[スケジューリングサイクル] | タスクをスケジューリングするサイクルを選択します:
|
[スケジュール] | 以下の 2 つのスケジューリング方法が提供されています:
|
[指定日] |
|
[特定の時刻] | タスクを実行する特定の時刻を設定します。 たとえば、時刻を 02:55 に設定した場合、システムは指定された日の 02:55 にタスクを実行します。 |
[Cron 式] | 手動で設定する必要はありません。設定したスケジューリングサイクルと特定の時刻に基づいて、システムが自動的に表示します。 |