CDC(Change Data Capture)とは?DB移行・クラウド移行でダウンタイムを最小化する技術

「CDCって何?」「レプリケーションと何が違うの?」——データベース移行やクラウド移行を検討する中で、CDCという言葉を目にする機会が増えています。

CDC(Change Data Capture)は、データベースの変更をリアルタイムに検知・取得する技術です。従来のバッチ処理とは異なり、データの変更が発生した瞬間にキャプチャできるため、DB移行やクラウド移行における「ダウンタイム最小化」の切り札として注目されています。

本記事では、CDCの基本的な仕組みから、3つの方式の違い、代表的なCDCツールの比較、そしてDB移行・クラウド移行での具体的な活用方法までを解説します。

この記事で分かること

  • CDCとは何か、レプリケーションとの関係
  • CDCの3つの方式(ログベース/トリガーベース/タイムスタンプベース)の違い
  • 代表的なCDCツール(Debezium、Oracle GoldenGate、Qlik Replicate、AWS DMS)の比較

1. DB移行・クラウド移行で「ダウンタイム」が課題になる理由

CDCの詳細に入る前に、なぜDB移行やクラウド移行でダウンタイムが大きな課題になるのかを整理しておきましょう。

従来の移行方法(バックアップ&リストア)の限界

従来のデータベース移行は、「システム停止→バックアップ取得→移行先にリストア→システム再開」という流れで行われてきました。この方法はシンプルで確実ですが、データ量が増加した現代では、移行作業が長時間化するという課題があります。

テラバイト級のデータベースでは、バックアップの取得だけで数時間、リストアにも数時間かかることがあります。リストア中には、システムは完全に停止したままです。

24時間365日稼働が求められるシステムの増加

ECサイト、金融システム、IoTプラットフォームなど、24時間365日の稼働が求められるシステムが増えています。これらのシステムでは、数時間のダウンタイムでさえ、売上損失や顧客満足度の低下、さらには契約違反(SLA違反)につながるリスクがあります。

「夜間メンテナンス時間内に移行が終わらない」「移行のためにシステム停止が許容できない」——こうした課題を解決するのがCDC技術です。

2. CDCとは?移行時のダウンタイムを最小化する技術

CDCの定義

CDC(Change Data Capture)は、日本語では「変更データキャプチャ」と訳されます。データベースで発生したINSERT、UPDATE、DELETEなどの変更を検知し、その変更データのみを取得する技術です。

CDCはレプリケーション(データの複製・同期)を実現するための技術の一つです。従来のバッチ処理では、定期的に全データを比較して差分を抽出していましたが、CDCではデータの変更をリアルタイムに検知できるため、より効率的かつ低負荷でデータを同期できます。

CDCを使った移行の流れ

CDCを活用したDB移行は、大きく3つのフェーズで進みます。

フェーズ1:初期ロード
移行元データベースの既存データを、移行先に一括で転送します。この間も移行元システムは稼働を続けており、新たな変更が発生し続けます。

フェーズ2:差分同期(CDC)
初期ロード中およびその後に発生した変更データを、CDCで継続的にキャプチャし、移行先に反映します。これにより、移行元と移行先のデータが同期された状態を維持できます。

フェーズ3:切り替え
差分同期が追いついた時点で、アプリケーションの接続先を移行先データベースに切り替えます。実際のダウンタイムは、この「最後の差分適用+切り替え作業」の時間のみとなります。

なぜダウンタイムが最小化できるのか

CDCを使わない場合、「初期ロード完了→その間に発生した差分を適用」という作業をシステム停止中に行う必要があります。データ量が多いほど、この作業時間は長くなります。

一方、CDCを使う場合は、初期ロードと並行して差分をキャプチャし続けるため、切り替え時点では「直近の数秒〜数分の差分」を適用するだけで済みます。数テラバイトのデータベースでも、ダウンタイムを数分〜数十分に抑えることが可能です。

3. CDCの仕組み|3つの方式を比較

CDCには、変更データを検知する方式によって大きく3つの種類があります。それぞれの特徴を理解し、自社の環境に最適な方式を選びましょう。

ログベースCDC

データベースが内部で生成するトランザクションログ(WAL、REDOログなど)を読み取り、変更を検知する方式です。

データベースの標準機能を利用するため、追加のテーブルやカラムを作成する必要がありません。また、ログの読み取りのみで変更を検知できるため、移行元データベースへの負荷が最も低いのが特徴です。DB移行やクラウド移行で最も推奨される方式です。

トリガーベースCDC

データベースのトリガー機能を使用し、INSERT、UPDATE、DELETEが発生するたびに変更内容を別テーブル(シャドウテーブル)に記録する方式です。

