
Uberが実現した「リアルタイム」の衝撃:IngestionNextでデータ処理コストを25%削減した舞台裏
Uberが新たに導入した「IngestionNext」は、従来のバッチ処理ベースのデータレイクインジェクションを、ストリーミングファーストの設計へと劇的に転換させたプラットフォームです。この刷新により、データインジェクションのレイテンシは「数時間」から「数分」へと短縮され、同時にコンピューティングコストの25%削減という高い効率化を達成しました。本記事では、大規模データパイプラインをリアルタイム化するための技術的アプローチと、その背後にある課題解決策を解説します。
Uberの新プラットフォーム「IngestionNext」の概要
バッチからストリーミングへの転換
これまでUberのデータパイプラインは、Apache Sparkを用いたスケジュール実行のバッチ処理に依存していました。しかし、大量のデータ処理には適している一方で、分析や機械学習へのデータ提供までに長い時間を要するという課題がありました。IngestionNextは、Apache KafkaとFlinkを活用し、イベントストリームを継続的に処理する設計へ移行しました。
データ鮮度と信頼性の向上
この新しいシステムは、Apache Hudiを使用してデータレイクへの書き込みを行います。これにより、トランザクションのコミット、ロールバック、タイムトラベルといった機能が提供され、データの完全性と信頼性が強化されました。さらに、データがレイクに到達するまでの鮮度をエンドツーエンドで測定することで、品質を厳密に管理しています。
システム運用の自動化と耐障害性
数千ものデータセットを扱うために、ジョブのライフサイクル管理や設定、ヘルスモニタリングを自動化する制御プレーンが導入されました。また、地域をまたいだフェイルオーバーおよびフォールバック戦略により、障害発生時にもデータロスを防ぎ、継続的な運用を維持できる体制が整えられています。
技術的課題へのアプローチ
ストリーミングへの移行に伴い発生した「小さなファイルが大量に生成される」問題に対しては、Parquetファイルのマージ戦略や最適化されたコンパクション(圧縮)機構を導入してクエリパフォーマンスを維持しています。また、スキーマ進化への対応や、分散パイプラインにおけるチェックポイント管理など、複雑なストリーミング特有の課題を解決することで、スケーラブルな基盤を実現しました。
データ駆動型組織における「鮮度」の重要性と今後の展望
「データ鮮度」が競争優位性に直結する時代
今回のUberの取り組みは、現代のAI/ML活用において「データの鮮度」がいかに重要な品質指標であるかを如実に示しています。これまで「数時間前」のデータでモデルを訓練したり分析したりすることが許容されていた領域でも、リアルタイム性が求められるようになっています。IngestionNextによるレイテンシ削減は、ビジネス上の意思決定や、パーソナライゼーションのようなユーザー体験において、他社に対する圧倒的な競争優位性を生み出すでしょう。
技術的負債の解消と全社的なストリーミング化の連鎖
本件の本質的な成功は、単にインジェクションレイヤーを速くしたことだけでなく、その「リアルタイム性」をデータパイプラインの川下までいかに波及させるかという次の課題を明確にした点にあります。今回の基盤刷新により、今後、データ変換や分析パイプライン全体にストリーミング技術が広がっていくことが予測されます。大規模な分散システムを運用する組織にとって、バッチ処理からストリーミングへの移行は、開発効率とインフラコストの最適化を同時に叶えるための避けては通れない道と言えるでしょう。