2019年のある日、Netflixは何年も悩んでいた難問を解決しました。同社は、コンテンツや加入者に関する膨大なデータを持っていたため、MySQLElasticsearchなどの複数の異なるデータストアを継続的に同期する必要があり、これまで使われてきた既存のテクノロジーであるDual-Writeに伴う複数のデータストア間でのデータ不整合や分散トランザクションなどで深刻なストレスを伴う課題が発生していました。

そこでNetflixは、キャプチャしたログイベントを順番に処理し、特定のテーブルやテーブルの主キーのダンプを取る独自のCDCツールを作成しました。 

結果、問題を解決することができました。

Netflixの新しいツールは、ログベースのChange Data Captureを利用しています。これは、データドリブン型の企業や組織において、より正確なデータ判断を可能にする2つの主要なCDC手法のうちの1つです。Netflixは、ログベースのCDCを使用して、データベースのトランザクションを、おそらくデータウェアハウスなどの集中管理先に送り、分析アプリケーションにつなげています。このプロセスにより、異種のデータストアを同期させることなく、「Bridgerton」や「The Crown」の視聴者数を分析することができます。 

彼らの仕事は一気にシンプルになりました。 

CDCはNetflixにとって絶対的な変革をもたらすものであり、あなたの企業においてもCDCを利用することができます。しかし、問題は、企業としてどういう場合にCDCを使用するかを判断することです。今回のブログを通して、どのようなシナリオでCDCを使うべきなのか?そして、どのような方法で?そしてなぜ?といった疑問に回答します。

Table of Contents

関連ブログ:Change Data Captureとは?

CDCはワークロードの中断を最小限に抑える(Netflixでの使用例)

Netflixには、長年にわたり、解決できない悩みがありました。関連性のない複数のデータストアを継続的に同期させることは、コストと時間のかかる作業であり、データエンジニアを極限まで鍛える必要がありました。地球上で最も技術的に進んでいる企業の一つである同社は、これまで使われてきた既存のテクノロジーであるDual-Writeや分散トランザクションの問題にまだ対処していませんでした。 

そこにCDCが現れ、窮地を脱したのです。NetflixのログベースのCDCツールは、キャプチャしたすべてのログイベントを順番に処理し、すべてのテーブルに対してチャンクでダンプを取るようになりました。このツールは、ストリーム、データベース、APIなど、Netflixの複雑なデータの迷宮におけるあらゆる出力に対応しています。

Netflixと同じような問題を抱えている場合、CDCを使用することでワークロードの中断を最小限に抑え、二重書き込みやトランザクションの中断など、髪の毛を切りたくなるような厄介な問題を減らすことができます。 

関連ブログ: Change Data Captureの使い所

CDCを使用したバッチETLの改善

今、あなたの企業でバックグラウンドで稼働しているすべてのデータストアを思い浮かべてみてください。 カラム型データベース、オペレーショナルデータストア、SaaSアプリケーション、ERP、CRMなど、これらのリポジトリには何十万、何百万ものデータレコードが含まれています。問題は、これらのレコードが、バッチETLの2つの反復の間でほとんど変わらないことです。これは、データを抽出、変換、ロードするたびに、データストアを変更された、されていないに関係なく取得すると、非常にコストがかかります。 

そこで、CDCの出番です。

Netflixが採用したログベースのCDCと、トリガーベースのChange Data Captureと呼ばれる別の方法は、ソーステーブルやデータベースに加えられた変更をほぼリアルタイムで検出します。これらのプロセスは、データレコードがデータストアからウェアハウスなどの新しい場所に移動する際に、データレコードの変更されたレコードやエントリを特定します。これらのプロセスにより、異なるソースからのデータを中央の保存先に移し、さらにビジネスインテリジェンス(BI)ツールのような分析アプリケーションに移行することが非常に容易になります。 

CDCは、バッチCDLを純粋かつシンプルに合理化します。ソーステーブルやデータベースへの変更を追跡したい場合は、ログベースおよびトリガーベースのCDCが役立ちます。

関連ブログ: SQL ServerでのChange Data Captureについて

CDCは政府の罰金を防いでくれる

"データガバナンス "という言葉は、もはや無視できません。世界各国の政府は、不正にデータを収集、処理、共有する企業や組織を取り締まっており、金銭的な罰則も増え続けています。例えば、GDPRは、その枠組みに従わないすべての企業に100万ドルの罰金を科すことを規定しています。 HIPAAは、医療機関がデータに違反した場合、連邦政府が罰金を科すことができる制度です。また、カリフォルニア州では同じようにCCPAがあります。

CDC(ログベースとトリガーベースの両方)は、データガバナンスのための最も効果的なプロセスの1つです。つまり、パイプラインを流れる情報をコントロールし、連邦政府や州政府とトラブルになるような違反を防ぐことができるのです。

米国保健社会福祉省やカリフォルニア州司法省からブラウンレターを受け取りたくない場合は、CDCソリューションへの投資を検討してみてはいかがでしょうか。

さいごに

みなさんの企業には、Netflixほどのビッグデータはないかもしれませんが、CDCは今年一番の投資になるかもしれません。なぜなら、データベースで行われた変更を取得し、その変更をウェアハウスやデータレイクに確実に複製することで、データアーキテクチャを改善することができるからです。

もちろん、このプロセスは魔法のように勝手に行われるものではありません。ログベースとトリガーベースの両方のCDCを実行するIntegrate.ioのようなETLプラットフォームが必要です。

Integrate.ioは、ETLであり、CDCを行う上で必要となるツールです。ローコード/ノーコードのUIにより、CDCの仕組みを独自で開発したり、何千ドルもするプロのデータエンジニアは必要ありません。このソフトウェアを使用して、複雑なコードを使用せずに、データをある場所から別の場所へ(さらに別の場所へ!)移動させることができます。 

その他のIntegrate.ioの特徴は以下の通りです。 

  • 超シンプルなパイプライン内でのデータ変換
  • 100以上のあらかじめ用意されたデータコネクタと統合機能。コーディングは不要。 
  • 信じられないほど簡単なSalesforce同士の統合。 
  • ドラッグ&ドロップ式のインターフェース。 
  • 効率的なワークフローの作成が可能です。
  • 必要なときに必要なだけ利用できる価格モデル。データ量ではなく、使用したデータコネクタに対してのみ料金が発生します。
  • REST API
  • 満足いただける手厚い顧客サービス。  

他の機能もチェックしたい方はこちらもご覧ください。