Fundamentals of Stream Processing