本書的主要內容有:研究數據管理趨勢,包括技術發展、法規要求和隱私問題。深?了解可拓展架構,學習各組件之間如何協同?作。探索數據治理和數據安全、主數據管理、?助式數據市場,以及元數據的重要性。
編輯推薦
隨著數據管理和集成持續不斷地快速進化,把所有的數據存儲在像數據倉庫等單?位置的辦法不再有可拓展性。在不久的將來,數據需要分散式存儲并對多個技術解決?案提供可?性。通過這本實?指南,你將學習如何將企業從復雜且緊密耦合的數據環境遷移到?個更靈活的架構,以適應現代數據消費的需求。
企業?管、數據架構師、分析團隊,以及合規與治理?員將學習如何使?可拓展架構來構建現代可拓展的數據環境。這種架構可以逐步引???需?規模的前期投?。本書作者提供了藍圖、原則、觀察、最z佳實踐及模式,幫助你快速掌握相關知識。
專家推薦
這?蘊含著智慧:新舊的?法論和最z佳實踐在這?被平衡地運?,這得益于長期實踐的經驗。最z棒的是施特倫霍爾特展?了新?代企業數據管理是?項團隊活動,解決?案需要包容并對接到所有參與者。
Joe Hellerstein,
Trifacta的共同創始?及CSO
在這本創新的著作中,Piethein Strengholt提出了?種全新的?法,來構建數據管理領域的架構。這本書將指導并啟發那些在2020年之后負責設計數據管理架構的?們。
Santhosh Pillai,
荷蘭銀?總架構師兼
數據管理負責?
前言近年來數字化已經極大地改變了我們的生活方式,社交媒體、流媒體直播和智能手機僅僅是冰山一角,而且這個變化速度仍在加快。數字化轉型影響到音樂和電視、購物和旅游等許多行業,同時在人工智能和機器學習的推動下,像無人機和自動駕駛汽車這樣的自動化機器(autonomous machine)的也在迅速增長。那么是什么推動了這個數字社會的發展呢?答案是數據。在20 世紀,石油曾是世界上最有價值的資源。如今,數據成為了新的石油。隨著分析的增長,對數據的需求遲早會達到我們前所未見的水平。同時,數據不僅在飛速擴充而且變得愈加復雜。云計算、API 管理、微服務、開放數據、軟件即服務(SaaS)以及新的軟件交付模式等也正在興起,過去幾年涌現了無數新的數據庫和分析應用程序。這些大量新的數據處理方法不斷分化(fragment)數字景觀。我們看到了更多的點對點接口、無休止的關于數據質量和所有權的討論,以及眾多與隱私和安全有關的道德和法律困境。敏捷性、系統長期的穩定性和清晰的數據治理的理念與迅速發展新業務的需求互相沖突。我們行業迫切需要一個關于數據管理和數據集成未來發展的清晰愿景。本書關于數據管理和數據集成的觀點得益于我的個人經驗。作為一家大型企業的首席數據架構師,我推動了數據架構議程。這一角色幫助我清楚地看到了良好的數據策略可以對大型組織產生何種影響。在這之前,我還曾擔任戰略顧問,設計了許多架構,并參與了大型數據管理項目,同時作為自由職業應用開發人員將這些心得付諸實踐。簡而言之,我在最近十年一直在尋找能幫助企業成為數據驅動的最佳方案。如今,我的雇主荷蘭銀行(ABO AMRO)注1 正在構建大家描述的未來狀態架構注2。我們已經將本書的想法付諸于生產,并從實踐中積累經驗。我知道并且已經了解了其中哪些行之有效,哪些無效。這些經驗使我能為你呈現一種開創性的數據管理和數據集成方法,此方法遠遠超越了傳統方法。在這里,你將發現新的方法和發展趨勢正不斷相互對接和融合,這其中包括了企業架構、業務架構、軟件架構、領域驅動設計、應用集成、微服務和云計算。本書是一本關于構建現代化、可拓展數據景觀的綜合指南。它提供了豐富的藍圖、原則、標準化模式、觀察、示例和最佳實踐。它將教你如何避開復雜且緊密耦合的數據景觀陷阱,以及怎樣把敏捷和控制注入組織的DNA 中。它從多個盡可能新的角度審視了數據管理和數據集成。你可以根據你組織的成熟情況來選擇適合自己的操作。無數的公司在如何妥善進行數據管理方面失敗了,考慮到持續變化的數據景觀、迅猛增加的數據量和隨之而來的集成挑戰,這是可以理解的。在本書中我都牢記這點,并密切關注常見的障礙。值得一提的是,我設想的內容能通過許多不同的方式來實現。我將會提到一些產品和供應商,但總體理念還是保持技術中立譯注1。有些概念會特別復雜,所以很難開發。由于數據管理領域和數據集成在許多方面高度交織在一起,因此我將慢慢構建本書的愿景,從定義數據管理的核心學科開始,回顧整體架構,然后深入各個領域。我所設想的是一種持久的、現代的、基于領域的分布式架構,它能幫助組織快速找到和集成數據來滿足業務對敏捷性的需求,同時保持對數據的控制。我稱之為可拓展架構。可拓展架構和其他架構的不同之處在于它能務實地(pragmatically)得到創建。其各個組成部分可以獨立且逐步地設計,而無需大量的前期投資。這也是我所推薦的,從小處著手,觀察進展情況,然后繼續前進。這種方法與許多執行失敗的數據倉庫項目形成了鮮明對比,后者可能數年都無法產生價值。本書面向的讀者對象這個可拓展架構是為了大型企業服務的,然而較小的組織也可以從中發現很多有價值的內容。本書尤其適合于:? 管理層和架構師:首席數據官,首席科技官,企業架構師和數據架構師。? 合規以及監管團隊:首席信息安全官,數據保護官,信息安全分析師,數據專家和商業分析師。? 分析團隊:數據科學家,數據工程師,數據分析師,以及分析管理者。? 開發團隊:數據工程師,商業智能工程師,數據建模師和設計師以及其他數據專業人士。我能學到什么學完本書之后,你將理解:? 什么是數據管理及為何它很重要。? 哪些數據景觀的內容受到了業務和技術趨勢的影響。? 數據管理的核心部分是哪些,以及它們是如何互相影響的。? 如何大規模地管理復雜的數據景觀。? 為何數據集成如此困難。? 為何企業數據倉庫不再能滿足其目的。? 你需要哪些工具才能搭建大規模的數據架構。? 如何理解分發數據的核心模式、它們的特征和一些用例。? 在管理架構中元數據扮演了何種角色。? 如何在大規模應用中實施主數據和參考數據的管理。? 如何利用自助模式來擴展數據消費。? 混合云和跨網絡將如何影響你的架構。? 如何應用最佳實踐以及在各式環境下最適宜的模式。本書的組織結構本書第1 章提供了一個背景視角,它展示了什么是數據管理以及正在發生怎樣的變化。這個視角評估了2020 年初數據管理的當前狀態,并追溯了企業中央數據平臺的興起與衰落。在第2 章,我們將深入探討可拓展架構的細節。此章介紹了該架構,并為模型搭建提供了理論基礎。后續章節將討論構成整體數據架構的各種集成架構的具體細節,其中第3 章聚焦于只讀數據架構,第4 章討論API 架構,第5 章涵蓋流式架構。第6 章將所有內容整合在一起,提供了一個全面的總覽。隨后的章節將更深入地探討這種架構是如何運用數據管理和其各個分支更高級的內容。第7 章考察了即使在快速變化的時代,該如何以實用且可持續的方式處理數據治理和安全問題。第8 章討論了可拓展架構的業務案例,準確展示了它如何幫企業將數據轉化成價值。第9 章提供了關于使用主數據管理來保持分布式、廣泛資產中數據一致性的指導,而第10 章深入探討了元數據的使用、重要性以及民主化的潛力。第11 章以對數據管理和企業架構未來的展望結束了本書。排版約定本書使用了下述排版約定。斜體(Italic)表示新術語、URL、電子郵件地址、文件名擴展名。等寬字體(Constant Width)用于程序列表(program listing),以及在段落中引用程序元素,如變量或函數名稱、數據庫、數據類型、環境變量、語句和關鍵字。OReilly 在線學習平臺(OReilly Online Learning)近40 年來,OReilly Media 致力于提供技術和商業培訓、知識和卓越見解,來幫助眾多公司取得成功。公司獨有的專家和改革創新者網絡通過OReilly 書籍、文章以及在線學習平臺,分享他們的專業知識和實踐經驗。OReilly 在線學習平臺按照您的需要提供實時培訓課程、深入學習渠道、交互式編程環境以及來自OReilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請訪問網站:https://www.oreilly.com/。聯系我們任何有關本書的意見或疑問,請按照以下地址聯系出版社。美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區西直門南大街2 號成銘大廈C 座807 室(100035)奧萊利技術咨詢(北京)有限公司本書有一個專屬網頁,在那里我們列出了勘誤表、示例和任何附加信息。你可以通過https://oreil.ly/data-mgmt-at-scale 來訪問。如有意見或詢問技術問題請發送郵件至errata@oreilly.com.cn。如尋求關于我們書籍、課程、會議和消息的更多信息,請訪問我們的網站 http://www.oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:http://youtube.com/oreillymedia。致謝我想感謝Jessica Strengholt-geitenbeek 允許我來寫這本書。在這個寫作過程中,她一直支持我,照顧孩子并騰出空間讓我可以工作,她是我生活中的摯愛。我還想感謝ABN AMRO 銀行的首席架構師和數據管理負責人Santhosh Pillai,感謝他的信任和在我的職業生涯中的指導。很多想法源于他的思考。如果沒有他和我之間的無數的討論,這本書不會出現。此外,還有許多其他人給本書提供了支持和反饋:特別是Bas Van Gils、Danny Greefhorst、Gabriele Rossi、Noor Spanjaard、Bas Van Holsenbeck、Jacek Offierski、Robbert Naastepad、Neil Baxter,以及所有提供支持的人。最后我想感謝OReilly 團隊的所有人的支持和信任,他們非常杰出。Sarah Grey,和你一同工作非常愉快,你的積極能量、敏銳的觀察和開心的微笑激勵我完成這本書。Kim Sandoval,謝謝你的全局的宏觀視角,Katherine Tozer,非常感激你在最后階段對本書的管理。Michelle Smith 和Melissa Potter,感謝你們在入職期間的支持。
Piethein Strengholt喜愛為復雜問題尋找實?且持久的解決?案。在擔任戰略顧問和?由職業應?程序開發?員超過?年之久后,他作為?席架構師加?了荷蘭銀?(ABN AMRO),推進數據管理、云計算和系統集成等領域的發展。在這個激動??的職位上,他負責監督公司的數據戰略及其對組織的影響。他和家??前住在荷蘭。
目錄
序 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