トランザクションログにアクセスできないデータベースでも利用可能ですが、トリガーの実行とシャドウテーブルへの書き込みが発生するため、移行元データベースへの負荷が高くなります。また、本番テーブルの構造変更時にトリガーの再設定が必要になる場合があります。

タイムスタンプベースCDC

各レコードに更新日時(タイムスタンプ)カラムを設け、前回取得時刻以降に更新されたレコードを抽出する方式です。

実装がシンプルで、特別なデータベース機能を必要としません。ただし、DELETE操作は検知できない(削除されたレコードにはタイムスタンプが残らない)という制約があります。また、定期的にテーブル全体をスキャンする必要があり、大量データの場合は負荷が高くなります。

3つの方式の比較

比較項目ログベースCDCトリガーベースCDCタイムスタンプベースCDC
変更検知の仕組みトランザクションログを読み取りDBトリガーで変更を検知更新日時カラムを参照
移行元DBへの負荷◎ 低い△ 高い○ 中程度
リアルタイム性◎ 高い(秒単位)○ 高い(秒単位)△ 低い(ポーリング間隔)
DELETE検知◎ 可能◎ 可能× 不可
スキーマ変更の影響◎ 小さい△ トリガー再設定が必要○ カラム追加のみ
DB移行への適性◎ 最適○ 利用可能△ 制約あり

比較表から分かるように、DB移行やクラウド移行には「ログベースCDC」が最適です。移行元データベースへの負荷を抑えながら、リアルタイムに近い同期を実現できます。

4. 代表的なCDCツールの比較

CDCを実現するツールは数多く存在します。ここでは、代表的なCDCツールを「オープンソース系」「エンタープライズ系」「クラウドネイティブ系」の3つのカテゴリに分けて紹介し、それぞれの特徴を比較します。

オープンソース系:Debezium

Debeziumは、Red Hat社が開発したオープンソースのCDCプラットフォームです。Apache Kafka上で動作し、PostgreSQL、MySQL、SQL Server、Oracle、MongoDBなど主要なデータベースに対応しています。

ログベースCDCを採用しており、トランザクションログから変更を検知するため、ソースDBへの負荷は低く抑えられます。オープンソースのため無料で利用できますが、Kafka環境の構築・運用が必要となり、導入・運用には一定の技術力が求められます。イベント駆動型のマイクロサービスアーキテクチャを採用している技術志向の組織に適しています。

エンタープライズ系:Oracle GoldenGate

Oracle GoldenGateは、Oracle社が提供するエンタープライズ向けデータレプリケーションツールです。商用CDCツールの先駆けとして、金融機関や通信事業者などミッションクリティカルな環境で広く採用されてきました。

サブ秒(ミリ秒単位)のレイテンシを実現でき、特にOracle Database環境では最高レベルの性能を発揮します。ただし、ライセンス費用が高額であること、導入・運用に専門的な知識(GGSCIコマンドなど)が必要なことから、大規模なOracle環境を持ち、専任のDBAチームを擁する企業向けのソリューションといえます。

エンタープライズ系:Qlik Replicate

Qlik Replicateは、幅広いデータソースに対応したエンタープライズ向けCDCツールです。Oracle、SQL Server、PostgreSQL、MySQLはもちろん、メインフレーム(IBM Db2 for z/OS等)やSAPなどのレガシーシステムにも対応している点が大きな特徴です。

GUIベースの直感的な操作で設定でき、「Click-2-Replicate」と呼ばれるほど導入が容易です。エージェントレス設計のためソースDBへの影響を最小化でき、異種データベース間の移行にも対応しています。Kafkaの専門知識がなくても導入・運用が可能なため、クラウド移行プロジェクトで多く採用されています。

クラウドネイティブ系:AWS DMS / Google Datastream

AWS Database Migration Service(DMS)は、AWSが提供するマネージドCDCサービスです。AWSへの移行に最適化されており、Amazon RDSやRedshiftへのデータ移行を簡単に実現できます。AWS DMS Serverlessでは、ワークロードに応じた自動スケーリングも可能です。

Google DatastreamはGCPへの移行に特化したサービスで、BigQueryへのリアルタイム連携が可能です。いずれもマネージドサービスのため運用負荷は低いですが、特定のクラウドへの移行に特化しているため、マルチクラウドやハイブリッド環境には向いていません。

主要CDCツール比較表

