本記事では、データアーカイブのチケットを提出することでデータをアーカイブする方法について説明します。
背景
OceanBase Cloudは、指定した時間間隔でソースデータベースのテーブルデータをターゲットデータベースにアーカイブすることをサポートしています。オンラインデータ量が増加する中、この機能はクエリパフォーマンスの向上とビジネスの安定稼働を保証します。
本記事では、新しいデータアーカイブタスクの作成を例に、OceanBase Cloud内でtest1データベースのemployeeテーブルをload_testデータベースにアーカイブする方法を説明します。
説明
本記事で使用されているデータは参考用です。実際の状況に応じて置き換えてください。
原理
前提条件
SQLコンソールにログインするためのデータベースアカウントとパスワードを取得済みであること。
アーカイブ対象のテーブルに主キーが含まれていること。
データアーカイブタスクの作成
SQLコンソールにログインし、SQLウィンドウに入ります。
SQLウィンドウで以下のSQLステートメントを実行し、
employeeという名前のテーブルを作成します。CREATE TABLE `employee` ( `emp_no` int(120) NOT NULL COMMENT 'employee number', `birthday` date DEFAULT NULL COMMENT 'employee birthday', `name` varchar(120) DEFAULT NULL COMMENT 'employee name', `time` date NOT NULL COMMENT 'time' COMMENT 'create time', PRIMARY KEY (`time`) ) partition by range columns(time) ( partition p2023_01 values less than ('2023-01-01'), partition p2023_02 values less than ('2023-02-01') )データサービス > ライフサイクル > データアーカイブ をクリックします。ライフサイクル ページで、ジョブを作成する > データアーカイブ をクリックします。
データアーカイブジョブを作成する ページで、以下のパラメータを設定します。
パラメータ説明ソースデータソース ソーステーブルが属するデータソース。 ターゲットデータソース アーカイブ対象テーブルのターゲットデータソース。 ソースデータベース ソーステーブルが属するデータベース。 ターゲットデータベース アーカイブ対象テーブルのターゲットデータベース。 アーカイブ範囲 - 部分アーカイブ:フィルター条件を満たすソースデータベース内のテーブルのみをアーカイブします。
- 定数または カスタム変数 で定義された変数を参照して、フィルター条件を設定できます。例えば、
time<'${create_time}'では、create_timeは カスタム変数 で設定された変数名、timeはアーカイブ対象テーブルのフィールドです。 - その他の設定 > 設定 をクリックして、アーカイブするパーティションを指定できます。

- 定数または カスタム変数 で定義された変数を参照して、フィルター条件を設定できます。例えば、
- 完全なデータベースアーカイブ:ソースデータベース内のすべてのテーブルをアーカイブします。
カスタム変数 変数を定義し、時間オフセットを設定して、アーカイブ対象の行をフィルタリングできます。 実行方法 タスクの実行方法。有効な値は、即時実行、スケジュール実行、および 定期実行 です。 タスク設定 - 実行タイムアウト:タスクのタイムアウト時間を指定できます。タスクが指定された時間内に完了しない場合、タスクは一時停止され、次回のスケジュールを待ちます。
- 行数制限:1秒間に操作するデータの総行数を制限します。
- データ量制限:1秒間に操作するデータの総サイズを制限します。
- ソース内のアーカイブデータをクリーンアップする:ソースデータベース内のアーカイブ済みデータをクリーンアップするかどうかを指定します。
- 方式を挿入する:データアーカイブ期間中に重複データを無視するか、更新するかを指定します。
- データ取得戦略:検索対象レコードの取得方法を指定します。全表スキャンはパフォーマンスが安定しており、検索対象データが多いシナリオに適しています。条件マッチングが高速で、不要なスキャンを回避できるため、検索対象データが少ないシナリオに適しています。
ターゲットテーブル構造の同期 ソーステーブルとターゲットテーブルの構造を比較するためにこのオプションを選択できます。このオプションを選択しない場合、ソーステーブルとターゲットテーブルの構造が一致しないとき、ソーステーブルはスキップされます。 備考 オプションです。タスクの補足情報で、長さは200文字を超えてはなりません。 - 部分アーカイブ:フィルター条件を満たすソースデータベース内のテーブルのみをアーカイブします。
SQLプレビュー をクリックして、アーカイブSQLステートメントを確認し、ジョブ名を指定します。その後、送信 をクリックして、データアーカイブタスクの作成を完了します。
タスク作成後、データアーカイブ リストでタスク情報を確認できます。
データアーカイブタスクの表示
タスク情報の表示
データアーカイブリストで、対象タスクの操作列にある 詳細 をクリックします。
表示された ジョブ情報 タブで、タスクタイプ、ソースデータベース、ターゲットデータベース、変数設定、アーカイブ範囲、実行方法を確認します。
タスク実行履歴の表示
タスク詳細パネルで、実行履歴 タブをクリックし、タスク状態、実行詳細、タスクログを確認します。
操作履歴の表示
タスク詳細パネルで、運用記録 タブをクリックし、タスク状態を確認します。
データアーカイブタスクのインポート
インスタンスをクラウドデータベースOceanBaseからOceanBase Cloudに移行した後、移行済みインスタンスのデータアーカイブタスクをOceanBase Cloudにインポートできます。
ステップ1:クラウドデータベースOceanBaseからデータアーカイブタスクをエクスポートする
クラウドデータベースOceanBaseコンソールの左側のナビゲーションバーで、インスタンス をクリックします。
対象インスタンスの操作列で クラウドマーケットへ切り替え をクリックします。
インスタンスの切り替えが完了したら、インスタンスの操作列で データ開発タスクを処理する をクリックします。
データ開発タスクを処理する ページで、すべてを表示してエクスポート をクリックし、スケジュールタスクをローカルにエクスポートします。
ステップ2:データアーカイブタスクをOceanBase Cloudにインポートする
OceanBase Cloudコンソールにログインし、データサービス > データライフサイクル をクリックします。その後、データライフサイクルページで ... > インポートジョブ をクリックします。
インポートジョブページで、ダウンロードしたデータアーカイブ設定ファイルをアップロードします。