Key points are not available for this paper at this time.
分散ストリーム処理システムは、状態を持つ処理をサポートし、障害から迅速に回復してその処理を再開し、全データストリームを迅速に再処理する必要があります。我々はApache Samzaを紹介します。これは、状態を持ち、耐障害性のあるストリーム処理のための分散システムです。Samzaは、低オーバーヘッドなバックグラウンドチェンジログメカニズムと共に、パーティション化されたローカル状態を利用し、アプリケーションごとに数百TBの巨大な状態サイズにスケールすることができます。障害からの回復は、ホストアフィニティに基づいて再スケジュールすることで加速されます。無限のイベントストリームを処理することに加え、Samzaはストリーミングソース(例:Kafka)、データベーススナップショット(例:Databus)、またはファイルシステム(例:HDFS)からの有限データセットをストリームとして処理することをサポートし、アプリケーションコードを変更する必要はありません(バッチとストリームパス処理のために別々のコードベースの維持を必要とする人気のあるLambdaベースのアーキテクチャとは異なります)。Samzaは現在、LinkedInで数百のプロダクションアプリケーションによって使用されており、10,000を超えるコンテナを持っています。Samzaは、多くの一流企業(例:LinkedIn、Uber、Netflix、TripAdvisorなど)に採用されているオープンソースのApacheプロジェクトです。我々の実験では、Samzaが次のことを実現することを示しています:a) 状態を効率的に処理し、リモートストレージを使用した場合に比べてレイテンシとスループットを100倍以上改善する; b) 状態サイズに依存しない回復時間を提供する; c) コンテナ数に応じてパフォーマンスを線形にスケールする; d) リアルタイムトラフィックに最小限の干渉で迅速にデータストリームを再処理することをサポートする。
Noghabi et al. (火曜日) はこの問題について研究しました。