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

ApsaraDB for OceanBase:データのアーカイブ

最終更新日:Oct 31, 2025

この Topic では、チケットを送信してデータをアーカイブする方法について説明します。

バックグラウンド

オンラインデータベースのデータ量が増加すると、クエリのパフォーマンスやビジネス運用に影響が及ぶ可能性があります。OceanBase 開発者センター (ODC) を使用すると、あるデータベースから別のデータベースにテーブルデータを定期的にアーカイブして、この問題に対処できます。

この Topic の例では、ODC でデータアーカイブタスクを作成し、odc_test データベースの employee テーブルを同じプロジェクトの test2 データベースにアーカイブする方法について説明します。

説明

この例のすべてのデータは参照用です。必要に応じてデータを置き換えることができます。

注意点

  • 以下のルールにご注意ください。

    • アーカイブするテーブルにはプライマリキーが必要です。テーブルが OceanBase MySQL 互換またはネイティブ MySQL データソースに属している場合、一意なインデックスがあればアーカイブできます。

    • データをアーカイブするデータベースユーザーには、読み取り/書き込み権限と内部ビューへのアクセス権限が必要です。権限構成の詳細については、「ユーザー権限の表示」「概要」、および「ユーザー権限の変更」をご参照ください。

    • ソーステーブルの列は、ターゲットの列と互換性がある必要があります。データアーカイブサービスは互換性の問題を処理しません。

    • 同種データベースのサブパーティションでは、スキーマ同期はサポートされていません。異種データベースでは、スキーマ同期と自動テーブル作成はサポートされていません。

  • 次のアーカイブリンクがサポートされています。

    • OceanBase MySQL 互換データソース間のリンク

    • OceanBase Oracle 互換データソース間のリンク

    • OceanBase MySQL 互換および OceanBase Oracle 互換データソースから、Alibaba Cloud Object Storage Service (OSS)、Tencent Cloud Object Storage (COS)、Huawei Cloud Object Storage Service (OBS)、Amazon Simple Storage Service (S3) などのオブジェクトストレージサービスへのリンク。

  • 次の場合、データアーカイブはサポートされていません。

    • OceanBase MySQL 互換データソースのソーステーブルに XMLType データ型の列が含まれている場合。

    • OceanBase Oracle 互換データソースのソーステーブルに JSON または XMLType データ型の列が含まれている場合。

    • アーカイブ条件に LIMIT 句が含まれている場合。

    • ソーステーブルに外部キーが含まれている場合。

  • 次のアーカイブリンクでは、自動テーブル作成がサポートされています。

    • OceanBase Oracle 互換データソース間のリンク

    • OceanBase MySQL 互換データソース間のリンク

  • 次のアーカイブリンクでは、スキーマ同期がサポートされています。

    • OceanBase MySQL 互換データソース間のリンク

