Spark Structured Streaming、超低遅延を実現するリアルタイムモードを導入
Apache Spark Structured Streaming は、これまで大規模かつミッションクリティカルなデータパイプラインの堅牢な基盤として機能し、高度なストリーミングETL(抽出、変換、ロード)操作から、ほぼリアルタイムの分析や機械学習アプリケーションまで、あらゆるものを可能にしてきました。現在、「リアルタイムモード」の導入により、Sparkの機能を全く新しい超低遅延ワークロードのクラスに拡張するための重要な進化が進行中です。この革新は、イベントが到着するとすぐに処理を行い、数十ミリ秒という低さの遅延を実現し、即時のデータ処理ニーズにとって大きな飛躍となります。
固定スケジュールで動作する ProcessingTime
トリガーや、利用可能なすべてのデータを処理してから停止する AvailableNow
トリガーといった従来のトリガーとは異なり、リアルタイムモードは連続的なデータ処理を提供します。これにより、結果は準備ができ次第すぐに発行され、真に瞬時のユースケースが可能になります。企業は今、リアルタイムの不正検知、動的なパーソナライゼーション、最小限の遅延での機械学習機能の提供など、即座の行動が求められるシナリオでSparkを活用できます。重要なことに、この強化された機能はシームレスに統合され、既存のコードベースの変更や、現在のStructured Streamingユーザーに対するプラットフォーム移行の労力は不要です。この新しいモードは、オープンソースのApache Sparkプロジェクトに貢献されており、現在Databricksでパブリックプレビューとして利用可能です。
リアルタイムモードの核となるのは、ステージを並行してスケジュールする長寿命のストリーミングジョブを実行することで、連続的かつ低遅延の処理を実現することです。データは、ストリーミングシャッフルとして知られる技術によって、メモリ内のタスク間を流れます。このアプローチは、調整のオーバーヘッドを大幅に削減し、従来のマイクロバッチモードに固有の固定スケジュール遅延を排除し、一貫してサブ秒のパフォーマンスを提供します。Databricksの内部テストでは、関係するデータ変換の複雑さにもよりますが、99パーセンタイル(p99)の遅延がわずか数ミリ秒から約300ミリ秒の範囲という印象的なパフォーマンスが実証されました。例えば、いくつかのベンチマークではp99遅延が1桁ミリ秒と低く、要求の厳しいリアルタイムアプリケーションに対するその能力が確認されています。
リアルタイムモードの影響は、特に重要なビジネスオペレーションに不可欠な、迅速な応答時間を必要とするストリーミングアプリケーションにとって計り知れません。早期導入企業はすでにこの技術を多様なワークロードに展開し、その変革の可能性を示しています。例えば、あるグローバル銀行は現在、Kafkaからのクレジットカード取引をリアルタイムで処理し、驚くべき200ミリ秒以内に疑わしい活動をフラグ付けしています。この機能は、既存のインフラストラクチャを完全に刷新することなく、金融リスクを劇的に軽減し、応答時間を加速します。
金融サービス以外でも、リアルタイムモードは小売業やメディアにおけるパーソナライズされた体験を革新しています。あるOTT(Over-The-Top)ストリーミングプロバイダーは、ユーザーが番組を見終えた直後にコンテンツの推奨を即座に更新できるようになりました。また、大手eコマースプラットフォームは、顧客が閲覧する際に商品オファーを再計算し、サブ秒のフィードバックループを通じて高いエンゲージメントを維持しています。同様に、主要な旅行サイトは、このモードを活用して、各ユーザーの最近の検索をデバイス間でリアルタイムに追跡・表示し、新しいクエリごとにセッションキャッシュを即座に更新することで、知覚できる遅延なくパーソナライズされた結果と自動入力を可能にしています。機械学習の分野では、フードデリバリーアプリケーションがリアルタイムモードを使用して、ドライバーの位置や準備時間などの特徴をミリ秒単位で更新しています。これらの更新は、機械学習モデルやユーザー向けアプリケーションに直接フィードされ、推定到着時間(ETA)の精度向上と顧客体験の向上につながります。
Network InternationalのリードデータエンジニアであるRaja Kanchumarthi氏は、具体的なメリットを強調し、「暗号化やその他の変換を行うミッションクリティカルな支払い認証パイプラインにおいて、P99のエンドツーエンド遅延はわずか15ミリ秒でした。この低遅延処理をデータフロー全体にわたって拡張し、厳格なSLAを一貫して満たすことに楽観的です」と述べました。これらの多様なアプリケーションは、リアルタイムモードの多用途性を強調し、IoTセンサーアラートやサプライチェーンの可視化から、ライブゲームテレメトリ、アプリ内パーソナライゼーションまで、あらゆるユースケースでデータを即座の意思決定に変えるその能力を示しています。