大数据架构演变
一、传统离线大数据架构
一般在刚引入大数据架构是开始使用,比较适合做批量处理,T+1数据处理等
优点是做批量计算性能比较高,特别适合做批量数据的聚合分析计算。
缺点:这种架构不好支持实时业务数据的开发。一般这种离线数仓分层计算之间都是通过Mapreduce/SparkSQL做批量处理来实现聚合分析,除了数据落库的磁盘IO等比较慢以外,还有一点就是批处理是需要数据来了以后等待一会,聚集一批数据在处理,这样数据从头到尾下来就需要等待和处理较长的时间。而对于一些对实时性要求高的数据来说,这种滞后性是无法容忍的。
二、Lambda架构(离线处理+实时链路)-传统实时开发
从原有离线处理架构的基础上加上了实时处理链路部分,实现了实时业务数据的处理。
对于批处理任务,还是使用原有的传统离线架构不变,支持高性能的离线批处理。
对于实时性要求比较高的场景和需求,单独采用实时链路进行开发,数据流过来了能直接处理,而不需要积累一定的时间或量级再进行处理,尽可能的提高数据从流入到结果产出的时间效率。
缺点:实时链路的业务数据处理是烟囱式的开发,不能对实时链路处理的中间结果做复用处理,每一个实时业务需求都需要从头开始做处理。