Changed Data Capture(変更データキャプチャ)によりデータソースにおけるデータの増分変更を検出および管理し、データインジェスチョンとストリーミングアナリティクスをリアルタイムに実行する方法をご覧ください。
変更データキャプチャとは
Changed Data Capture(CDC:変更データキャプチャ)とは、データソースにおけるデータの増分変更を検出および管理するための一連のソフトウェア設計パターンです。CDCテクノロジーにより、企業全体にわたって、データの変更を下流のシステムに適用できます。データに変更があると、CDCがその変更を瞬時にキャプチャします。これにより、全データのバッチ処理と比べて、必要となるリソースが数分の一で済みます。データの変更は、データ利用者にもリアルタイムで反映されます。データソースやデータソース/利用者間の転送システムへの影響も抑制できます。CDCテクノロジーを使用すると、データの変更箇所のみが利用者に転送されるため、時間、コスト、リソースの節約につながります。CDCにより、データの変更を分析システムに反映させて、実践的なアナリティクスをリアルタイムに実行できます。
現代の企業にとって変更データキャプチャが重要である理由
現代の企業にとって、データは事業運営の要となるものです。データは、デジタルトランスフォーメーション(DX)や業務上の意思決定を促進する鍵となっています。モダンなデータアーキテクチャも増加しています。多くの企業が、データをオンプレミスからクラウド(クラウドデータウェアハウス、クラウドデータレイクなど)に移行しています。そして、バッチデータマネジメントからストリーミングデータマネジメントに移行しています。それでもデータの量や種類、速度の増加へ対応することに依然として苦戦しているのが現状です。新しいクラウドアーキテクチャ(クラウドデータウェアハウス、クラウドデータレイク、データストリーミングなど)により、これらの課題に対応できます。
一方、データの「消費期限」はますます短くなっています。消費期限が短いということは、データの価値がすぐに失われてしまうということです。そのため、デジタルの世界で成功を収めるためには、リアルタイムのデータインサイトが不可欠です。即座に行動できないと、ビジネスチャンスを逃すことになります。この問題は、「Perishable Insights(消費期限が短いインサイト)」と呼ばれています。消費期限が短いインサイトは、従来のアナリティクスよりもはるかに大きな価値を持つデータインサイトですが、その価値は急速に低下または消失します。ログファイル、マシンログ、IoT、デバイス、ブログ、ソーシャルメディアなどには、消費期限が短いデータが含まれています。では、消費期限が短いインサイトのせいでビジネスチャンスを逃さないようにするには、どうすればよいのでしょう。トランザクションデータソースにおけるデータの変更や更新をリアルタイムでキャプチャするための方法が必要です。それを可能にするのが、Changed Data Capture(CDC:変更データキャプチャ)です。
変更データキャプチャのメリット
CDCは、データベースのトランザクションログから変更をキャプチャします。そして、キャプチャした変更をターゲットシステム(クラウドデータレイク、クラウドデータウェアハウス、メッセージハブなど)にパブリッシュします。CDCには、次のようなメリットがあります。
効率性の向上:
CDCでは、変更されたデータのみが同期されるため、データベース全体を複製するよりもはるかに効率的です。継続的なデータ更新により、時間を節約し、データとアナリティクスの精度を高めることができます。この継続的なデータ更新は、マスターデータマネジメント(MDM)システムから運用ワークロードプロセスにデータを移行する際に重要となります。
意思決定の高速化:
CDCにより、意思決定を高速化できます。重要なのは、データの変更をリアルタイムで検出、分析、処理できることです。これにより、高度にパーソナライズされたリアルタイムのデジタル体験を顧客に提供できます。例えばレストランであれば、リアルタイムアナリティクスにより、過去の顧客データに基づいてパーソナライズしたメニューを作成できます。モバイルデバイスやウェアラブルデバイスから収集したデータを活用して、より魅力的なオファーを顧客に提供できます。オンライン小売業者は、購入者のパターンを検出して、オファーのタイミングや価格を最適化できます。
本番環境への影響の低減:
データをソースから運用サーバーに移動するのには時間がかかります。CDCは、増分の更新のみをキャプチャするため、ソースからターゲットへの移動を最小限に抑えることができます。CDCは、増分変更の読み取りと利用をリアルタイムで実行できます。そして、運用データベースを中断することなく、アナリティクスターゲットに対して継続的にデータを供給できます。これにより、アナリティクスターゲットに大量のデータを転送できるようになります。
開発期間の短縮とTCOの削減
CDCを使用することで、オフラインのデータパイプラインをより迅速に構築できます。スクリプティングに煩わされることもありません。データエンジニアとデータ設計者は、よりインパクトのある重要なタスクに集中できます。また、高度なスキルを備えていなくてもアプリケーションを利用できます。結果として、総所有コスト(TCO)を削減できます。
変更データキャプチャのタイプ
変更データキャプチャには、いくつかのタイプがあります。使用事例に応じて、タイプごとにそれぞれのメリットがあります。一般的なタイプとその仕組み、長所、短所を以下に示します。
| CDC方式 | 仕組み | 長所 | 短所 |
|---|---|---|---|
| タイムスタンプ方式のCDC | テーブルのタイムスタンプ列を利用し、前回抽出以降に変更された行のみを取得します。 |
|
|
| トリガー方式CDC | トリガーを定義し、独自の変更ログをシャドウテーブルに作成します。 | シャドウテーブルは行全体を保存し、列の各変更を追跡できる。また、プライマリキーや操作タイプ(挿入、更新、削除)も保存可能。 |
|
| ログベースCDC | トランザクションデータベースは、クラッシュ時に復旧できるよう、すべての変更をトランザクションログに保存します。ログベースCDCでは、挿入、更新、削除といった新しいデータベーストランザクションがソースデータベースのトランザクションログから読み取られます。アプリケーションレベルの変更や運用テーブルのスキャンが不要なため、追加の負荷をかけずに変更を取得でき、ソースシステムのパフォーマンス低下を回避できます。 |
|
|
変更データキャプチャの使用事例
CDCは、データベースのトランザクションログから変更をキャプチャします。そして、キャプチャした変更をターゲットシステム(クラウドデータレイク、クラウドデータウェアハウス、メッセージハブなど)に公開します。CDCの従来型の使用事例として、データベースの同期化が挙げられます。新しい使用事例としては、リアルタイムのストリーミングアナリティクスとクラウドデータレイクのインジェスチョンが挙げられます。
従来型のデータベースの同期化/複製
通常、データ変更管理では、バッチベースでデータを複製します。しかし、現在の企業ではリアルタイムデータ/ストリーミングデータのキャプチャや分析のニーズが高まっているため、データベース全体をオフラインでコピーし、データの変更を管理するわけにはいきません。CDCを使用すれば、より小規模なデータセットを対象に、継続的に複製できます。また、増分変更のみに対処できます。
例えば、あるオンラインシステムにより、アプリケーションのデータベースで継続的に更新が発生しているとします。CDCを使用すれば、レコードやスキーマドリフトの増分変更をキャプチャできます。顧客が自身の情報を更新すると、CDCがデータベース内のレコードをリアルタイムで更新します。データ利用者向けアプリケーションでは、こうした変更を迅速に取り込み、対応することができます。100万行を処理するよりも、100件のレコードを処理する方が短時間で済むためです。また、変更の処理方法(複製するか無視するか)も定義できます。
図1:変更データキャプチャが、従来型のデータベース同期化のコンポーネントとして位置付けられていることを示す図
モダンなリアルタイムストリーミングアナリティクスとクラウドデータレイクのインジェスチョン
クラウドデータレイクの管理において最も困難なのが、データを最新の状態に保つことです。モダンなデータアーキテクチャを活用すれば、自動データパイプラインを通じて、CDCデータをデータレイクに継続的にインジェストできます。これにより、テラバイト(TB)規模のデータを不必要に転送する必要がなくなります。データの変更箇所にだけ注力できるため、コンピューティングコストとネットワークコストを削減できます。Apache Sparkなどのリアルタイム処理テクノロジーをサポートするCDCは、高度なリアルタイムアナリティクスのための基盤テクノロジーとなっています。また、人工知能(AI)や機械学習(ML)などの用途にも対応できます。
リアルタイムの不正検出
データドリブンな企業が顧客ベースを維持および拡大するためには、顧客体験(CX)が極めて重要となります。金融サービス業界を例に見てみましょう。ある大手銀行が不正行為の急増に気づいたとします。この場合、リアルタイムアナリティクスを実行して、不正行為の可能性について顧客に事前に警告しなければなりません。そのためには、データベース内のトランザクションデータをリアルタイムでインジェストする必要があります。機械学習による不正検出機能を備えたCDCを使用すれば、不正行為の疑いがある取引をリアルタイムで特定してキャプチャできます。そして、データを変換、エンリッチ化して、不正モニタリングツールを通じて、警告メールを顧客に送信できます。警告メールを受信した顧客は、速やかに改善措置を講じることができます。
図2:変更データキャプチャがリアルタイム不正検出の重要なコンポーネントとして位置付けられていることを示すリファレンスアーキテクチャ図
リアルタイムのマーケティングキャンペーン
リアルタイムアナリティクスにより、モダンなマーケティングを推進できます。小売業界を例に見てみましょう。サイト訪問者が、バイクの安全用品を閲覧しています。小売企業は、顧客の閲覧パターンをリアルタイムで把握します。そこで、最も収益性の高いヘルメットを最初に表示します。顧客が低価格志向の場合は、より低価格のヘルメットを表示できます。
また、携帯電話での顧客の行動もリアルタイムで追跡できます。CDCは、これらのトランザクションをキャプチャしてApache Kafkaに供給します。また、データのストリームを読み取り、そのデータを統合して、データレイクに供給できます。オフラインのバッチ処理により、リアルタイムデータと履歴データを相互に関連付けることができます。そして、ビジネスルールと照らし合わせて、実践的な意思決定を行うことができます。顧客がショッピングをしている間に、次にとるべき最善の行動を提案できます。
図3:変更データキャプチャがリアルタイムのトランザクションデータをApache Kafkaに供給していることを示す図
データウェアハウジングのためのETL
抽出、変換、ロード(ETL)とは、3段階によるリアルタイムのデータ統合プロセスです。データソースにある未加工データを結合および合成し、そのデータをデータウェアハウス、データレイク、またはリレーショナルデータベースに移動します。CDCは、変更のあったデータのみを処理するため、ETLプロセスに必要なリソースを最小限に抑制できます。CDCは、ソースからデータを抽出し、そのデータを適切な形式に変換します。そして、そのデータをターゲットにロードします。CDCにより、小規模バッチをより頻繁に処理できます。変更のあったデータのみを処理するため、ロード時間を大幅に短縮できます。また、使用するコンピューティングリソースとダウンタイムも少なくなります。バッチ処理の時間を短縮し、関連する定期コストを削減できます。さらに、ETLジョブが長時間に及ぶリスクも緩和されます。
リレーショナルトランザクションデータベース
多くの企業は、ソースとターゲットの2つのデータベースを保有しています。まず、ソースデータベースのデータポイントを更新し、その変更をターゲットデータベースに反映させなければなりません。CDCを使用すれば、ターゲットシステムをソースシステムと同期できます。まず、トランザクションデータ操作言語(DML)を収集します。次に、データ定義言語(DDL)のコマンドを収集します。コマンドには、挿入、更新、削除、作成、修正などがあります。これらの操作をリアルタイムで複製することで、ターゲットシステムとソースシステムを同期化します。
変更データキャプチャの顧客事例
KLA社は、プロセスコントロール/イールドマネジメントシステムの大手メーカーです。半導体メーカーを顧客として抱えています。同社は、顧客の増加に対応するため、より優れたアナリティクスを必要としていました。また、SnowflakeでCDCを実行する必要もありました。そこで、インフォマティカとSnowflakeを活用して、クラウドファーストのデータ戦略を推進することにしました。Cloud Data Ingestion and Replicationで継続的にデータの複製を行い、Snowflakeクラウドデータレイクに変更データを移動しました。同社は、1,000件のOracleデータベーステーブルを1回の週末だけで移行することができました。その結果、12年分のエンタープライズ リソース プランニング(ERP)システムの履歴データを分析に利用できるようになりました。また、Oracleデータの増分変更をキャプチャして、Snowflakeに直接統合しました。
世界有数の金融サービス機関の顧客事例もご紹介します。同社とその顧客は、銀行業界における不正取引の増加に悩まされていました。不正取引に関する警告を顧客にリアルタイムで送信する必要がありました。そこで、CDCの「Sense(感知)、Reason(推論)、Act(行動)」フレームワークを導入し、データベースにある取引情報をインジェストしました。不正検出MLモデルが、潜在的な不正取引を検出します。これにより、顧客にリアルタイムで警告できます。すぐに使い始められるリアルタイムのストリーミングアナリティクスデータにより、エンドツーエンドのデータインジェスチョンとデータストリーミングが実現したのです。
まとめ
変更データキャプチャのようなテクノロジーを活用することで、企業は競争優位性を確立することが可能になります。CDCにより、意思決定の質を高め、売上を拡大し、運用コストを改善できます。重要なのは、貴社に最適なCDCソリューションを選択することです。Informatica Cloud Data Ingestion and Replication(CMI)は、インフォマティカのIntelligent Data Management Cloud(IDMC)プラットフォームのデータインジェスチョン/複製機能です。CMIには次のような特長があります。
- インテリジェンス
- エンドツーエンドのAI搭載データマネジメントソリューションに統合されています。スキーマドリフトを自動処理できるソリューションを使用して、変更データをリアルタイムに追跡、キャプチャ、更新することで、データベースを迅速に複製、同期することができます。
- ETLとELT
- クラス最高のETL/ELTエンジンにより、最も効率的な方法を通じて、データを処理し、変更データを管理できます。
- 柔軟性
- ソーステーブル内のデータ変更をキャプチャして、その変更をターゲットテーブルやターゲットファイルに複製できます。
- RDBMSのログファイルまたはLinux、UNIX、Windows用データベースロガーから変更データを直接読み取ることができます。
- サポートしているソースとターゲット:
- Oracle
- SQLサーバー
- PostGresSQL
- Salesforce
- Kafka
- Snowflake
- Azure Synapse
- Amazon Redshift
- Databricks Delta
- Google BigQuery
- IBM Db2
- リアルタイム機能
- ストリーミングパイプラインにより、リアルタイムアナリティクス(リアルタイムダッシュボード、リアルタイムレポートなど)用にデータを供給できます。
今後のステップ
CDCのようなテクノロジーによって、競争優位性を確立することができます。CDCにより、意思決定の質を高め、売上を拡大し、運用コストを改善できます。CDCを使用すれば、さまざまなソースに分散している大量の企業データをクラウドやオンプレミスのリポジトリへ迅速に移動してインジェストできます。
インフォマティカのCDCストリーミングデータソリューションの詳細は、Cloud Data Ingestion and Replicationページで以下のデータシートとソリューション概要をご覧ください。