低遅延パイプライン
低遅延パイプラインとは、データが生成(取り込まれ)られてから、消費またはアクションのために利用可能になるまでの時間遅延を最小限に抑えるように設計されたデータ処理アーキテクチャです。本質的に、これはバッチ処理の効率性よりも速度を優先し、ほぼリアルタイムの応答性を保証します。
現代のデータ集約型アプリケーションでは、遅延は直接的な収益の損失、ユーザーエクスペリエンスの低下、または重大な運用障害につながる可能性があります。例えば、不正検出において、わずか数秒の遅延でも不正な取引が完了してしまう可能性があります。低遅延は、即時のフィードバックループを必要とするシステムにとって極めて重要です。
これらのパイプラインは、従来のバッチ処理ではなく、ストリーム処理技術に依存することが一般的です。データはソース(IoTセンサーやユーザークリックなど)から継続的に取り込まれ、到着するにつれてインクリメンタルに処理されます。主要なコンポーネントには、メッセージブローカー(Kafkaなど)やストリーム処理エンジン(FlinkやSpark Streamingなど)が含まれることが多く、これらは最小限のオーバーヘッドでイベントのシーケンスと変換を処理します。
低遅延システムの導入は複雑さを伴います。課題には、分散ストリーム全体の状態管理、厳密な一回限りの処理セマンティクスの保証、およびデータ取り込みレートが処理能力を超えた場合のバックプレッシャーの処理などが含まれます。
この概念は、データ量に焦点を当てる高スループットシステムや、データソースへの近接性に焦点を当てるエッジコンピューティングと密接に関連しています。