本ドキュメントでは、データクリーンアップチケットを送信してデータをクリーンアップする方法について説明します。
背景情報
OceanBase Cloud では、ソースデータベースのデータをターゲットデータベースにアーカイブした後、ソースデータベースのデータを削除することで、データベースのクエリパフォーマンスを向上させ、オンラインストレージのコストを削減できます。
本ドキュメントでは、データクリーンアップの新規作成を例に、OceanBase Cloud でデータベース test1 のテーブル employee をクリーンアップする方法について説明します。
説明
本文中で使用しているデータはすべてサンプルです。実際の状況に合わせてデータを置き換えてください。
前提条件
SQL コンソールにログインするための、現在のテナントのデータベースアカウントとパスワードを持っていること。
クリーンアップするテーブルには主キーが含まれている必要があります。
注意事項
前提条件:
- MySQL データソースは、現在 CPU およびメモリの過負荷保護機能に対応していません。
クリーンアップに対応するデータソース:
OceanBase MySQL データソース。
OceanBase Oracle データソース。
MySQL データソース。
以下の場合はクリーンアップに対応していません:
OceanBase MySQL および MySQL データソースで、テーブルに主キー PRIMARY KEY または一意の非 NULL インデックスが含まれていない場合、クリーンアップに対応していません。
OceanBase Oracle データソースで、テーブルに主キー PRIMARY KEY が含まれていない場合、クリーンアップに対応していません。
OceanBase Oracle データソースで、テーブルに JSON または XMLTYPE フィールドタイプが含まれている場合、クリーンアップに対応していません。
アーカイブ条件に limit 句が含まれている場合、クリーンアップに対応していません。
テーブルに外部キーが含まれている場合、クリーンアップに対応していません。
データクリーンアップの新規作成
データサービス > ライフサイクル > データクリーンアップ をクリックし、ライフサイクル ページで ジョブの作成 > データクリーンアップ をクリックします。
データクリーンアップの新規作成 ページで、以下の情報を入力します。
情報項目説明データベース情報 データソースとデータベースを選択します。ターゲット側のデータソースとデータベースのステータスを検証することもできます。 クリーンアップ範囲 - 部分クリーンアップ:クリーンアップ条件を使用して、データベース内の一部のテーブルをクリーンアップします。
- 定数、または変数設定で定義された変数を参照して、フィルタ条件を設定できます。例:
time<'${create_time}'、ここで、create_timeは変数設定の変数名、timeはクリーンアップするテーブルのフィールドです。 - 詳細設定 > 設定 をクリックすると、指定したパーティションに基づいてデータをクリーンアップできます。
- 定数、または変数設定で定義された変数を参照して、フィルタ条件を設定できます。例:
- データベース全体のクリーンアップ:データベース内のすべてのテーブルをクリーンアップします。
カスタム変数 オプション。変数を定義し、時間オフセットを設定することで、テーブル内の条件を満たす行をフィルタリングしてクリーンアップします。 実行モード 即時実行 / スケジュール実行 / 定期実行 を選択して、ジョブの実行方法を設定します。 タスク設定 - 実行タイムアウト:実行がタイムアウトすると、ジョブは期限切れになります。
- データ取得戦略:ターゲットレコード行の検索方法を選択します。フルテーブルスキャンはパフォーマンスが安定しており、ターゲットデータの割合が大きいシナリオに適しています。条件一致は空スキャンを回避でき、パフォーマンスが速く、ターゲットデータの割合が小さいシナリオに適しています。
- 行数制限:1 秒あたりの操作データの合計行数制限です。
- データ量制限:1 秒あたりの操作データの合計サイズ制限です。
- クリーンアップに主キーを使用する:主キーを使用してデータをクリーンアップするかどうかを選択します。
備考 備考 テキストボックスに 200 文字以内で説明情報を入力できます。この項目はオプションです。 - 部分クリーンアップ:クリーンアップ条件を使用して、データベース内の一部のテーブルをクリーンアップします。
SQL のプレビュー をクリックしてアーカイブ SQL 文をプレビューし、送信 をクリックして、データクリーンアップの新規作成を完了します。
ジョブの生成後、データクリーンアップ リストでジョブ情報を確認できます。
データクリーンアップジョブの表示
データサービス > ライフサイクル > データクリーンアップ ページにアクセスし、データクリーンアップリストとクリーンアップレコードの基本情報を確認します。
データクリーンアップリストで対象ジョブの名前をクリックし、ジョブの詳細を確認します。また、操作列の ··· をクリックして、対象ジョブに対してさらに操作を行うこともできます。
- 終了:ジョブの実行方法が定期実行またはスケジュール実行の場合、終了を選択してジョブを終了できます。
- 無効化/有効化:ジョブの実行方法が定期実行またはスケジュール実行の場合、無効化を選択してジョブの実行を一時停止し、再度有効化した後に再開できます。
- 編集:ジョブのステータスが無効の場合、編集を選択してジョブの内容を更新できます。
- 削除:ジョブのステータスが完了または終了の場合、削除を選択してジョブを削除できます。
- 詳細:ジョブの内容の詳細を確認します。
- 再実行:このジョブの実行内容をコピーし、同じ設定の新規ジョブ作成画面をすばやく生成します。
ポップアップ表示されるジョブ詳細の 運用記録 タブで、ジョブタイプ、データベース名、変数設定、クリーンアップ範囲などの情報を確認します。
ジョブ詳細パネルで、実行レコード タブをクリックして、ジョブのステータスや実行の詳細などを確認します。
ジョブ詳細パネルで、アクション タブをクリックして、ジョブのステータスとレコードを確認します。
データクリーンアップジョブのインポート
他のプラットフォームのデータクリーンアップジョブを OceanBase Cloud にインポートできます。たとえば、クラウドデータベース OceanBase のインスタンスを OceanBase Cloud に移行した後、移行したインスタンスに含まれるデータクリーンアップジョブを OceanBase Cloud に移行できます。
ステップ 1:他のプラットフォームからのデータクリーンアップジョブのエクスポート
クラウドデータベース OceanBase 管理コンソール の左側のナビゲーションペインで、インスタンスリスト をクリックします。
インスタンスの 操作 列にある クラウドマーケットプレイスへの切り替え をクリックします。
インスタンスの切り替えが完了したら、インスタンスの 操作 列にある データ開発タスクの処理 をクリックします。
データ開発タスクの処理 ページで、すべてを表示してエクスポート をクリックし、スケジュールタスクをローカルにエクスポートします。
ステップ 2:OceanBase Cloud へのデータクリーンアップジョブのインポート
OceanBase Cloud クラウドデータベースコンソール にログインし、データサービス > ライフサイクル をクリックした後、ライフサイクル ページで ... (その他のオプション) > ジョブのインポート をクリックします。
ローカルにダウンロードしたデータクリーンアップ設定ファイルをアップロードして、ジョブをインポートします。