數(shù)據(jù)湖和數(shù)據(jù)倉庫隨著數(shù)據(jù)量的增長和數(shù)據(jù)流動的加快,變得越來越脆弱、成本高昂且難以維護(hù)。數(shù)據(jù)網(wǎng)格可以幫助你的組織去中心化數(shù)據(jù),將數(shù)據(jù)所有權(quán)歸還給生產(chǎn)數(shù)據(jù)的工程師。本書提供了一個關(guān)于流式和實(shí)時數(shù)據(jù)服務(wù)的數(shù)據(jù)網(wǎng)格模式的簡潔而全面的概述。
本書作者探討了流式和批處理數(shù)據(jù)網(wǎng)格之間的巨大差異。數(shù)據(jù)工程師、架構(gòu)師、數(shù)據(jù)產(chǎn)品所有者,以及DevOps和MLOps角色的人員將學(xué)習(xí)實(shí)施流式數(shù)據(jù)網(wǎng)格的步驟,從定義數(shù)據(jù)域到構(gòu)建良好的數(shù)據(jù)產(chǎn)品。在本書的學(xué)習(xí)過程中,你將創(chuàng)建一個完整的自助式數(shù)據(jù)平臺,并設(shè)計(jì)出一個數(shù)據(jù)治理系統(tǒng),使你的數(shù)據(jù)網(wǎng)格能夠無縫運(yùn)行。
通過這本書,你將學(xué)習(xí)以下知識:
·使用Kafka設(shè)計(jì)一個流式數(shù)據(jù)網(wǎng)格。
·學(xué)習(xí)如何識別數(shù)據(jù)領(lǐng)域。
·使用自助式工具構(gòu)建你的第一個數(shù)據(jù)產(chǎn)品。
·將數(shù)據(jù)治理應(yīng)用于你創(chuàng)建的數(shù)據(jù)產(chǎn)品中。
·了解等
前言 1
第1章 數(shù)據(jù)網(wǎng)格簡介 9
1.1 數(shù)據(jù)劃分 11
1.2 數(shù)據(jù)網(wǎng)格的支柱 12
1.2.1 數(shù)據(jù)所有權(quán) 13
1.2.2 數(shù)據(jù)即產(chǎn)品 14
1.2.3 聯(lián)合計(jì)算數(shù)據(jù)治理 15
1.2.4 自助服務(wù)數(shù)據(jù)平臺 15
1.2.5 數(shù)據(jù)網(wǎng)格圖解 16
1.3 其他類似的架構(gòu)模式 17
1.3.1 數(shù)據(jù)編織 18
1.3.2 數(shù)據(jù)網(wǎng)關(guān)和數(shù)據(jù)服務(wù) 20
1.3.3 數(shù)據(jù)民主化 21
1.3.4 數(shù)據(jù)虛擬化 22
1.4 聚焦實(shí)現(xiàn)23
1.4.1 Apache Kafka 23
1.4.2 AsyncAPI 24
第2章 流式數(shù)據(jù)網(wǎng)格介紹 25
2.1 流處理的優(yōu)勢 26
2.1.1 流式處理支持實(shí)時用例 26
2.1.2 流處理帶來的數(shù)據(jù)優(yōu)化優(yōu)勢 27
2.1.3 反向ETL 28
2.2 Kappa 架構(gòu) 29
2.2.1 Lambda 架構(gòu)簡介 30
2.2.2 Kappa 架構(gòu)簡介 33
2.3 總結(jié) 37
第3章 領(lǐng)域所有權(quán) 39
3.1 識別領(lǐng)域40
3.1.1 可識別領(lǐng)域 40
3.1.2 地理區(qū)域 40
3.1.3 混合架構(gòu) 43
3.1.4 多云環(huán)境 44
3.2 避免模糊領(lǐng)域邊界 46
3.3 領(lǐng)域驅(qū)動設(shè)計(jì) 48
3.3.1 領(lǐng)域模型 49
3.3.2 領(lǐng)域邏輯 49
3.3.3 限界上下文 49
3.3.4 通用語言 50
3.4 數(shù)據(jù)網(wǎng)格領(lǐng)域角色 50
3.4.1 數(shù)據(jù)產(chǎn)品工程師 51
3.4.2 數(shù)據(jù)產(chǎn)品負(fù)責(zé)人或數(shù)據(jù)管理者 51
3.5 值得考慮的流式數(shù)據(jù)網(wǎng)格工具和平臺 52
3.6 領(lǐng)域內(nèi)成本分?jǐn)?53
3.7 總結(jié) 54
第4章 流式數(shù)據(jù)產(chǎn)品 55
4.1 明確數(shù)據(jù)產(chǎn)品需求 56
4.2 識別數(shù)據(jù)產(chǎn)品衍生品 58
4.3 用Kafka Connect 攝取數(shù)據(jù)產(chǎn)品衍生品 59
4.3.1 可消費(fèi)性 61
4.3.2 同步數(shù)據(jù)源 66
4.3.3 異步數(shù)據(jù)源與變更數(shù)據(jù)捕獲 67
4.3.4 Debezium 連接器 68
4.4 將數(shù)據(jù)衍生品轉(zhuǎn)化為數(shù)據(jù)產(chǎn)品 69
4.4.1 數(shù)據(jù)標(biāo)準(zhǔn)化 70
4.4.2 保護(hù)敏感信息 70
4.4.3 SQL 71
4.4.4 提取、轉(zhuǎn)換和加載 78
4.5 使用AsyncAPI 發(fā)布數(shù)據(jù)產(chǎn)品 85
4.5.1 注冊流式數(shù)據(jù)產(chǎn)品 85
4.5.2 構(gòu)建異步API YAML 文檔 86
4.5.3 分配數(shù)據(jù)標(biāo)簽 99
4.5.4 版本控制 102
4.5.5 監(jiān)控 103
4.6 總結(jié) 104
第5章 聯(lián)邦式計(jì)算數(shù)據(jù)治理 105
5.1 在流式數(shù)據(jù)網(wǎng)格中的數(shù)據(jù)治理 106
5.1.1 數(shù)據(jù)血緣圖 106
5.1.2 使用流數(shù)據(jù)目錄來組織數(shù)據(jù)產(chǎn)品 108
5.2 元數(shù)據(jù)(Metadata) 108
5.2.1 模式(schemas) 110
5.2.2 數(shù)據(jù)血緣(Lineage) 111
5.2.3 安全性 113
5.2.4 可擴(kuò)展性 114
5.3 從AsyncAPI 生成數(shù)據(jù)產(chǎn)品頁面 115
5.3.1 Apicurio 注冊表 117
5.3.2 訪問工作流 118
5.4 集中式與去中心化 118
5.4.1 集中式工程師 119
5.4.2 去中心化工程師 119
5.5 總結(jié) 120
第6章 自助式數(shù)據(jù)基礎(chǔ)設(shè)施 123
6.1 流式數(shù)據(jù)網(wǎng)格CLI 124
6.2 與資源相關(guān)的命令 126
6.2.1 與集群相關(guān)的命令 127
6.2.2 與主題相關(guān)的命令 127
6.2.3 domain 命令 128
6.2.4 connect 命令 130
6.2.5 streaming 命令131
6.2.6 發(fā)布流數(shù)據(jù)產(chǎn)品 134
6.3 與數(shù)據(jù)治理相關(guān)的服務(wù) 135
6.3.1 安全服務(wù) 136
6.3.2 標(biāo)準(zhǔn)服務(wù) 142
6.3.3 血緣服務(wù) 144
6.4 SaaS 服務(wù)和API 146
6.5 總結(jié) 147
第7章 構(gòu)建流式數(shù)據(jù)網(wǎng)格 149
7.1 基礎(chǔ)設(shè)施 149
7.2 兩種架構(gòu)解決方案 150
7.2.1 專用基礎(chǔ)設(shè)施 151
7.2.2 多租戶基礎(chǔ)設(shè)施 158
7.3 流式數(shù)據(jù)網(wǎng)格中心架構(gòu) 163
7.3.1 領(lǐng)域代理(又稱邊車) 163
7.3.2 數(shù)據(jù)平面 164
7.3.3 控制平面 165
7.4 總結(jié) 171
第8章 構(gòu)建一個去中心化的數(shù)據(jù)團(tuán)隊(duì) 173
8.1 傳統(tǒng)的數(shù)據(jù)倉庫結(jié)構(gòu) 174
8.2 介紹去中心化團(tuán)隊(duì)結(jié)構(gòu) 176
8.2.1 賦權(quán)人員 178
8.2.2 工作流程 178
8.2.3 促進(jìn)協(xié)作 178
8.2.4 數(shù)據(jù)驅(qū)動自動化 179
8.3 數(shù)據(jù)領(lǐng)域的新角色 179
8.3.1 數(shù)據(jù)平面中的新角色180
8.3.2 數(shù)據(jù)科學(xué)和商業(yè)智能中的新角色 181
第9章 特征存儲 187
9.1 將數(shù)據(jù)工程與數(shù)據(jù)科學(xué)分離 188
9.2 在線和離線數(shù)據(jù)存儲 190
9.3 Apache Feast 簡介 190
9.4 總結(jié) 194
第10章 流式數(shù)據(jù)網(wǎng)格的實(shí)踐 195
10.1 流式數(shù)據(jù)網(wǎng)格示例 196
10.2 部署本地流式數(shù)據(jù)網(wǎng)格 198
10.2.1 安裝連接器201
10.2.2 部署clickstream 數(shù)據(jù)連接器并自動創(chuàng)建表 203
10.2.3 部署Debezium tgres CDC 連接器 209
10.2.4 流數(shù)據(jù)的豐富化 211
10.2.5 發(fā)布數(shù)據(jù)產(chǎn)品 217
10.3 消費(fèi)流式數(shù)據(jù)產(chǎn)品 219
10.4 全托管的SaaS 服務(wù) 223
10.5 總結(jié)和注意事項(xiàng) 230