kappa体系结构和lambda体系结构有什么区别

可汗

如果Kappa-Architecture直接在流上进行分析,而不是将数据分为两个流,那么在像Kafka这样的消息系统中,数据存储在哪里?还是可以在数据库中进行重新计算?

并且单独的批处理层是否比使用流处理引擎进行批处理分析重新计算更快?

可汗

“要考虑的一个非常简单的情况是,应用于实时数据和历史数据的算法是相同的。那么使用相同的代码库处理历史和实时数据显然非常有益,因此对于使用Kappa体系结构实现用例”。“现在,用于处理历史数据和实时数据的算法并不总是相同的。在某些情况下,批处理算法可以优化,这是因为它可以访问完整的历史数据集,并且性能优于在这里,在Lambda和Kappa之间进行选择就成为了选择批处理执行性能而不是简化代码库之间的选择。” “最后,还有更复杂的用例,甚至实时和批处理算法的输出也不同。例如,在一个机器学习应用程序中,批处理模型的生成需要大量的时间和资源,因此实时可获得的最佳结果是对该模型的计算和近似更新。在这种情况下,批处理层和实时层无法合并,必须使用Lambda体系结构”。

引用

Lambda建筑

  • 单独的批处理和流分层
  • 更高的代码复杂度
  • 批处理/流分开的情况下性能更快
  • 批量和流式处理不同算法的效果更好
  • 具有用于批处理计算的数据存储而不是数据库的廉价存储

Kappa建筑

  • 只有蒸汽处理层
  • 易于维护,较低复杂度,批处理和流处理的单一算法
  • 如果从数据库重新计算批处理,那么太多的数据将很昂贵
  • 如果从数据库或kafka重新计算批处理,那么太多的数据将使处理变慢

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章