内容简介
通过这本书,你将学习以下知识:使用Kafka设计一个流式数据网格。学习如何识别数据领域。使用自助式工具构建你的第D一个数据产品。将数据治理应用于你创建的数据产品中。了解同步和异步数据服务之间的差异。实现支持去中心化数据的自助服务。
精彩书评
★“这是一本全面的指南,巧妙地探讨了流式数据网格架构的变革潜力。书中提供了实用的见解和可操作且循序渐进的指导,对于寻求实时数据管理和处理的数据革新的专业人员,《流式数据网格》为必读之作。
——Yingjun Wu RisingWave实验室创始人兼CEO
★"这是一个了解当前数据架构模式的绝佳资源。”
——Benjamin Djidi Popsink公司CEO
目录
前言 1
第1章 数据网格简介 9
1.1 数据划分 11
1.2 数据网格的支柱 12
1.2.1 数据所有权 13
1.2.2 数据即产品 14
1.2.3 联合计算数据治理 15
1.2.4 自助服务数据平台 15
1.2.5 数据网格图解 16
1.3 其他类似的架构模式 17
1.3.1 数据编织 18
1.3.2 数据网关和数据服务 20
1.3.3 数据民主化 21
1.3.4 数据虚拟化 22
1.4 聚焦实现 23
1.4.1 ApacheKafka 23
1.4.2 AsyncAPI 24
第2章 流式数据网络介绍 25
2.1 流处理的优势 26
2.1.1 流式处理支持实时用例 26
2.1.2 流处理带来的数据优化优势 27
2.1.3 反向ETL 28
2.2 Kappa架构 29
2.2.1 Lambda架构简介 30
2.2.2 Kappa架构简介 33
2.3 总结 37
第3章 领域所有权 39
3.1 识别领域 40
3.1.1 可识别领域 40
3.1.2 地理区域 40
3.1.3 混合架构 43
3.1.4 多云环境 44
3.2 避免模糊领域边界 46
3.3 领域驱动设计 48
3.3.1 领域模型 49
3.3.2 领域逻辑 49
3.3.3 限界上下文 49
3.3.4 通用语言 50
3.4 数据网格领域角色 50
3.4.1 数据产品工程师 51
3.4.2 数据产品负责人或数据管理者 51
3.5 值得考虑的流式数据网格工具和平台 52
3.6 领域内成本分摊 53
3.7 总结 54
第4章 流式数据产品 55
4.1 明确数据产品需求 56
4.2 识别数据产品衍生品 58
4.3 用Kafka Connect摄取数据产品衍生品 59
4.3.1 可消费性 61
4.3.2 同步数据源 66
4.3.3 异步数据源与变更数据捕获 67
4.3.4 Debezium连接器 68
4.4 将数据衍生品转化为数据产品 69
4.4.1 数据标准化 70
4.4.2 保护敏感信息 70
4.4.3 SQL 71
4.4.4 提取、转换和加载 78
4.5 使用AsyncAPI发布数据产品 85
4.5.1 注册流式数据产品 85
4.5.2 构建异步APIYAML文档 86
4.5.3 分配数据标签 99
4.5.4 版本控制 102
4.5.5 监控 103
4.6 总结 104
第5章 联邦式计算数据治理 105
5.1 在流式数据网格中的数据治理 106
5.1.1 数据血缘图 106
5.1.2 使用流数据目录来组织数据产品 108
5.2 元数据(Metadata) 108
5.2.1 模式(schemas) 110
5.2.2 数据血缘(Lineage) 111
5.2.3 安全性 113
5.2.4 可扩展性 114
5.3 从AsyncAPI生成数据产品页面 115
5.3.1 Apicurio注册表 117
5.3.2 访问工作流 118
5.4 集中式与去中心化 118
5.4.1 集中式工程师 119
5.4.2 去中心化工程师 119
5.5 总结 120
第6章 自助式数据基础设施 123
6.1 流式数据网格CLI 124
6.2 与资源相关的命令 126
6.2.1 与集群相关的命令 127
6.2.2 与主题相关的命令 127
6.2.3 domain命令 128
6.2.4 connect命令 130
6.2.5 streaming命令 131
6.2.6 发布流数据产品 134
6.3 与数据治理相关的服务 135
6.3.1 安全服务 136
6.3.2 标准服务 142
6.3.3 血缘服务 144
6.4 SaaS服务和API 146
6.5 总结 147
第7章 构建流式数据网格 149
7.1 基础设施 149
7.2 两种架构解决方案 150
7.2.1 专用基础设施 151
7.2.2 多租户基础设施 158
7.3 流式数据网格中心架构 163
7.3.1 领域代理(又称边车) 163
7.3.2 数据平面 164
7.3.3 控制平面 165
7.4 
前言/序言
欢迎阅读本书!本书将指导你理解并构建一个满足数据网格所有支柱的流式数据网格(Streaming Data Mesh)。
数据网格是当今许多人正在探索的最流行的数据平台架构之一。本书将帮助你全面了解这种自助式数据平台在流式环境下的应用。目前,批处理在大多数企业的提取、转换和加载(ETL)的过程中占主导地位。本书将展示数据管道的不同视角,并将你已经了解的批处理ETL概念应用到数据网格背景下的流式ETL中。
本书旨在帮助你理解流式数据网格的基本概念——核心理念、架构和技术。本书涵盖了与流式数据网格相关的所有重要主题,从基础的数据架构,到大数据工具在数据仓库中的应用,再到流式数据网格架构的业务导向方法。此外,我们还将探讨成功的流式数据网格项目中涉及的一系列服务。
阅读本书不需要你预先了解构成数据网格的支柱。我们将简要介绍这些支柱的高层概念,并专门从流式处理的角度定义它们。如果你觉得需要更深入地理解数据网格,请参阅Zhamak Dehghani的《Data Mesh》(O’Reilly出版)一书。
本书的目标读者
本书面向任何对学习流式数据网格感兴趣的读者,将数据网格领域令人兴奋的工作与实时流式数据转换、数据产品定义和数据治理相结合。本书也适用希望为项目实施流式数据架构的数据工程师、数据分析师、数据科学家、软件架构师和产品所有者。对于那些希望熟悉流式数据技术并了解如何将其大规模整合到项目中的最佳实践的读者来说,本书同样有用。
为什么写这本书
我们之所以撰写这本关于流式数据网格的书,是因为我们相信它有潜力彻底改变公司管理和处理数据的方式。流式数据网格提供了一个平台,将消息传递、存储和处理能力整合为一个全面的解决方案。通过提高数据可靠性和覆盖范围,同时有效降低成本,该平台使公司能够显著加速其数字化转型,成为数据驱动型组织。通过这本书,我们希望确保读者理解流式数据网格的关键原则、最新方法以及注意事项。我们还希望提供设置和操作流式数据网格的分步指导,同时考虑最佳实践。
本书导览
本书的组织结构如下:
第1章和第2章介绍数据网格的概念,并将这些概念扩展到流式处理的环境中。
第3章详细讨论了领域所有权,包括识别领域的方法、领域驱动设计、与数据领域相关的角色、值得考虑的工具,以及领域中心的成本分摊机制。
第4章探讨流式数据产品的创建,包括数据产品识别、数据采集、转换和发布。
第5章研究流式数据网格中的联邦计算数据治理。
第6章讨论与流式数据网格相关的自助服务基础设施。
第7章深入探讨流式数据网格的架构及其组件,包括基础设施和云架构。
第8章讨论构建去中心化团队相关的组织结构、目标协同以及角色分工。
第9章讨论流式数据网格在创建特征存储以支持数据科学模型训练和推理方面的应用。
第10章提供创建流式数据网格的具体示例。
排版约定
本书采用以下排版约定。
斜体(Italic)
表示新术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
表示程序清单,在段落内表示程序元素,例如变量、函数名称、数据库、数据类型、环境变量、语句和关键字。
粗体等宽字体(Constant width bold)
表示应由用户原封不动输入的命令或其他文本。
斜体等宽字体(Constant width italic)
表示应该替换成用户提供值的文本,或者由上下文决定的值。
……