Build Predictive Machine Learning with Flink | Workshop on Dec 18 | Register Now

ストリーミングデータパイプライン

ソリューションストリーミングパイプライン

ストリーミングデータパイプラインでは、データがリアルタイムで生成されるとすぐに、継続的なデータの取り込み、処理、ソースから宛先への移動を可能となります。ストリーミング ETL やリアルタイムデータフローとしても知られるこのテクノロジーは、データベースをライブフィードに変換してストリーミング取り込みと処理を行い、データ配信、リアルタイムのインサイトや分析を加速するため、無数の業界で使用されています。

Apache Kafka の創設者によって作成された Confluent のデータストリーミングプラットフォームは、120点以上の事前構築された統合、セキュリティ、ガバナンス、無数のユースケースを使用してリアルタイムデータパイプラインを自動化します。

What Are Streaming Data Pipelines?

Streaming data pipelines move data from multiple sources to multiple target destinations in real time, capturing events as they are created and making them available for transformation, enrichment, and analysis. For many applications, real-time and continuously fresh data is vital. Examples include:

  • Mobile banking apps
  • GPS apps that recommend driving routes based on live traffic information
  • Smartwatches that track steps and heart rate
  • Personalized real-time recommendations in shopping or entertainment apps
  • Sensors in a factory where temperatures or other conditions need to be monitored to prevent safety incidents
SDP - graphic 1

リアルタイムかつ大規模。

ストリーミングデータパイプラインは、異種データソースからのさまざまなデータ形式に対応し、1秒あたり数百万のイベント規模で動作します。複数の環境間でデータをストリーミングすることでデータのサイロ化を解消し、組織のリアルタイムのデータフローを解き放つもので、次の2種類のシステムの橋渡しに使われることが多くなります。
-運用システム (異なるフォーマットのデータをオンプレミスやクラウド上の運用データベースに保存)

  • 分析システム (データはデータウェアハウスやデータレイクに取り込まれ、リアルタイム分析、レポート、BI ダッシュボード、その他のデータサイエンス施策に使用)

ストリーミングデータパイプラインを使用する理由

リアルタイムのデータフロー

ストリーミングデータパイプラインは、データがリアルタイムで発生する時点でソースシステムからターゲットシステムにデータを移動・変換することで、最新かつ最も正確なデータをすぐに使用できる形式で提供し、開発のアジリティを高め、組織がより多くの情報に基づき、より積極的な意思決定を行うのに役立つインサイトを見出します。リアルタイムのイベントにインテリジェントに対応する機能により、リスクが軽減され、収益増やコスト削減につながり、よりパーソナライズされた顧客体験を提供できるようになります。

リアルタイムのストリーム処理

ストリーム処理には、特にデータ遅延に関し、バッチ処理に比べて大きな利点があります。バッチベースの ETL パイプラインは、定期的 (通常夜間) のバッチでデータを取り込み、変換します。これに対し、ストリーム処理では、データが生成され、ターゲットシステムに送信される過程でリアルタイムデータを継続的に変換できます。これにより遅延が最小化され、ストリーミングデータをリアルタイムの不正行為検出などのユースケースに活用できるようになります。さまざまな種類のデータ処理の詳細については、バッチ処理とストリーム処理の比較を参照してください。

アジャイルなパイプライン開発

個別のデータパイプラインの手作業によるコーディングを排除することで、組織は障害対応に費やす時間を低減させ、データストリームの革新的な使用と変化するビジネスニーズにデータを適応させることに多くの時間を費やすことができます。技術的負債と維持管理の必要性が減り、チームは企業全体のデータ利用をより適切に管理できるようになります。

スケーラブルでフォールトトレラントなクラウドアーキテクチャ

クラウドの自動スケーリングと弾力性により、ストリーミングデータの利用者は、インフラストラクチャの管理でなくデータの使用に集中できるようになります。イベントは継続的に流れ、組み込みのフォールト トレランスがデータの損失、機会の逸失、応答時間の遅延から組織を保護します。

ストリーミングデータパイプラインの仕組み

ストリーミングデータパイプラインは、生成された未加工データの取り込み、クリーニング、組織のニーズに合わせた結果のカスタマイズなどの一連のステップを継続的に実行します。

SDP-graphic2

取り込み

リアルタイムデータは、オンプレミスやクラウドベースのデータソース (アプリケーション、データベース、IoT センサーなど) からさまざまな形式で取り込まれます。

ストリーム処理

データの操作、クレンジング、変換、準備により、使用できないデータがパイプラインから削除され、下流の監視や分析などに使用できるようにデータが準備されます。

スキーマの標準化

ストリーミングデータを準備して分析するには、データがどのように構成されているかを決定し、理解するためのガイドとなる標準スキーマに一貫して構造化する必要があります。標準スキーマに準拠することで、運用の複雑さを軽減しながら、データの互換性をスケーラブルに実現できます。

ストリーム監視

継続的なイベントを生成するシステムをより深く理解するため、ほとんどの組織はイベントストリームに可観測性と監視を導入しています。ストリームに何が起こっているか (時間の経過とともに生成・消費されるメッセージ数など) を確認できる機能により、ストリームが適切に動作し、データの損失なしにリアルタイムでデータを配信していることを確認しやすくなります。

メッセージ Broker

メッセージ Broker は、ストリーミングデータパイプライン全体でデータの提供と配信を処理し、1回限りの処理を保証し、データの整合性とリネージを維持します。

プロビジョニング

