昨今、ハイブリッド・クラウド環境への流れが加速しており、既存システムのデータをより扱いやすいクラウドの環境へレプリケーションするニーズが高まっています。
本記事では、データベースのデータをレプリケーションするIBM Data ReplicationのChange Data Captureを使って、IBM Db2のデータをイベント連携の基盤である、IBM Event Streamsに連携する手順を具体的に見ていきたいと思います。主に導入手順を記載します。(一部構成も含んでいます)
IBM Event Streamsの導入は、こちらの記事にあります。
IBM Data ReplicationのChange Data Capture (CDC)は、データベースの変更をリアルタイムで検出し、キャプチャするソリューションです。これにより、データ変更を効率的に他のシステムに配信し、常にデータの整合性を保つことができます。
IBM Data ReplicationのCDCは、主にソースデータベースのトランザクションログ(ジャーナル)を読み取ることで機能します。このため、データベースへの負荷が非常に低く、パフォーマンスに影響を与えることなく、リアルタイムまたはニアリアルタイムでデータを同期できます。
低インパクト: データベースへの直接的なクエリではなく、トランザクションログを読み取るため、ソースシステムへの負荷が最小限に抑えられます。
リアルタイム: 変更が発生した直後にキャプチャするため、データの鮮度を高く保てます。
効率性: 変更されたデータのみを転送するため、ネットワーク帯域やストレージの使用量を大幅に削減できます。
IBM Data ReplicationのCDCソリューションは、以下のコンポーネントで構成されています。
レプリケーションエンジン: ソースおよびターゲットデータベースにインストールされ、データのキャプチャと適用を実行します。
Management Console: グラフィカルユーザーインターフェース(GUI)を通じて、レプリケーションの設定、監視、管理を行います。
Access Server: Management Consoleとレプリケーションエンジンの間の通信を制御し、安全な接続を確立します。
通信層 (TCP/IP): ソースとターゲット間でデータを安全に転送するための専用ネットワーク接続を提供します。
イメージとしては、下記のような構成イメージです。
今回のレプリケーションのテスト用に構築する環境の全体像は、以下のようなイメージになります。
まず、Windows 2022の環境にIBM Data Replicationの環境を構築します。
データソース(Db2)とCDC Replication Engine for Windows、Access Server、Management Consoleは、Windows 2022の上に導入します。
ターゲットのIBM Event Streamsには、CDC Replication Engine for Kafkaが必要なのですが、Linux環境が必要なので、WindowsのWSL2の上に導入します。
ユーザー情報の整理
Windowsでは、基本的にはAdministratorを使用します。
Db2は、導入時にDb2の管理者として、db2adminを設定しているので、これを使います。
Access Serverへのアクセスには、Access Serverに設定されているadminというユーザーを使います。
CDC Replication Engine for Kafkaは、rootユーザーでは実行できないので、別途cdcadminというユーザーを作り、それを使います。
アクセスするポート番号の情報の整理
Access Serverは、10101番ポートで稼働します。
Replication Engine for WindowsのDb2のソースは、10901で構成します。
WSL2で稼働している、Replication Engine for Kafkaは、11701で稼働します。これはWSL2で稼働しているので、Windowsからは、netshコマンドを使って、ポートフォワードの設定をします。Windowsからは、21701のポートを使うように設定します。
今回使用する主なコンポーネントのバージョンは以下の通り
IBM Data Replication V11.4.0.5 - Change Data CaptureDb2 V11.5.4
Windows 2022
ターゲットのEvent Automationにデータを連携するReplication Engine for KafkaはLinuxで稼働するので、WSL2から導入を行っていきます。
Windowsのホストから、WSL2のData Replication Engine for Kafkaのインスタンスにアクセスできるように、port 21701をポートフォワーディングして、WSL2の11701にアクセスできるようにする
IBM Data Replicationの必要なコンポーネントの導入は以上で完了です。
#DataReplication #IBMEventStreams
Copy