Foreword |
|
xi | |
Preface |
|
xiii | |
|
1 The Journey to Becoming Data-Driven |
|
|
1 | (24) |
|
Recent Technology Developments and Industry Trends |
|
|
2 | (2) |
|
|
4 | (4) |
|
Analytics Is Fragmenting the Data Landscape |
|
|
8 | (1) |
|
The Speed of Software Delivery Is Changing |
|
|
9 | (1) |
|
The Cloud's Impact on Data Management Is Immeasurable |
|
|
10 | (1) |
|
Privacy and Security Concerns Are a Top Priority |
|
|
11 | (1) |
|
Operational and Analytical Systems Need to Be Integrated |
|
|
12 | (1) |
|
Organizations Operate in Collaborative Ecosystems |
|
|
13 | (1) |
|
Enterprises Are Saddled with Outdated Data Architectures |
|
|
14 | (1) |
|
The Enterprise Data Warehouse: A Single Source of Truth |
|
|
14 | (3) |
|
The Data Lake: A Centralized Repository for Structured and Unstructured Data |
|
|
17 | (1) |
|
The Pain of Centralization |
|
|
18 | (1) |
|
|
19 | (3) |
|
|
22 | (3) |
|
2 Organizing Data Using Data Domains |
|
|
25 | (36) |
|
Application Design Starting Points |
|
|
26 | (1) |
|
Each Application Has a Data Store |
|
|
26 | (1) |
|
Applications Are Always Unique |
|
|
26 | (1) |
|
|
26 | (1) |
|
The Data Integration Dilemma |
|
|
27 | (1) |
|
|
27 | (2) |
|
Inspirations from Software Architecture |
|
|
29 | (3) |
|
|
32 | (1) |
|
|
32 | (3) |
|
|
35 | (10) |
|
|
45 | (5) |
|
Principles for Distributed and Domain-Oriented Data Management |
|
|
50 | (1) |
|
Design Principles for Data Domains |
|
|
51 | (2) |
|
Best Practices for Data Providers |
|
|
53 | (2) |
|
Domain Ownership Responsibilities |
|
|
55 | (1) |
|
Transitioning Toward Distributed and Domain-Oriented Data Management |
|
|
56 | (1) |
|
|
57 | (4) |
|
3 Mapping Domains to a Technology Architecture |
|
|
61 | (38) |
|
Domain Topologies: Managing Problem Spaces |
|
|
62 | (1) |
|
Fully Federated Domain Topology |
|
|
62 | (4) |
|
|
66 | (3) |
|
Partially Federated Domain Topology |
|
|
69 | (1) |
|
Value Chain-Aligned Domain Topology |
|
|
70 | (1) |
|
Coarse-Grained Domain Topology |
|
|
71 | (2) |
|
Coarse-Grained and Partially Governed Domain Topology |
|
|
73 | (1) |
|
Centralized Domain Topology |
|
|
74 | (3) |
|
Picking the Right Topology |
|
|
77 | (1) |
|
Landing Zone Topologies: Managing Solution Spaces |
|
|
78 | (2) |
|
|
80 | (7) |
|
Source- and Consumer-Aligned Landing Zones |
|
|
87 | (1) |
|
|
88 | (1) |
|
Multiple Data Landing Zones |
|
|
89 | (3) |
|
Multiple Data Management Landing Zones |
|
|
92 | (1) |
|
Practical Landing Zones Example |
|
|
93 | (2) |
|
|
95 | (4) |
|
4 Data Product Management |
|
|
99 | (44) |
|
|
99 | (1) |
|
Problems with Combining Code, Data, Metadata, and Infrastructure |
|
|
100 | (1) |
|
Data Products as Logical Entities |
|
|
101 | (2) |
|
Data Product Design Patterns |
|
|
103 | (1) |
|
|
104 | (2) |
|
Read Replicas as Data Products |
|
|
106 | (1) |
|
Design Principles for Data Products |
|
|
107 | (1) |
|
Resource-Oriented Read-Optimized Design |
|
|
108 | (1) |
|
Data Product Data Is Immutable |
|
|
109 | (1) |
|
Using the Ubiquitous Language |
|
|
109 | (1) |
|
Capture Directly from the Source |
|
|
110 | (1) |
|
Clear Interoperability Standards |
|
|
110 | (1) |
|
|
110 | (1) |
|
Don't Conform to Consumers |
|
|
111 | (1) |
|
Missing Values, Defaults, and Data Types |
|
|
112 | (1) |
|
|
112 | (1) |
|
|
112 | (1) |
|
|
113 | (1) |
|
Abstract Volatile Reference Data |
|
|
113 | (1) |
|
New Data Means New Ownership |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
114 | (1) |
|
|
115 | (1) |
|
Cross-Domain Relationships |
|
|
115 | (1) |
|
|
115 | (1) |
|
Historization, Redeliveries, and Overwrites |
|
|
116 | (1) |
|
Business Capabilities with Multiple Owners |
|
|
116 | (1) |
|
|
116 | (1) |
|
Data Product Architecture |
|
|
117 | (1) |
|
High-Level Platform Design |
|
|
117 | (2) |
|
Capabilities for Capturing and Onboarding Data |
|
|
119 | (2) |
|
|
121 | (1) |
|
|
122 | (5) |
|
|
127 | (2) |
|
|
129 | (4) |
|
Alignment with Storage Accounts |
|
|
133 | (1) |
|
Alignment with Data Pipelines |
|
|
134 | (1) |
|
Capabilities for Serving Data |
|
|
135 | (1) |
|
|
136 | (1) |
|
File Manipulation Service |
|
|
137 | (1) |
|
De-Identification Service |
|
|
137 | (1) |
|
Distributed Orchestration |
|
|
138 | (1) |
|
Intelligent Consumption Services |
|
|
138 | (1) |
|
Direct Usage Considerations |
|
|
139 | (1) |
|
|
139 | (1) |
|
|
140 | (3) |
|
5 Services and API Management |
|
|
143 | (30) |
|
Introducing API Management |
|
|
144 | (1) |
|
What Is Service-Oriented Architecture? |
|
|
145 | (3) |
|
Enterprise Application Integration |
|
|
148 | (2) |
|
|
150 | (3) |
|
|
153 | (1) |
|
Public Services and Private Services |
|
|
154 | (1) |
|
Service Models and Canonical Data Models |
|
|
154 | (1) |
|
Parallels with Enterprise Data Warehousing Architecture |
|
|
155 | (2) |
|
A Modern View of API Management |
|
|
157 | (1) |
|
Federated Responsibility Model |
|
|
157 | (1) |
|
|
158 | (2) |
|
|
160 | (1) |
|
|
160 | (1) |
|
|
161 | (1) |
|
|
161 | (1) |
|
|
161 | (1) |
|
|
162 | (1) |
|
|
162 | (2) |
|
Microservice Domain Boundaries |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
167 | (2) |
|
|
169 | (1) |
|
Read-Oriented APIs Serving Data Products |
|
|
170 | (1) |
|
|
170 | (3) |
|
6 Event and Notification Management |
|
|
173 | (28) |
|
|
174 | (1) |
|
Notifications Versus Carried State |
|
|
175 | (1) |
|
The Asynchronous Communication Model |
|
|
176 | (1) |
|
What Do Modern Event-Driven Architectures Look Like? |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
177 | (2) |
|
|
179 | (1) |
|
|
180 | (2) |
|
|
182 | (2) |
|
Event Streaming Platforms |
|
|
184 | (7) |
|
|
191 | (1) |
|
Event Stores as Data Product Stores |
|
|
192 | (1) |
|
Event Stores as Application Backends |
|
|
193 | (1) |
|
Streaming as the Operational Backbone |
|
|
193 | (1) |
|
Guarantees and Consistency |
|
|
194 | (1) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
196 | (1) |
|
|
196 | (1) |
|
Streaming Interoperability |
|
|
196 | (1) |
|
Governance and Self-Service |
|
|
197 | (1) |
|
|
198 | (3) |
|
|
201 | (22) |
|
Cross-Domain Interoperability |
|
|
202 | (1) |
|
|
203 | (1) |
|
Data Distribution Versus Application Integration |
|
|
204 | (1) |
|
Data Distribution Patterns |
|
|
205 | (1) |
|
Application Integration Patterns |
|
|
206 | (2) |
|
Consistency and Discoverability |
|
|
208 | (4) |
|
Inspiring, Motivating, and Guiding for Change |
|
|
212 | (1) |
|
Setting Domain Boundaries |
|
|
213 | (2) |
|
|
215 | (1) |
|
Organizational Transformation |
|
|
216 | (2) |
|
|
218 | (3) |
|
|
221 | (1) |
|
|
222 | (1) |
|
8 Data Governance and Data Security |
|
|
223 | (40) |
|
|
223 | (1) |
|
|
224 | (6) |
|
Processes: Data Governance Activities |
|
|
230 | (1) |
|
Making Governance Effective and Pragmatic |
|
|
231 | (3) |
|
Supporting Services for Data Governance |
|
|
234 | (2) |
|
|
236 | (5) |
|
|
241 | (1) |
|
|
241 | (1) |
|
|
242 | (1) |
|
Data Classifications and Labels |
|
|
243 | (1) |
|
Data Usage Classifications |
|
|
244 | (1) |
|
|
245 | (3) |
|
|
248 | (1) |
|
|
248 | (3) |
|
Typical Security Process Flow |
|
|
251 | (5) |
|
Securing API-Based Architectures |
|
|
256 | (3) |
|
Securing Event-Driven Architectures |
|
|
259 | (1) |
|
|
260 | (3) |
|
9 Democratizing Data with Metadata |
|
|
263 | (28) |
|
|
265 | (1) |
|
The Enterprise Metadata Model |
|
|
266 | (1) |
|
Practical Example of a Metamodel |
|
|
267 | (2) |
|
Data Domains and Data Products |
|
|
269 | (1) |
|
|
270 | (5) |
|
|
275 | (1) |
|
|
275 | (2) |
|
The Metalake Architecture |
|
|
277 | (1) |
|
|
277 | (2) |
|
Role of the Knowledge Graph |
|
|
279 | (9) |
|
|
288 | (3) |
|
10 Modern Master Data Management |
|
|
291 | (20) |
|
Master Data Management Styles |
|
|
293 | (2) |
|
|
295 | (1) |
|
Designing a Master Data Management Solution |
|
|
296 | (1) |
|
Domain-Oriented Master Data Management |
|
|
297 | (1) |
|
|
297 | (2) |
|
|
299 | (3) |
|
MDM and Data Quality as a Service |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
304 | (1) |
|
|
305 | (1) |
|
Reusable Components and Integration Logic |
|
|
305 | (1) |
|
Republishing Data Through Integration Hubs |
|
|
305 | (1) |
|
Republishing Data Through Aggregates |
|
|
306 | (2) |
|
Data Governance Recommendations |
|
|
308 | (1) |
|
|
309 | (2) |
|
11 Turning Data into Value |
|
|
311 | (38) |
|
The Challenges of Turning Data into Value |
|
|
312 | (2) |
|
|
314 | (4) |
|
Granularity of Consumer-Aligned Use Cases |
|
|
318 | (2) |
|
DDSs Versus Data Products |
|
|
320 | (2) |
|
|
322 | (1) |
|
|
322 | (1) |
|
Target Audience and Operating Model |
|
|
323 | (1) |
|
Nonfunctional Requirements |
|
|
324 | (2) |
|
Data Pipelines and Data Models |
|
|
326 | (3) |
|
Scoping the Role Your DDSs Play |
|
|
329 | (2) |
|
|
331 | (1) |
|
|
331 | (2) |
|
Self-Service Tools and Data |
|
|
333 | (2) |
|
|
335 | (1) |
|
Advanced Analytics (MLOps) |
|
|
336 | (3) |
|
|
339 | (1) |
|
Experimentation and Tracking |
|
|
340 | (2) |
|
|
342 | (1) |
|
|
343 | (1) |
|
|
344 | (1) |
|
|
345 | (4) |
|
12 Putting Theory into Practice |
|
|
349 | (24) |
|
A Brief Reflection on Your Data Journey |
|
|
349 | (1) |
|
Centralized or Decentralized? |
|
|
350 | (1) |
|
|
351 | (1) |
|
Opportunistic Phase: Set Strategic Direction |
|
|
351 | (5) |
|
Transformation Phase: Lay Out the Foundation |
|
|
356 | (5) |
|
Optimization Phase: Professionalize Your Capabilities |
|
|
361 | (4) |
|
|
365 | (1) |
|
|
365 | (4) |
|
|
369 | (1) |
|
The Role of Enterprise Architects |
|
|
369 | (1) |
|
|
370 | (1) |
|
|
370 | (1) |
|
|
370 | (1) |
|
|
371 | (2) |
Index |
|
373 | |