Streaming Systems: The What, Where, When, and How of Large-Scale Data Processing