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

ApsaraDB for OceanBase:概要

最終更新日:Feb 07, 2026

OceanBase Binlog サービスは、OceanBase からトランザクションログを収集し、MySQL Binlog 形式に変換します。このサービスは、主にリアルタイムの変更追跡などのシナリオで利用されます。

背景情報

MySQL のバイナリログ(Binlog)は、マスタースレーブレプリケーションおよび変更追跡の基盤です。リアルタイムの変更追跡などのシナリオでは、パフォーマンスへの影響が小さい状態でバイナリログを有効化できます。この機能により、既存の MySQL Binlog 増分解析システムを再利用して、OceanBase Database の MySQL 互換モードから増分データを同期できます。カスタム開発や新規環境の構築は不要です。既存の MySQL ベースの増分変更追跡ソリューションを、ApsaraDB for OceanBase へシームレスに移行できます。

パフォーマンス制限

Binlog 変換サービスのパフォーマンスは、リソース構成および Clog 解析能力に制限されます。現在、Binlog サービスは最大 25 MB/s の Clog 解析速度をサポートしています。Binlog 変換レートの上限は、約 50,000 レコード/秒(RPS)です。ソースサービスのトラフィックがこれらの上限を超えると、Binlog 変換サービスの遅延が増加する可能性があります。また、Binlog サービスは最大 50 のサブスクリプション接続をサポートします。同時サブスクリプション接続数がこの上限を超えると、サービスはリクエストを拒否します。高トラフィックおよび大規模トランザクションのシナリオでは、Binlog サービスはリアルタイム性能を維持するために、Clog を増分的に処理する必要があります。

サービストラフィックが適切な範囲内である場合、Binlog 変換サービスの遅延は通常 1 秒未満です。ただし、データ定義言語(DDL)操作が頻繁に行われる場合や、データベース内で大規模トランザクションが実行されるなどの特殊なケースでは、1 秒未満の変換遅延を保証できません。

Binlog サービスの特徴

  • アクティブなサブスクリプション接続が 7 日以上存在しない場合、Binlog サービスは自動的に無効化されます。

  • OceanBase Binlog サービスはテナントレベルで管理されます。特定のデータベースまたはテーブルに対してバイナリログを有効化することはできません。

  • OceanBase Binlog サービスは、MySQL Binlog の Row フォーマットと互換性があります。変更は行単位で記録されます。

  • OceanBase Database の MySQL 互換モードは、ほとんどの MySQL データの型と互換性があります。詳細については、「OceanBase の MySQL データの型の概要」をご参照ください。OceanBase Database の MySQL 互換モードの DDL 構文は MySQL の DDL 構文とは異なり、MySQL 互換モードには独自の拡張構文がいくつかあります。そのため、これらの DDL 文は正しく解析されない場合があります。

    説明
    • OceanBase Database の MySQL 互換テナントにおける ENUM 型および SET 型の拡張セマンティクスはサポートされていません。たとえば、SET 型の定義で 64 メンバーを超えるメンバーを指定すること、SET 型で重複値を指定すること、ENUM 型で未定義のデータ(例:'')を挿入することなどはサポートされません。

    • VARCHAR 型は最大 65,535 バイトのデータを格納できます。VARCHAR 型の長さがこの値を超えると、対応するテーブルデータの解析エラーが発生する可能性があります。

      注:文字セットの構成は VARCHAR の長さ設定に影響します。たとえば、文字セットが utf8mb4 の場合、1 文字は 4 バイトを占めます。この場合、VARCHAR に設定可能な最大長は 16,383 となります。

    • OceanBase Database の MySQL 互換テナントでは、LONGBLOB 型および LONGTEXT 型の最大サイズは 48 MB です。これは MySQL の実装とは異なります。

  • OceanBase Database V4.x を使用する場合、生成列に対して STORED 属性 を設定します。そうしないと、Binlog サービスがこれらの列のデータを変換しません。これにより、ダウンストリームのサブスクリプション解析が失敗したり、データ損失が発生したりする可能性があります。

  • OceanBase Database の MySQL 互換モードにおける Binlog プロトコルは、MySQL 5.7 Binlog プロトコルとほぼ一貫しており、同様の基本機能を提供します:

    • ファイル名+オフセットおよび GTID の 2 種類の抽出モードをサポートします。GTID は OceanBase Binlog サービスによって生成され、グローバルに一意です。

    • すべてのデータベースおよびテーブルの Binlog ファイルの読み取りをサポートします。OceanBase Binlog サービスは、テナントレベルで全データベースおよびテーブルの増分データをダンプし、Binlog ファイルに永続ストレージとして保存します。

    • 複数の Binlog Dump サブスクリプション接続をサポートします。[最も古いバイナリログファイルの位置、最新の位置] の範囲内の任意のオフセットからサブスクライブできます。

  • Binlog ファイルの定期的なクリーンアップをサポートします。Alibaba Cloud 上で OceanBase Binlog サービスを有効化すると、デフォルトでログは 18 時間または最大 50 GB のいずれかの条件を満たした時点で削除されます。いずれかの条件が成立すると、ログのクリーンアップがトリガーされます。

  • FlinkCDC、Canal、MaxWell などの主要な MySQL Binlog 解析ツールとの統合をサポートします。

  • Binlog サービスは高可用性(HA)を提供し、数分以内に障害から自動回復できます。ただし、ダウンストリームのサブスクライバーは、障害発生時のサブスクリプション中断を防ぐために、再接続メカニズムを備えておく必要があります。

Binlog ファイルの取得方法

接続方法:テナントのプライマリエンドポイント経由で接続できます。

バージョン要件:OceanBase データベースインスタンスは V3.2.4 以降である必要があります。

操作手順:

  1. OceanBase Binlog サービスはデフォルトで無効化されています。まず、サービスを有効化する必要があります。詳細については、「Binlog サービスの有効化」をご参照ください。

  2. MySQL クライアントを使用して OceanBase データベースに接続します。詳細については、「MySQL クライアントを使用した OceanBase データベースインスタンスへの接続」をご参照ください。

  3. OceanBase データベースへの接続後、接続済みのクライアントで関連する MySQL Binlog コマンドを実行できます。

    1. show binary logs 文を実行して、Binlog ファイルの一覧を表示します。show binary logs..png

    2. show master status 文を実行して、現在書き込み中の Binlog ファイルを表示します。show master status..png

    3. show binlog events 文を実行して、Binlog ファイル内の特定のイベントを表示します。show binlog events..png

  4. Canal を使用して変更をサブスクライブします。詳細については、「QuickStart」をご参照ください。