豆瓣9.0分的流式数据处理神书,终于有阿里大佬翻译出中文版了!

科技   2024-10-30 12:10   北京  
文末赠书

01

学习流式数据处理的神书

各位码农,喜大普奔!《流式系统》的中文版本终于要和大家见面了。当初英文原版一经面世,就被称为神书,国内技术圈对其中文版的呼声一直很高。现在,终于有阿里大佬把这本好书翻译出来了。
流式数据处理在大数据时代极为关键的原因有很多:

· 企业需要更快地从数据中获取洞见,转向流式处理是降低延迟的有效手段。

· 采用为无界数据而生的系统处理日益普遍的大型数据集,更为得心应手。

· 数据即时处理让系统负荷在时间上分散,实现资源消耗的均衡和可预测性。

.....

尽管市场上对流式系统的兴趣日益浓厚,但专业书籍却难得一见,这使得《Streaming Systems》一书的出版备受追捧,英文版豆瓣评分高达9.0,显示了它的巨大影响力。
《Designing Data-Intensive Applications》(数据密集型应用系统设计)一书的作者、剑桥大学教授Martin Kleppmann对这本书赞不绝口:“如果你关心你的流处理和批处理作业的正确性,那么这本书是必读的。它提供了我所见过的最清晰和最有逻辑的讨论,并且精彩地解释了相关理念。”
一位Amazon资深工程师在知乎上强势安利这本书,得到网友的大量点赞认同。
更有读者惊呼:“不读这本书,流计算不算入门”!

点击下方,即可购书


02

如何通过这本书入门

这本书汇集了Tyler Akidau、Slava Chernyak和Reuven Lax三位专家的智慧与努力。

Tyler Akidau

他是谷歌公司数据处理语言与系统团队的技术负责人,负责谷歌的Cloud Dataflow、Apache Beam,以及谷歌内部的数据处理系统,如Flume、MillWheel和MapReduce。他还是 Apache Beam PMC 的创始成员之一,也是2015 年Dataflow 模型论文以及 “Streaming 101”和“Streaming 102”文章的作者。

Slava Chernyak 

他是谷歌MillWheel 团队的长期成员,后来是 MillWheel 系统的继任者 Windmill 团队的创始成员,这一至今尚未命名的系统主要负责支撑谷歌的 Cloud Dataflow 中的流式引擎。他是当今世界在流处理系统中水位和时间语义方面最顶尖的专家之一。

Reuven Lax

他曾发起并领导谷歌在通用流处理引擎领域几乎所有的系统级技术创新,其中包括他投入大量精力去研究在使用细粒度检查点的系统上提供高吞吐量、低延时、精确一次的语义。他曾是MillWheel 团队的长期成员和负责人,还创立并领导了负责 Windmill 的团队。他也是Apache Beam PMC成员。

Tyler Akidau的"Streaming 101"和"Streaming 102"两篇热门博客文章对流式处理的演进产生了积极影响,被许多技术人员誉为对流式处理的“神级解读和前瞻”。本书在此基础上进一步深入,为读者提供了一个全面的入门和提升流式处理技能的途径。
本书由阿里大佬陈守元精心翻译,确保了内容的精准传达和语言的平易近人。他自2010年加入阿里集团,投身于淘宝数据平台的建设,积累了10多年的大数据从业经验。他还是DataX开源项目的发起者,现在负责阿里实时计算产品Flink的规划与设计,致力于推动Flink成为下一代大数据处理标准。
这本由专家合著的入门书籍非常值得信赖,全书共10章,分为两大概念部分,每个部分包含4章,之后各跟一章独立内容。
你会发现,"Beam模型"被策略性地放在了第一部分,这是基于什么考虑?Beam模型起初专为谷歌的Cloud Dataflow设计,之后作为Apache Beam项目向Apache软件基金会进行了捐赠。如今,Beam模型在业界被广泛采纳,融入了各种系统,这使得从Beam模型入手学习流式系统变得更加容易,同时也确保了其广泛的适用性。
第一部分聚焦于批处理与流处理数据模型的高阶讨论。

