OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBase Cloud

  • エコシステム統合の概要
  • データベースバージョニング
    • Liquibaseを使用したOceanBaseデータベースのバージョン管理
    • Flywayを使用したOceanBase Cloudデータベースのバージョン管理
  • データ統合
    • Canalを使用したデータの同期
    • dbtを使用したOceanBaseデータの分析
    • Debezium
    • Flinkによるデータの同期
    • AWS Glueを使用したOceanBaseデータの移行
    • Informatica CloudとOceanBaseデータベースの連携ガイド
    • OceanBaseデータベースとKafkaの統合に関するベストプラクティス
    • Maxwell
    • SeaTunnel
    • DataWorks
    • Apache NiFiによるOceanBase Cloudの統合
  • SQL 開発
    • DataGripでOceanBase Cloudデータベースに接続する
    • DBeaverでOceanBase Cloudに接続する
    • NavicatでOceanBase Cloudに接続する
    • TablePlusでOceanBase Cloudデータベースに接続する
  • オーケストレーション
    • DolphinScheduler
    • LinkisとOceanBaseデータベースの連携
    • AirflowとOceanBaseデータベースの連携
  • 可視化
    • GrafanaでOceanBase Cloudの監視ダッシュボードデータを表示する
    • Power BIでOceanBase Cloudに接続してデータを取得する
    • Quick BIでOceanBase Cloudに接続する
    • SupersetとOceanBase Cloudを使用したデータ分析
    • TableauからOceanBase Cloudに接続する
  • オブザーバビリティ
    • Datadogを使用したOceanBase Cloudインスタンスの監視
    • Prometheusを使用したOceanBaseデータの監視
  • データベース管理
    • BytebaseによるOceanBaseインスタンスの管理
  • AI
    • OceanBase Cloud VectorとLlamaIndexの連携
    • OceanBase Cloud VectorとDifyの連携
    • OceanBase Cloud VectorとLangChainの連携
    • OceanBase Cloud VectorとQwenの連携
    • OceanBase Cloud VectorとOpenAIの連携
    • OceanBase Cloudとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBase Cloud VectorとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI ToolboxとOceanBase MCP Serverの統合
    • OceanBase Cloud VectorとCamelAIの連携
    • OceanBase Cloud VectorとFirecrawlの連携
    • OceanBase Cloud VectorとHugging Faceの連携
    • OceanBase Cloud VectorとOllamaの連携
    • OceanBase Cloud VectorとGoogle Geminiの連携
    • OceanBase Cloud VectorとCloudflare Workers AIの連携
    • OceanBase MCP ServerとQoderの連携
    • OceanBase MCP ServerとOpenCodeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとGitHub Copilotの連携
    • OceanBase MCP ServerとCodexの連携
    • OceanBase Cloud VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとKiroの連携
  • 開発ツール
    • Cloudflare WorkersでOceanBase Cloudに接続する
    • VercelでOceanBase Cloudに接続する

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBase Cloud

Canalを使用したデータの同期

最終更新:2026-10-09 09:10:54

背景
前提条件
操作手順

Canalは、オープンソースのデータベース変更ログ解析ツールであり、主にMySQLデータベースに基づく増分データのサブスクリプションと消費に利用されます。Canalは、データのリアルタイム同期および異種システム間のデータ統合を実現するために主に使用されます。

本記事では、CanalのCanal ServerとCanal Adapterコンポーネントを使用して、OceanBase CloudのMySQL互換モードテナント間でデータを同期する方法について説明します。

背景

  • Canal Server

    MySQLデータベースへの接続を担当し、MySQLスレーブの動作を模倣してデータベースのBinlogログファイルを解析し、変更データを抽出して処理しやすい形式で下流の消費者に提供します。

  • Canal Adapter

    Canalの拡張コンポーネントであり、Canal Serverが解析したデータ変更をマッピングして、RDBMS(リレーショナルデータベース)、Elasticsearch、HBaseなど、さまざまなタイプの下流データストレージに転送します。

Canalの詳細については、CanalのGitHubリンクをご参照ください。

前提条件

