流式系统
豆瓣
[美] 泰勒·阿基道(Tyler Akidau) / 鲁文·拉克斯(Reuven Lax) 译者: 陈守元
简介
这是一本理论高度概括的书,讲解流式处理核心、本质的概念、特性、设计和方法。本书分为两部分:第一部分以Beam的编程模型为抓手讨论流处理的种种核心问题,重点是相对高层次地讨论批处理模型以及流处理模型;第二部分讨论流与表的二象性,即两者之间的类比与差异,对概念进行深入探讨,并讨论关于流处理的“流与表”的思考方式。本书还概要浏览大数据处理系统的家族历史,深入讨论流式系统发展领域的一些重要贡献。此外,本书配有大量的动画示意图,读者可以在线查看相关动图示例。 本书覆盖流式系统的核心理论和本质概念,适合大数据系统爱好者、相关专业学生、数据工程师、数据科学家和开发人员阅读和参考。尽管本书只是流式系统的导论读物,但是仍然需要读者了解大数据处理系统的基本原理并具备相关的使用经验。
contents
第 一部分 Beam模型
第 1章 流式处理入门 2
1.1 术语:什么是流 3
1.2 数据处理模式 9
1.3 小结 17
第 2章 数据处理的来龙去脉 19
2.1 路线图 20
2.2 批基础:定义及位置 21
2.3 开始流处理:时机及方法 27
2.4 小结 44
第3章 水位 47
3.1 定义 47
3.2 源端水位的创建 49
3.3 水位传播 53
3.4 百分比水位 65
3.5 处理时间水位 67
3.6 案例分析 69
3.7 小结 75
第4章 高级开窗 76
4.1 时机/位置:处理时间开窗 76
4.2 位置:会话 82
4.3 位置:自定义开窗 85
4.4 小结 95
第5章 精确一次及副作用 97
5.1 为什么精确一次这么重要 97
5.2 准确性与完整性 98
5.3 确保在混洗中精确一次 101
5.4 解决确定性 102
5.5 性能 102
5.6 源端的精确一次 105
5.7 汇端的精确一次 106
5.8 用例 107
5.9 其他系统 110
5.10 小结 112
第二部分 流和表
第6章 流和表 114
6.1 流和表的基础:“流表相对论”的特殊理论 115
6.2 批处理与流和表 116
6.3 流和表世界的定义、位置、时机和方法 121
6.4 “流表相对论”的一般理论 137
6.5 小结 139
第7章 持久化状态的实践 141
7.1 动机 141
7.2 隐式状态 144
7.3 广义状态 149
7.4 小结 162
第8章 流式SQL 163
8.1 什么是流式SQL 163
8.2 回顾:流和表的设计偏好 174
8.3 展望:迈向健壮的流式SQL 184
8.4 小结 204
第9章 流式连接 207
9.1 所有连接都是流式连接 207
9.2 非开窗连接 208
9.3 开窗连接 219
9.4 小结 234
第 10章 大规模数据处理的演化 236
10.1 MapReduce 237
10.2 Hadoop 241
10.3 Flume 242
10.4 Storm 247
10.5 Spark 250
10.6 MillWheel 252
10.7 Kafka 256
10.8 Cloud DataFlow 259
10.9 Flink 261
10.10 Beam 265
10.11 小结 268