我有一个关于数据收集系统的问题。我们在之前的课程里,说到了可以使用stream processing和mapreduce两种方法。如果对实时性要求很高,我们就使用stream processing, 如果对实时性要求不高我们就用mapreduce,这样可以在offline计算节约一些资源。
我的问题是mapreduce本身的作用是在分布式的环境里对raw data进行处理然后aggreated起来。那么stream procssing在data aggregation的时候就不需要这种分布式的处理方法吗?比如monitoring system 那道题,我们需要收集大量的server发来的data然后aggregate 到分钟级别,这时候是不是也需要使用mapreduce的方法来aggregate这些数据吗?
还有一个问题是,为什么mapreduce的方法能节约系统资源。因为我们也需要很多机器来充当mapper和reducer,为何相比stream processing的方案资源使用就减少了呢?
希望老师能帮忙解惑,谢谢!