データは、過去データへのタイムリーな同時アクセスを要するさまざまな宛先や下流の消費者がすぐに利用できるようになります。この要件を満たすため、多くのアーキテクチャには、データレイク、データウェアハウス、メッセージ Broker 自体といったデータストレージの組み合わせが含まれます。

最新のストリーミングデータパイプラインを構築するための5つの原則

1. ストリーミング

データストリームとストリーミングプラットフォームを使用して、定期的に低忠実度のスナップショットを外部リポジトリにプッシュする代わりに、組織内で再利用可能なデータのリアルタイムかつ高忠実度のイベントレベルのリポジトリを維持できます。スキーマを Producer と Consumer 間のデータコントラクトとして使用し、データの互換性を確保します。

2. 分散型

ドメイン指向の分散型データオーナーシップをサポートし、データに最も近いチームが再利用可能なデータストリームを作成して共有できるようにします。チームメンバーがセルフサービスでデータを扱い、ビジネス全体のデータストリームを簡単に公開・サブスクライブできるよう支援します。

3. 宣言型

SQL などの宣言型言語を活用して、データの論理フロー (データの送信元と送信先) を指定し、低レベルの運用の詳細を提供せずともインフラストラクチャがデータスケールの変更を自動処理できるようにします。

4. 開発者指向

アジャイル開発と CI/CD のプラクティスをパイプラインに取り入れることで、チームはモジュール式で再利用可能なデータフローを構築し、さまざまな環境で開発、テスト、デプロイし、個別にバージョン管理できるようになります。さまざまなスキルを持つチームメンバーが、視覚的な IDE (統合開発環境) とコードエディターの両方に対応するツールを使用して、パイプラインで共同作業できるようになります。これは、非開発者向けに構築される傾向がある従来の ETL ツールとは異なる点です。

5. 確固たるガバナンス

継続的なデータの可観測性、セキュリティ、ポリシー管理、コンプライアンスのための一元化された標準間のバランスを維持しながら、直感的な検索、発見、リネージによるデータの可視性、透明性、互換性を提供することで、開発者やエンジニアはより迅速にイノベーションを起こせるようになります。

ユースケースの例

クラウドへの移行

アプリケーション開発の運用を移行または最新化し、クラウドネイティブツールを活用するには、ストリーミングデータパイプラインを使い、オンプレミスデータベースとマルチクラウドデータベースをリアルタイムで接続・同期します。イベントを他のストリームで処理・充実化して新しいアプリケーションを強化し、レガシーデータベースのメンテナンスと TCO を削減できます。リアルタイムの不正行為検出にストリーム処理を使用して Oracle CDC コネクターがレガシーデータベースから MongoDB などのクラウドネイティブデータベースに変更をストリーミングする方法をデモでご覧ください。

リアルタイム分析

ストリーミングデータパイプラインは、企業がオンプレミスシステムからクラウドデータウェアハウスにデータをストリーミングし、リアルタイム分析、ML モデリング、レポート作成、BI ダッシュボードの作成を行い、貴重なインサイトを得る上で役立ちます。ワークロードをクラウドに移行すると、コンピューティングとストレージの柔軟性、アジリティとコスト効率が高まります。こちらのデモでは、PostgreSQL CDC を顧客データのストリーミング、ストリーム処理をデータのリアルタイム変換、Snowflake コネクターをリアルタイムのデータウェアハウジング、事後分析とレポート作成にそれぞれ使用しています。

SIEM の最適化

ストリーミングデータパイプラインは、状況をより適切に認識するため、必要なコンテキストに応じた豊富なデータを提供し、脅威検出の自動化と調整を支援し、誤検知を減らし、脅威やサイバー攻撃に対する積極的な対応を可能にします。こちらのページで、データ (ログ、ネットワークデータ、テレメトリとセンサーデータ、リアルタイムイベントなど) を統合、分類、充実化することで、適切なタイミングでリアルタイム監視とセキュリティフォレンジックに必要なデータをチームに提供する方法の詳細をご覧ください。

メインフレームデータへのアクセス

ストリーミングデータパイプラインは、重要な記録システムのデータへのアクセスを可能にし、他のデータと組み合わせたメインフレームデータへのリアルタイムアクセスを提供することで、サイロ化を減らし、新しいアプリケーションを強化し、異種システム間でのデータ移植性を高め、MIPS とネットワーク費用を削減します。詳しくは こちらをご覧ください

Confluent を選ぶ理由

ソースシステムからターゲットシステムにデータを直接パイプすると、ポイント間の接続が作成されますが、これには拡張性がなく、高い費用効率でセキュリティを確保し維持することが困難です。Confluent の完全マネージド型 Apache Kafka は、データ統合と拡張可能なストリーミングデータパイプラインの構築のバックボーンとして機能するデータストリーミングプラットフォームです。Confluent を使用すると、データの Producer と Consumer を分離し、異種システムをつなぎ合わせるプロセスを抽象化できます。

Confluent は、120点以上のプレビルド型ソース Connector とシンク Connector を提供し、ハイブリッド環境やマルチクラウド環境のさまざまなシステム間でデータを統合してストリーミングするのに役立ちます。必要なタイミングと場所でチームにセルフサービスデータを提供する完全マネージド型 Connector の展開で、エンジニアリング時間を6か月から数年単位で節約し、運用面での負担を削減します。さらに、ksqlDB を使用してデータストリームをリアルタイムで処理・変換し、データ品質と Stream Governanceへの準拠を確保できます。Confluent の Stream Designer は、コーディング不要の視覚的な UI で、ストリーミングデータパイプラインの構築、テスト、デプロイを数分で行えます。

リソース