说明:本文内容和图片均来自网络,简单加工整理。
批处理架构
关键:全量数据、ETL、批处理、非实时
优点:简单
缺点:非实时。
适用场景:离线数据处理。
流处理架构
关键:流处理、实时、可不存储全量数据
优点:实时
缺点:无法做离线分析
适用场景:实时数据处理
Lambda架构
关键:批处理+流处理,全量数据存储,合并结果
优点:在线+离线
缺点:无法重放数据,只可一次性流处理
适用场景:在线处理+离线处理
Kappa架构
关键:Lambda+数据重放
优点:支持多次流处理
缺点:数据重放复杂
适用场景:在线处理+离线处理,多次流处理
Unifield架构
关键:Lambda/Kappa+机器学习
优点:支持机器学习
缺点:复杂度更高,实施难
适用场景:大数据+机器学习
IoTA架构
通过Common Data Model的设计,专注在某一个具体领域的数据标准化和计算,从而可以从SDK端开始计算,边缘计算,中央端只做采集、建立索引和查询,提高整体数据分析的效率
关键:特定领域、去ETL化、IoT、边缘计算、Ad-hoc查询、实时
优点:简化数据处理
缺点:数据采集要求标准化,实施困难
适用场景:IoT
结论
Lambda 架构是兼容了 batch layer, speed layer(real-time processing)的架构,Kappa 架构则是用 speed layer(real-time processing) 全程处理实时数据和历史数据,Unified 架构进一步引入了机器学习能力
参考资料
1、https://insights.thoughtworks.cn/common-big-data-infrastructure/
2、https://blog.csdn.net/odailidong/article/details/80035658
3、https://blog.csdn.net/wujiandao/article/details/81323209
4、https://blog.csdn.net/u010885548/article/details/79804657