目录
序 1
前言 3
第1 章 数据管理的变革 . 11
1.1 数据管理12
1.2 分析正在分割数据景观 .15
1.3 软件交付的速度正在发生变化 17
1.4 网络变得更加快捷 18
1.5 隐私和安全性是重中之重 19
1.6 运营和事物系统需要被整合 20
1.7 数据商业化需要生态系统到生态系统的架构 20
1.8 企业受困于过时的数据架构 21
1.8.1 企业数据仓库和商业智能 21
1.8.2 数据湖 24
1.8.3 中心化视角 26
1.9 小结 .27
第2 章 初窥可拓展架构:大规模数据管理 .29
2.1 普遍认可的起点 30
2.1.1 每一个应用程序都有一个应用程序数据库 30
2.1.2 应用程序都是特定的而且有独特的上下文 30
2.1.3 黄金数据源 31
2.1.4 无法摆脱的数据集成困境 31
2.1.5 应用程序既是数据提供者也是数据消费者 32
2.2 关键的理论考量 33
2.2.1 面向对象的编程原则.33
2.2.2 领域驱动设计 35
2.2.3 业务架构 .38
2.3 通信和集成模式 45
2.3.1 点对点 46
2.3.2 孤岛 46
2.3.3 轮辐模型 .47
2.4 可扩展架构 48
2.4.1 黄金数据源和域数据存储 49
2.4.2 数据交付契约和数据共享协议 .51
2.4.3 摆脱孤岛方案 52
2.4.4 企业规模的领域驱动设计 53
2.4.5 读优化的数据 56
2.4.6 从整体的视角看数据层 58
2.4.7 元数据和目标运营模式 61
2.5 小结 .63
第3 章 管理海量数据:只读数据存储架构 .65
3.1 RDS 架构简介 65
3.2 命令和查询职责分离 66
3.2.1 什么是CQRS 66
3.2.2 规模化的CQRS 68
3.3 只读数据存储组件和服务 73
3.3.1 元数据 74
3.3.2 数据质量 .75
3.3.3 RDS 层级 77
3.3.4 数据摄取 .78
3.3.5 集成商业化现成解决方案 81
3.3.6 从外部API 和SaaS 提取数据 82
3.3.7 历史数据服务 82
3.3.8 设计的变化 86
3.3.9 数据复制 .88
3.3.10 访问层 .89
3.3.11 文件操作服务 90
3.3.12 交付通知服务 .91
3.3.13 匿名服务 91
3.3.14 分布式编排92
3.4 智能消费服务 .93
3.5 按需填充RDS 96
3.6 直接使用RDS 的考量 97
3.7 小结 .98
第4 章 API 架构的服务和API 管理 99
4.1 API 架构简介 99
4.2 什么是面向服务的架构 100
4.2.1 企业应用集成 104
4.2.2 服务编排 106
4.2.3 服务编舞 110
4.2.4 公共服务和私有服务 111
4.2.5 服务模型和规范数据模型 111
4.2.6 SOA 与企业数据仓库架构的相似之处 . 112
4.3 SOA 的现代观点 114
4.3.1 API 网关 114
4.3.2 责任模式 116
4.3.3 企业服务总线的新职责 . 118
4.3.4 服务合约 119
4.3.5 服务发现 119
4.4 微服务 .120
4.4.1 API 网关在微服务中的作用 122
4.4.2 函数 .122
4.4.3 服务网格 124
4.4.4 微服务的边界 .125
4.4.5 在API 参考架构内的微服务 126
4.5 生态系统通信 127
4.6 基于API 的通信渠道 129
4.6.1 GraphQL 130
4.6.2 为前端服务的后端 131
4.7 元数据 .131
4.8 利用RDS 进行实时和密集读取 .133
4.9 小结 134
第5 章 事件和响应管理:流式架构 . 137
5.1 流式架构简介 137
5.2 异步事件模型与众不同 138
5.3 事件驱动架构是什么样的 .139
5.3.1 调停者拓扑 .140
5.3.2 代理者拓扑 .141
5.3.3 事件处理风格 .142
5.4 Apache Kafka 简易入门 143
5.4.1 分布式事件数据 145
5.4.2 Apache Kafka 的功能 .147
5.5 流式架构.148
5.5.1 事件生产者 .148
5.5.2 事件消费者 .151
5.5.3 事件平台 153
5.5.4 事件溯源和命令溯源154
5.5.5 治理模型 157
5.5.6 业务流 158
5.5.7 流式数据消费模式 161
5.5.8 事件携带状态转移 163
5.5.9 扮演RDS 的角色 .164
5.5.10 使用流式处理来填充RDS 164
5.5.11 用来指导领域的控制措施和政策 165
5.6 作为运营支撑的流式处理 .166
5.7 保证与一致性 167
5.7.1 一致性水平 .167
5.7.2 “至少一次、恰好一次和至多一次”的处理 167
5.7.3 消息顺序 168
5.7.4 死信队列 168
5.7.5 流式处理的互操作性169
5.8 用于治理和自助服务模型的元数据170
5.9 小结 171
第6 章 将知识串联起来 173
6.1 架构回顾.173
6.1.1 RDS 架构 .174
6.1.2 API 架构 174
6.1.3 流式架构 175
6.1.4 强化模式 175
6.2 企业互操作性标准 .177
6.2.1 稳定的数据端点 .178
6.2.2 数据交付契约 .181
6.2.3 可访问和可寻址的数据 .182
6.2.4 跨网络原则 .182
6.3 企业数据标准 188
6.3.1 消费优化原则 .189
6.3.2 元数据的可发现性 192
6.3.3 语义一致性 .196
6.3.4 提供相应的元数据 200
6.3.5 数据来源与移动 200
6.4 参考架构.203
6.5 小结 204
第7 章 可持续的数据治理与数据安全 207
7.1 数据治理.207
7.1.1 组织:数据治理的角色 .209
7.1.2 流程:数据治理的活动 .212
7.1.3 人员:信任与道德、社会和经济的考量 214
7.1.4 技术:黄金数据源,所有权和应用程序管理 214
7.1.5 数据:黄金数据源,黄金源数据集和分类 .216
7.2 数据安全.224
7.2.1 时下的孤岛方法 225
7.2.2 架构的统一数据安全225
7.2.3 身份提供者 .227
7.2.4 安全参考架构和数据上下文方法 .228
7.2.5 安全处理流程 .230
7.3 实践指南.234
7.3.1 RDS 架构 .234
7.3.2 API 架构 236
7.3.3 流式架构 240
7.3.4 智能学习引擎 .241
7.4 小结 242
第8 章 从数据获取价值 243
8.1 消费模式.244
8.1.1 直接使用只读数据存储 .244
8.1.2 领域数据存储 .245
8.2 目标运营模式 247
8.3 作为目标用户群体的数据专业人员248
8.4 业务需求.250
8.5 非功能性需求 250
8.6 创建数据管道和数据模型 .252
8.7 分发集成数据 259
8.8 商业智能能力 260
8.9 自助服务能力 262
8.10 分析能力 265
8.10.1 自动化部署的标准基础设施 266
8.10.2 无状态模型266
8.10.3 预设和配置好的工作台 266
8.10.4 模型集成模式的标准化 267
8.10.5 自动化 .268
8.10.6 模型元数据268
8.11 高级分析参考架构 270
8.12 小结 273
第9 章 掌握企业数据资产 275
9.1 揭秘主数据管理 .276
9.2 主数据管理风格 .276
9.3 主数据管理参考架构 278
9.3.1 设计主数据管理解决方案 279
9.3.2 MDM 的分发 281
9.3.3 主标识号 281
9.3.4 参考数据与主数据 282
9.4 确定企业数据的范围 283
9.5 MDM 和数据质量即服务 286
9.6 精选数据.286
9.6.1 元数据交换 .287
9.6.2 集成视图 288
9.6.3 可复用组件和集成逻辑 .288
9.6.4 数据重新发布 .289
9.7 与数据治理的关系 .290
9.8 小结 290
第10 章 通过元数据实现数据民主化 293
10.1 元数据管理 .294
10.2 企业元数据模型 295
10.3 企业知识图谱 303
10.4 元数据管理的架构方法 307
10.4.1 元数据互操作性 .308
10.4.2 元数据存储库 310
10.5 能提供快速访问授权数据的市场 313
10.6 小结 316
第11 章 结论 317
11.1 交付模式 318
11.1.1 完全去中心化方案 319
11.1.2 部分去中心化方案 320
11.1.3 构建团队 320
11.1.4 内部开源策略 321
11.2 文化 322
11.3 技术选择 323
11.4 传统企业架构的没落 .324
11.4.1 蓝图和图表 324
11.4.2 现代技能 325
11.4.3 控制和管理 325
11.5 最后的话 326
术语 . 327