ツール名DebeziumGoldenGateQlik ReplicateAWS DMS
種別OSS商用商用マネージド
CDC方式ログベースログベースログベースログベース
対応DB範囲主要RDBMS主要RDBMSRDBMS+メインフレーム+SAP主要RDBMS
異種DB間移行△(要Kafka)○(AWS内)
導入の容易さ△(技術力必要)△(専門知識必要)◎(GUI操作)◎(マネージド)
コスト無料(運用コスト別)高額中〜高従量課金
適したユースケースKafka基盤を持つ技術志向の組織大規模Oracle環境異種DB移行・クラウド移行AWSへの移行

Qlik Replicateが適しているケース

CDCツールは移行環境や条件によって最適な選択肢が異なります。例えば、AWSへの移行に特化するならAWS DMS、大規模なOracle環境で最高レベルの性能を求めるならOracle GoldenGateが適しています。

以下のようなケースでは、Qlik Replicateの採用をおすすめします。

1. 異種データベース間の移行を行うケース
Oracle→PostgreSQL、SQL Server→Redshiftなど、異なるデータベース間の移行では、データ型の変換やスキーマの調整が必要です。Qlik Replicateは、これらの変換を自動で処理できるため、移行プロジェクトの工数を大幅に削減できます。

2. メインフレームやSAPなどレガシーシステムからの移行を行うケース
メインフレーム(IBM Db2 for z/OS等)やSAPなど、他のCDCツールでは対応が難しいレガシーシステムからの移行が必要な場合、Qlik Replicateの幅広い対応範囲が強みを発揮します。「脱ホスト」プロジェクトなどで多く採用されています。

3. Kafka環境を持たず、導入・運用の負荷を抑えたいケース
Debeziumのようなオープンソースツールは、Kafka環境の構築・運用が前提となります。Qlik Replicateはエージェントレス設計かつGUIベースの操作で設定できるため、Kafkaの専門知識がなくても導入・運用が可能です。

異種データベース間の移行については、「異種データベース移行の課題とは?Oracle→PostgreSQL、SQL Server→Redshift移行を成功させる方法」で詳しく解説しています。

5. Qlik ReplicateのCDC技術の活用事例

実際にQlik ReplicateのCDC技術を活用してクラウド移行を成功させた企業の事例をご紹介します。

千趣会:オンプレミスからAWSへの「脱ホスト」プロジェクト

通販大手の千趣会は、オンプレミス環境で運用していたIBM Db2 for z/OSを、AWS上のPostgreSQLに移行する「脱ホスト」プロジェクトを実施しました。ECサイトのビジネスを止めることなく、大量のデータを迅速かつセキュアに移行するため、Qlik ReplicateのCDC技術を採用。リアルタイムのデータ同期により、ダウンタイムを最小化しながら移行を完了しました。

千趣会事例を詳しく見る ▶

DIC:SAP S/4HANA移行時のデータ連携を迅速化

CDC技術は、クラウド移行だけでなく、データ分析基盤構築におけるデータ連携にも活用されています。印刷インキ・有機顔料などを手がけるDICは、データ分析基盤の構築においてQlik Replicateを採用。基幹システムからデータ分析基盤へのリアルタイムなデータ連携をCDCで実現しています。

DIC事例を詳しく見る ▶

まとめ

本記事では、CDC(Change Data Capture)の基本から、3つの方式の違い、代表的なCDCツールの比較、そしてDB移行・クラウド移行での活用方法までを解説しました。ポイントを整理します。

  • CDCは、データベースの変更をリアルタイムに検知・取得する技術
  • CDCを使うことで、移行時のダウンタイムを「最後の差分適用+切り替え作業」のみに短縮できる
  • CDCには3つの方式があり、DB移行には「ログベースCDC」が最適
  • CDCツールは用途に応じて選定:OSS志向ならDebezium、Oracle環境ならGoldenGate、異種DB移行・クラウド移行ならQlik Replicate

「ダウンタイムを最小化したい」「移行中も本番システムを止められない」といった課題をお持ちの方は、ぜひお気軽にご相談ください。

DB移行・クラウド移行のご相談はインサイトテクノロジーへ

▼ Qlik Replicateの資料をダウンロード

https://www.insight-tec.com/download/document_0006

▼ Qlik Replicateの詳細を見る

https://www.insight-tec.com/products/qlik-data-integration-platform

▼ 大規模・短時間のDB移行ノウハウをまとめた成功事例集をダウンロード

https://go.insight-tec.com/db-migration

関連製品

関連最新記事

TOP インサイトブログ DB移行 CDC(Change Data Capture)とは?DB移行・クラウド移行でダウンタイムを最小化する技術

Recruit 採用情報

Contact お問い合わせ

  購入済みの製品サポートはこちら

製品サービス

自社開発製品群

データ統合

ディザスタリカバリ

プロフェッショナルサービス