大数据架构变迁

大数据1.0时代,Lambda架构比较流行,首先有个数据总线,通常是Kafka,后面对接批处理计算和流式计算。见过几个企业的架构,数据采集后,直接进入Kafka,然后线上经常不稳定。Kafka IO模型特长于顺序批量写入与读取,什么时候用于高并发了?不死就牛B了。

写Kafka可以是文件日志模式,缺点是存储空间占用较高,日志无Schema,对接入的数据没有约束。另外就是Avro或者Protobuf二进制了,通过Schema来约束写入的数据。

对于批处理计算,开启了传统数据仓库的ETL,很长的处理链,太多的临时表。数据集市来得通过内存计算或者Cubric方案。内存计算存在并发上限,Cubric方案Cube计算不是实时等问题。

对于流式计算,有Storm/Spark Streaming/Flink几个选择,Storm稳定,QPS较少。Spark Streaming并发高,Structure Streaming出来后更牛B了,OOM及稳定性有待提升,特别是RDD/Dataset依赖关系导致的内存依赖问题。

经常出现批处理计算与流式计算数据口径不一致问题。


大数据2.0时代,提出Kappa架构,与Lambda架构区别是取消了批处理计算。使用流式计算统一计算。

缺点也明显,全量数据较大时,流式计算算不完。


大数据3.0时代,提出IOTA架构,大用发展边缘计算。

你可能感兴趣的:(大数据架构变迁)