Apache kafka kappa架构和lambda架构之间有什么区别
如果Kappa架构直接对流进行分析,而不是将数据分成两个流,那么在像Kafka这样的messagin系统中,数据存储在哪里?或者可以在数据库中重新计算 单独的批处理层是否比使用流处理引擎重新计算批处理分析更快Apache kafka kappa架构和lambda架构之间有什么区别,apache-kafka,batch-processing,stream-processing,lambda-architecture,bigdata,Apache Kafka,Batch Processing,Stream Processing,Lambda Architecture,Bigdata,如果Kappa架构直接对流进行分析,而不是将数据分成两个流,那么在像Kafka这样的messagin系统中,数据存储在哪里?或者可以在数据库中重新计算 单独的批处理层是否比使用流处理引擎重新计算批处理分析更快 “一个非常简单的例子是当算法应用到 实时数据和历史数据是相同的,那么 显然,使用相同的代码库进行处理非常有益 历史和实时数据,从而实现用例 使用Kappa架构”。“现在,用于处理 历史数据和实时数据并不总是相同的 在这种情况下,批处理算法可以优化,因为它 可以访问完整的历史数据集,然后性能
“一个非常简单的例子是当算法应用到 实时数据和历史数据是相同的,那么 显然,使用相同的代码库进行处理非常有益 历史和实时数据,从而实现用例 使用Kappa架构”。“现在,用于处理 历史数据和实时数据并不总是相同的 在这种情况下,批处理算法可以优化,因为它 可以访问完整的历史数据集,然后性能优于 实时算法的实现。这里,在 Lambda和Kappa成为支持批处理执行的选择 性能优于基于代码的简单性”。“最后,还有更多 复杂的用例,即使是实时和 批处理算法是不同的。例如,机器学习 生成批处理模型需要大量时间的应用程序 以及可实现实时最佳结果的资源 计算并近似更新该模型。在这种情况下 无法合并批处理层和实时层,并且Lambda 必须使用“体系结构”
- 分批分流层
- 更高的代码复杂度
- 使用单独的批次/流提高性能
- 对于批处理和流处理中的不同算法更好
- 用数据存储代替数据库进行批量计算更便宜
- 只有蒸汽处理层
- 易于维护,复杂度较低,批处理和存储算法单一 溪流
- 如果从数据库重新计算批处理数据,那么太多的数据将非常昂贵
- 如果从数据库或从kafka重新计算批处理的数据过多,则处理速度会变慢