补一下周四下午的大数据,讲的是mapReduce,但是这东西之前了解过就没兴趣听了
人月神话崩溃
当存在海量任务的时候,考虑增加计算机来解决问题
涉及J=项目本身 M=项目分配的问题 R=项目结束后统筹的问题
M和R随人数增加而增加
当ΔM+ΔR>ΔJ时,人月神话崩溃
解决办法一:提高单机处理效率,摩尔定律
集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
本质是经济学因素:高科技攻速如果不研发更小的制程【生产CPU过程中,集成电路的精细度】,那么就无法获得更高的利润,而如果全部研发制程,风险又过于庞大而且竭泽而渔。所以会保持,盈利——一部分提升制程——盈利的发展模式 经济因素
摩尔定律正在走向终结
解决方法二:并行编程,利用多核CPU进行处理,打破常规的顺序思维。
适合并行处理的问题:
大量结构一致的数据,且数据可以分解成大小相同的部分
不适合:计算的下一步严重依赖上一部。斐波那契数列
三大难度计算:
批量计算batch computing 实时要求低
流计算 stream computing 金融分析 股票市场 实时要求高
图计算 graph
(1) 批量计算慢慢积累数据,流式计算连续地进行小批量的进行传输,数据持续流动,计算完之后就丢弃
(2) 批量计算是维护一张表,对表进行实施各种计算逻辑。流式计算必须先定义好计算逻辑,提交到流失计算系统
(3) 批量计算对全部数据进行计算后传输结果,流式计算是每次小批量计算后,结果立刻投递到在线系统,做到实时化展现。