データを同期する前に、以下の情報を確認してください:

  • OceanBase Cloud MySQLのBinlogが有効になっていることを確認してください。詳細については、手順をご参照ください。
  • Java 1.8以降のバージョンがインストールされていることを確認してください。
  • Canal Serverがインストールされていることを確認してください。
  • Canal Adapterがインストールされていることを確認してください。
  • ターゲットのOceanBase Cloudデータベースに必要なテーブル構造を作成し、ソースデータベースと同一であることを確認してください。

操作手順

以下の手順に従って、OceanBase Cloud MySQL互換モードテナント間でデータを同期してください:

  1. OceanBase CloudのBinlogサービスを有効にします。 Binlogサービスを有効にするパス:インスタンスリスト -> テナント管理 -> Binlogサービスで、「開始」をクリックします。詳細については、Binlogサービスの開始をご参照ください。

  2. データ同期用のユーザーを作成します。

     CREATE USER 'ユーザー名'@'%' IDENTIFIED BY 'パスワード';
     GRANT SELECT ON *.* TO 'ユーザー名';
    
  3. Canal Serverを設定します。 conf/example/instance.propertiesファイルを変更し、OceanBase Cloud MySQLのアドレス、ポート、ユーザー名、パスワード、および監視対象のデータベースとテーブルを設定します。Canalサービスを起動し、そのログを監視して正常に動作していることを確認します。サンプル設定ファイルは以下のとおりです:

    vi conf/example/instance.properties
    
     # OceanBase Cloud MySQLデータソースの接続情報を設定します
     canal.instance.master.address=送信元OceanBase Cloud MySQLサーバーのアドレス:ポート
     canal.instance.dbUsername=ユーザー名
     canal.instance.dbPassword=パスワード
    
     # その他のパラメータはデフォルトのままにします
    
  4. Canal Serverを起動します。

    cd /Canal_Home/canal && sh bin/startup.sh
    

    ログファイルを確認し、Canal Serverが正常に起動したことを確認します:

    tail -f logs/canal/canal.log
    
  5. Canal Adapterを設定します。 Canal Adapterの設定ディレクトリconfに移動し、application.yml設定ファイルを編集して、rdb Adapterのプロパティを設定します:

    mode: tcp #tcp kafka rocketMQ rabbitMQ
    dataSourceKey: defaultDS
    destination: example
    groupId: g1
    outerAdapters:
    - name: rdb
        key: mysql1
        properties:
        jdbc.driverClassName: com.mysql.cj.jdbc.Driver
        jdbc.url: jdbc:mysql://宛先MySQLアドレス:ポート/宛先データベース名?useUnicode=true&characterEncoding=UTF-8&useSSL=false
        jdbc.username: 宛先データベースのユーザー名
        jdbc.password: 宛先データベースのパスワード
    

    Canal Adapterはさまざまなタイプのデータストレージシステムをサポートしており、各タイプに対応するAdapterがあります。RDB AdapterはCanal Adapterの一部であり、リレーショナルデータベース間のデータ同期に特化しています。RDB(Relational Database)マッピングファイルの例は以下のとおりです:

    cat conf/rdb/mytest_user.yml
    
    
    dataSourceKey: defaultDS
    destination: example
    groupId: g1
    outerAdapterKey: mysql1
    concurrent: true
    dbMapping:
    database: 送信元データベース名
    table: 送信元テーブル名
    targetTable: ターゲットデータベースのテーブル名
    targetPk:
        id: 主キー列
    mapAll: true
    
  6. Canal Adapterを起動します。

    cd /Canal_Home/adapter && sh bin/startup.sh
    

    ログファイルを確認し、Canal Adapterが正常に起動したことを確認します:

    tail -f logs/adapter/adapter.log
    
  7. データ同期を検証します。 ターゲットデータベースのテーブルを確認し、ソースデータが正常に同期されたかどうかを検証します。

前のトピック

Flywayを使用したOceanBase Cloudデータベースのバージョン管理
前へ

次のトピック

dbtを使用したOceanBaseデータの分析
次へ
このページの内容
背景
前提条件
操作手順