· 第1章奠定流处理的基本概念,定义专业术语,评估流系统的功能,区分处理时间和事件时间,并探究标准数据处理模式。

· 第2章详尽阐释处理乱序数据的核心理念,逐项深入定义、定位、时机与方法,并利用动画展示时间维度。

· 第3章深究时间进度的度量、度量方法及其在流水线中的传递方式,结尾部分剖析两个实际案例中的水位线应用。

· 第4章延续第2章的内容,进一步讨论高级窗口技术和触发器,例如处理时间窗口、会话窗口和持续触发器。

这本书不单是传授理论的教科书,而且在传授大数据流式处理的理论的同时,也着眼于工业界的实际应用,对以先进的设计和活跃的社区迅速在全球开源市场上占据了一席之地的新兴流式处理引擎Apache Flink进行了分析和赞许。因而,第5章将向读者展示关键细节。

· 第5章探讨了实现端到端精确一次(或称有效一次)处理的挑战,并深入分析了Apache Flink、Apache Spark和谷歌Cloud Dataflow三种实现方法的细节。

第二部分深化了概念讨论,专注于“流与表”的流处理思维模式。

· 第6章阐释流和表的基本概念,从流和表的视角重新审视MapReduce,构建普适的流表理论,全面覆盖Beam模型。

· 第7章探讨引入持久状态的动因,分析两种隐式状态,并以广告归因为例,引出状态管理的关键特性。

· 第8章考察关系代数和SQL中的流式含义,比较Beam模型与经典SQL在表和流设计上的倾向,并提出将流式语义整合入SQL的途径。

· 第9章研究多样的连接类型,探讨它们在流式上下文中的行为,特别关注时间有效性窗口这一在流式连接中有用但未广泛采纳的场景。

最后给读者提供了一个宏观视角。

· 第10章快速回顾了MapReduce数据处理系统的重要历史时刻,并且好好聊了聊那些让流式系统发展到今天的关键点。

一本书学下来,知识体系也构造好了,这么好的安排让众多读者受益匪浅。

03

大神们告诉你不能错过的三个重点

面对复杂的流式系统,学习时抓住核心是关键。大神们也深谙此道,不仅在每个章节的最后帮我们进行总结,还标出了学习重点。

01

流和表的基础:流表相对性的特殊理论

本书的核心在于流表理论,理解流与表的相互联系至关重要。所有其他概念都是基于此构建的。

02

时变关系启发大家新的思考方式。

时变关系是流式处理的核心特征,它不仅体现了构建流系统的所有功能,还把我们熟悉的批处理工具与流处理紧密相连。

03

一个编写精良的分布式流式引擎是充满魔力的。

精通分布式流引擎的构建更是一项充满挑战的任务,深入了解其内部机制,尤其是在处理语义方面,会让你感受到背后的复杂性,比如本书第3章和第5章的案例研究。
为了更好地掌握这些重点,本书还提供了许多在线资源。

信息丰富的代码片段

本书在深入讲解概念的同时,也提供了代码和伪代码示例来阐明关键点。比如,第2章和第4章中关于功能性的核心Beam Model概念的代码,以及第7章中有关状态和计时器概念的代码。
理解流式语义是主要目标,代码主要使用Beam PTransform/DoFn实现并附带单元测试代码。还有一个单独的流水线实现来演示单元测试和实际流水线之间的差异。
(所有代码片段都可以在 github.com/takidau/streamingbook 上找到)

说明性动画演示

书中介绍的许多概念都配有详细的动画插图,这些插图使理念变得生动起来。
中文版全书彩图,130+张关键帧和动画插图都是随书附赠的。
千万别错过这本诚意之作!

点击下方,即可购书

—END—



分享你学习流式系统的小技巧


在留言区参与互动,并点击在看和转发活动到朋友圈,我们将选1名读者获得e读版电子书1本,截止时间11月15日。

异步图书
人民邮电出版社IT专业图书品牌,发布最新纸书、电子书资讯,分享深度技术文章,与作译者互动交流。
 最新文章