如果Kappa-Architecture直接在流上进行分析,而不是将数据分为两个流,那么在像Kafka这样的消息系统中,数据存储在哪里?还是可以在数据库中进行重新计算?
并且单独的批处理层是否比使用流处理引擎进行批处理分析重新计算更快?
“要考虑的一个非常简单的情况是,应用于实时数据和历史数据的算法是相同的。那么使用相同的代码库处理历史和实时数据显然非常有益,因此对于使用Kappa体系结构实现用例”。“现在,用于处理历史数据和实时数据的算法并不总是相同的。在某些情况下,批处理算法可以优化,这是因为它可以访问完整的历史数据集,并且性能优于在这里,在Lambda和Kappa之间进行选择就成为了选择批处理执行性能而不是简化代码库之间的选择。” “最后,还有更复杂的用例,甚至实时和批处理算法的输出也不同。例如,在一个机器学习应用程序中,批处理模型的生成需要大量的时间和资源,因此实时可获得的最佳结果是对该模型的计算和近似更新。在这种情况下,批处理层和实时层无法合并,必须使用Lambda体系结构”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句