データアーカイブタスクの作成

  1. SQL 開発ウィンドウで、SQL 文を使用して employee という名前のテーブルを作成します。

    image

    CREATE TABLE `employee` (
    `emp_no` int(120) NOT NULL COMMENT '従業員番号',
     `birthday` date DEFAULT NULL COMMENT '従業員の誕生日',
     `name` varchar(120) DEFAULT NULL COMMENT '従業員名',
     `time` date NOT NULL COMMENT '時間' COMMENT '作成時間',
     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')
    )
  2. データベースリストで、ターゲットデータベースの名前を右クリックし、[スケジュールされたタスク] > [データアーカイブ] を選択して、データアーカイブタスクの作成ページに移動します。左側のナビゲーションウィンドウで [チケット] > [データアーカイブ] を選択し、[新規作成] をクリックすることもできます。

    image.png

  3. [チケットの作成] パネルで、次のパラメーターを構成します。

    image.png

    パラメーター

    説明

    ソースデータベース

    テーブルが属するデータベース。

    説明

    ODC V4.2.2 以降では、MySQL データベースから OceanBase Database にデータをアーカイブできます。

    ターゲットデータベース

    テーブルをアーカイブする先のデータベース。

    説明

    ODC V4.2.2 以降では、OceanBase Database から MySQL データベースにデータをアーカイブできます。

    アーカイブ範囲

    • 部分アーカイブ: ソースデータベース内のフィルタリング条件を満たすテーブルのみをアーカイブするように指定します。

      • 定数を使用するか、カスタム変数で定義された変数を参照して、フィルタリング条件を構成できます。たとえば、time<'${create_time}' では、create_time はカスタム変数で構成された変数の名前であり、time はアーカイブするテーブルの列です。

        説明

        関連付けられたテーブルにフィルタリング条件を設定できます。

      • [パーティションの指定] を選択し、アーカイブするパーティションを指定できます。

      • [+ 追加] をクリックして、アーカイブするテーブルを追加し、そのテーブルをターゲットデータベースにアーカイブします。

      • [+ 一括追加] をクリックして、アーカイブする複数のテーブルを追加し、それらのテーブルをターゲットデータベースにアーカイブします。

    • データベースアーカイブ: ソースデータベース内のすべてのテーブルをアーカイブするように指定します。

    カスタム変数

    オプション。変数を定義し、時間オフセットを設定して、アーカイブする行をフィルタリングできます。

    実行モード

    タスクの実行モード。有効な値: [今すぐ実行][スケジュールされた実行][定期的な実行]

    タスク設定

    • [ソースのアーカイブ済みデータをクリーンアップ]: このオプションを選択すると、設定に基づいてソースのデータがクリーンアップされます。デフォルトでは、データはすぐにクリーンアップされ、バックアップされません。クリーンアップタスクはロールバックできます。

    • [タスク期間の指定]: このオプションを選択して、タスクの期間を指定できます。指定された期間内にタスクが完了しない場合、タスクは一時停止され、次のスケジューリングを待ちます。

    • [ソースとターゲットのテーブルスキーマを同期]: このオプションを選択すると、アーカイブタスクがスケジュールされる前に、ソースとターゲットのテーブルスキーマを比較できます。それらに一貫性がない場合、ソーステーブルはスキップされます。

    • [挿入ポリシー]: データアーカイブ中に重複データを無視するか更新するかを選択できます。

    • [検索戦略]: フルテーブルスキャンと条件付きマッチングがサポートされています。

    • [制限の設定]: 行制限とデータサイズ制限を指定できます。

    説明

    オプション。タスクに関する追加情報。長さは 200 文字を超えることはできません。

  4. [作成] をクリックし、アーカイブ用の SQL 文をプレビューして、[OK] をクリックします。

    image

  5. タスクが生成されたら、[チケット] > [データアーカイブ] を選択してタスクを表示します。

    image.png

データアーカイブタスクの表示

タスク情報

  1. [チケット] タブのデータアーカイブタスクリストで、タスクのアクション列にある [表示] をクリックします。

    image.png

  2. チケット詳細パネルで、[基本情報] タブをクリックし、タスクタイプ、ソースデータベース、ターゲットデータベース、変数構成、アーカイブ範囲、実行モードなどの情報を表示します。

    image

  3. 右下隅にある [再開] をクリックします。データアーカイブ情報が [チケットの作成] パネルにコピーされ、データアーカイブタスクをすばやく作成できます。

実行レコード

チケット詳細パネルで、[実行レコード] タブをクリックし、タスクのステータスと実行の詳細を表示します。

image

操作レコード

チケット詳細パネルで、[操作レコード] タブをクリックし、タスクの承認ステータスと変更履歴を表示します。

image

データアーカイブタスクのインポート

ApsaraDB for OceanBase から OceanBase Cloud にインスタンスとそのデータアーカイブタスクを移行できます。

ステップ 1: ApsaraDB for OceanBase からデータアーカイブタスクをエクスポートする

  1. ApsaraDB for OceanBase コンソールにログオンします。左側のナビゲーションウィンドウで [インスタンス] をクリックします。

  2. ターゲットインスタンスの [アクション] 列で [クラウドマーケットに切り替え] をクリックします。

    image

  3. その後、インスタンスの [アクション] 列で [データ研究開発タスクの処理] をクリックします。

    image

  4. [データ研究開発タスクの処理] ページで、[すべて表示してエクスポート] をクリックして、スケジュールされたタスクをローカルコンピューターにエクスポートします。

    image

ステップ 2: データアーカイブタスクを OceanBase Cloud にインポートする

  1. OceanBase Cloud コンソールにログオンし、[データサービス] > [データライフサイクル] を選択します。[データライフサイクル] ページで、[...] をクリックし、[ジョブのインポート] を選択します。

    image

  2. 先ほどローカルコンピューターにダウンロードしたデータアーカイブ構成ファイルをインポートジョブにアップロードします。

    image

リファレンス