⽬录编者按.................................................................................................................................................................................2背景-Kappa架构最佳设计是什么,是⼀个⼗年的问题..........................................................................................3批处理做到了什么?-批计算的本质...........................................................................................................................7流计算针对批处理扩展了什么?-从Streaming 101谈起......................................................................................71.扩展⼀:流计算提出⽆界数据(unbounded data)的概念,以及数据的⽆序性和晚数据(Late Event)的问题......82.扩展⼆:在流数据上保证⼀致性.............................................................................................................................................................103.扩展三:已经产出计算结果,但新输⼊数据包括对之前数据的修改,如何处理?.............................................................114.流计算模型⼩结..........................................................................................................................................................................................11通⽤增量计算概念和原理.............................................................................................................................................13通⽤增量计算的4个标准–“SPOT”..........................................................................................................................................................14基于增量计算的系统设计.............................................................................................................................................................................15关键技术概述..................................................................................................................................................................171.声明式定义....................................................................................................................................................................................................172.动态表与数据流..........................................................................................................................................................................................203.通⽤增量计算框架......................................................................................................................................................................................234.性能评估........................................................................................................................................................................................................275.⼀些限制项....................................................................................................................................................................................................31如何使⽤增量计算..........................................................................................................................................................32业务场景.............................................................................................................................................................................................................32增量数据加载....................................................................................................................................................................................................32实现总结.............................................................................................................................................................................................................35其他相关的⼯作..............................................................................................................................................................36对未来展望......................................................................................................................................................................38致谢..................................................................................................................................................................................39 https://www.yunqi.tech/ 编者按从流计算概念提出算起,数据计算技术⼜发展了⼗年。这⼗年中,组装式Lambda架构成为业界主流,⽽如何打破Lambda架构天⽣的数据处理“不可能三⻆”,实现真正的Kappa架构是从业者⼼中的⼀个“圣杯”。笔者所在团队云器科技(yunqi.tech)是国内较早探索通⽤增量计算技术团队,在2021年成⽴即将增量计算和Kappa架构作为核⼼⽬标,团队在2023年发布会⾸次提出“通⽤增量计算”(Generic IncrementalCompute,简称GIC)概念并发布最初版本。⼜经过⼀年的众多客户场景检验,我们证明了通⽤增量计算模型已经是⼀套切实可落地的技术⽅案,基于此Kappa架构会在未来五年替代Lambda成为主流。本⽂是我们过去三年我们⼯作的总结。通过分析批计算和流计算模型的本质,回答在过去⼗年了他们为什么没办法做到Kappa架构。之后介绍“通⽤增量计算”的概念和技术原理,并概述我们通过通⽤增量计算实现Kappa架构的最佳路径。 https://www.yunqi.tech/ 背景-Kappa架构最佳设计是什么,是⼀个⼗年的问题以关系计算理论为核⼼的数据库技术(Database时代)发展数⼗年后,在2000年左右撞上了扩展性的瓶颈。随后,以⾼扩展性分布式理论为核⼼设计的⼤数据系统(BigData时代)开始⾼速发展,继承⾃Map-Reduce的典型批处理模型,⾸先成为⼤数据的主流技术。但因为批处理⾯向⾼吞吐优化设计,以及缺乏实时处理能⼒的缺陷,使得流计算诞⽣并成为与批处理并列的计算模式。⾄此,经典的Lambda架构诞⽣,并成为主流架构,并出现典型的“数据不可能三⻆”(即数据新鲜度、低成本、⾼性能三个⽅⾯⽆法同时获得)。图1:数据处理的“不可能三⻆”,批、流、交互分别⾯向⼀个⽅向优化 https://www.yunqi.tech/ https://www.yunqi.tech/Lambda架构的主要缺陷从业者都很清楚(例如架构复杂、数据/计算冗余、数据⼀致性差、系统复杂度⾼、开发成本⾼)。为实现新⼀代