前言
近些年來,很多企業(yè)開始嘗試使用大數(shù)據(jù)和云技術來構建數(shù)據(jù)湖(data lake),用于支持數(shù)據(jù)驅動的企業(yè)文化和決策,但這些項目經常會陷入停滯甚至失敗。因為很多互聯(lián)網(wǎng)公司的工作方式未必適合這些企業(yè),而市面上又沒有全面實用的指南來指導大家如何進行相應的調整。在這個背景下我寫了這本書,目的是希望能在這方面提供幫助。
我曾在IBM 和Informatica(主要的數(shù)據(jù)技術供應商)任管理職務,在Menlo Ventures(一家領先的VC 公司)擔任常駐企業(yè)家,目前是Waterline(一家大數(shù)據(jù)初創(chuàng)企業(yè))的創(chuàng)始人兼CTO,在此期間我有幸能和上百位專家、有想法的人、行業(yè)分析師以及一線從業(yè)者討論關于成功建立數(shù)據(jù)湖、培養(yǎng)數(shù)據(jù)驅動文化的挑戰(zhàn)。本書正是我對各個行業(yè)(從社交媒體到銀行和政府機構)和各種角色(從首席數(shù)據(jù)官和其他IT 主管到數(shù)據(jù)架構師、數(shù)據(jù)科學家和業(yè)務分析師)將會遇到的不同場景及其最佳實踐的總結。
大數(shù)據(jù)、數(shù)據(jù)科學和數(shù)據(jù)分析實現(xiàn)了數(shù)據(jù)驅動決策,并有望在許多方面帶來前所未有的洞察力和效率,例如我們處理數(shù)據(jù)的方式、與客戶合作的方式以及尋找治愈癌癥的方法,但數(shù)據(jù)科學和數(shù)據(jù)分析都需要訪問歷史數(shù)據(jù)。認識到了這一點,許多公司開始部署大數(shù)據(jù)湖,將所有數(shù)據(jù)集中在一個地方并開始保存歷史記錄,使得數(shù)據(jù)科學家和分析人員可以訪問他們需要的信息,以實現(xiàn)數(shù)據(jù)驅動的決策。企業(yè)大數(shù)據(jù)湖彌合了不同的現(xiàn)代互聯(lián)網(wǎng)公司自由文化之間的鴻溝,在這種統(tǒng)一的文化中,數(shù)據(jù)是所有實踐的核心,每個人都是分析師,大部分人都可以對自己的數(shù)據(jù)集進行編碼和處理。
想要取得成功,企業(yè)數(shù)據(jù)湖必須提供三項新的能力:
?? 高性價比、可擴展的存儲和計算能力,用于在存儲和分析大量數(shù)據(jù)的同時不至于引入過高的計算開銷。
?? 經濟高效的數(shù)據(jù)獲取和治理方式,使得每個人在查找和使用正確數(shù)據(jù)的同時避免進行編程或手工臨時取數(shù),從而避免引入過高的人力成本。
?? 分層的、受管理的訪問方式,根據(jù)不同的用戶需求、技術水平和適用的數(shù)據(jù)管理策略,不同級別的數(shù)據(jù)可供不同用戶使用。
Hadoop、Spark、NoSQL 數(shù)據(jù)庫和基于彈性云的系統(tǒng)是令人興奮的新技術,它們提供了第一項能力——高性價比、可擴展的存儲和計算能力。雖然它們仍處在逐漸成熟的過程中,并面臨著任何新技術固有的一些挑戰(zhàn),但它們已迅速趨向穩(wěn)定并成為主流。然而這些強大的技術并不能提供另外兩項能力——經濟高效和分層數(shù)據(jù)訪問。因此,當企業(yè)創(chuàng)建大型集群并收集大量數(shù)據(jù)后,最終得到的是數(shù)據(jù)沼澤而不是數(shù)據(jù)湖。這是由不可用數(shù)據(jù)集組成的大型存儲庫,人們無法查找或理解這些數(shù)據(jù)集,也無法依賴它做任何決策,因為這太危險了。
本書主要講解為全面實現(xiàn)大數(shù)據(jù)湖的三項能力所經歷的思考以及最佳實踐,討論了創(chuàng)建和發(fā)展數(shù)據(jù)湖的各種方法,包括數(shù)據(jù)水洼(data puddle,用作分析沙盒)和數(shù)據(jù)池(data pond,用作大數(shù)據(jù)倉庫),以及從零開始構建數(shù)據(jù)湖的方法。書中探討了自建、云上和虛擬三種不同體系結構數(shù)據(jù)湖的優(yōu)缺點,內容包括如何建立不同的區(qū)域來存儲原始未處理的數(shù)據(jù)、精心管理和匯總的數(shù)據(jù),以及如何管理對這些區(qū)域的訪問。它解釋了如何啟用自助服務以便用戶能夠自助查找、理解和取用數(shù)據(jù),如何為具有不同技術能力的用戶提供不同的交互,以及如何在此過程中不違反企業(yè)的數(shù)據(jù)管理政策。
目標讀者
本書的目標讀者是在大型傳統(tǒng)企業(yè)工作的下面這幾類人員:
?? 數(shù)據(jù)服務和治理團隊:首席數(shù)據(jù)官和數(shù)據(jù)管理員。
?? IT 主管和架構師:首席技術官和大數(shù)據(jù)架構師。
?? 分析團隊:數(shù)據(jù)科學家、數(shù)據(jù)工程師、數(shù)據(jù)分析師和分析主管。
?? 合規(guī)團隊:首席信息安全官、數(shù)據(jù)保護官、信息安全分析師和合規(guī)檢查主管。
本書內容得益于我在30 年的職業(yè)生涯中接觸過的先進數(shù)據(jù)技術,以及幫助世界上那些超大型企業(yè)解決過的棘手數(shù)據(jù)問題。它借鑒了世界領先的大數(shù)據(jù)公司和企業(yè)的最佳實踐,以及來自一線從業(yè)者和行業(yè)專家的短文和成功案例,為成功構建和部署大數(shù)據(jù)湖提供了全面的指導。如果你想充分利用這些令人興奮的新型大數(shù)據(jù)技術和方法給企業(yè)帶來優(yōu)勢,那么本書是一個很好的起點。對于管理層來說,他們可以先讀一遍此書,當工作中遇到大數(shù)據(jù)問題時再來翻閱。對于一線從業(yè)者來說,他們可以將此書作為規(guī)劃和執(zhí)行大數(shù)據(jù)湖項目的實用參考。
排版約定
本書采用下述排版約定。
斜體(Italic)
表示新術語、URL、電子郵件地址、文件名和擴展名。
等寬字體(Constant Width)
表示程序清單,在段落中出現(xiàn)則表示程序元素,例如變量、函數(shù)名、數(shù)據(jù)類型、環(huán)境變量、語句和關鍵字。
斜體等寬字體(Constant Width Italic)
表示應該替換成用戶提供的值,或者由上下文決定的值。
O’Reilly 在線學習平臺(O’Reilly Online Learning)
近40 年來,O’Reilly Media 致力于提供技術和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。
我們擁有獨一無二的專家和革新者組成的龐大網(wǎng)絡,他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經驗。O’Reilly 的在線學習平臺允許你按需訪問現(xiàn)場培訓課程、深入的學習路徑、交互式編程環(huán)境,以及O’Reilly 和200 多家其他出版商提供的大量文本和視頻資源。有關的更多信息,請訪問http://oreilly.com。
聯(lián)系我們
請把對本書的評價和問題發(fā)給出版社。
美國:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中國:
北京市西城區(qū)西直門南大街2號成銘大廈C座807室(100035)
奧萊利技術咨詢(北京)有限公司
這本書有專屬網(wǎng)頁,你可以在那兒找到本書的勘誤、示例和其他信息,地址是:http://bit.ly/Enterprise-Big-Data-Lake。
如果你對本書有一些評論或技術上的建議, 請發(fā)送電子郵件到bookquestions@oreilly.com。
要了解O’Reilly 圖書、培訓課程、會議和新聞的更多信息,請訪問我們的網(wǎng)站,地址是:http://www.oreilly.com。
我們的Facebook:http://facebook.com/oreilly。
我們的Twitter:http://twitter.com/oreillymedia。
我們的YouTube 視頻: http://www.youtube.com/oreillymedia。
致謝
首先我要對所有與我分享故事、專業(yè)知識和最佳實踐的專家和從業(yè)者們表示深深的感謝,這是一本關于你們的書,也是為你們而寫的書!
此外也非常感謝所有幫助我完成本書書寫的人,這是我的第一本書,沒有你們的幫助我肯定無法完成。感謝:
O’Reilly 團隊:我的O’Reilly 編輯Andy Oram,他在我精疲力竭的時候為本書注入了新的活力,并幫助它從意識流轉變?yōu)檫B貫的內容;產品編輯Tim McGovern,他幫助此書出版;文案編輯Rachel Head,她讓我震驚的是,即便經過了兩年多的寫作、編輯、重寫、評論,以及反復的修改與重寫,這本書仍然可以改進那么多。
通過短文分享了自己想法和最佳實踐的行業(yè)貢獻者,你可以在書中相應論文旁找到他們的名字和履歷。
以全新的視角、批判性的眼光和行業(yè)專業(yè)知識為本書做出巨大改進的審校者:Sanjeev Mohan、Opinder Bawa 和Nicole Schwartz。
最后,感謝我的妻子Irina,我的孩子Hannah、Jane、Lisa 和John,我的媽媽Regina,我的朋友以及Waterline 大家庭的各位。如果沒有你們的支持和愛,就不會有這本書。
前言 1
第1 章 數(shù)據(jù)湖概述 7
數(shù)據(jù)湖的成熟度 9
數(shù)據(jù)水洼 11
數(shù)據(jù)池 12
創(chuàng)建成功的數(shù)據(jù)湖 12
適合的平臺 13
適合的數(shù)據(jù) 14
適合的界面 16
數(shù)據(jù)沼澤 18
成功實施數(shù)據(jù)湖的路線圖 20
建立數(shù)據(jù)湖 20
規(guī)劃數(shù)據(jù)湖 21
構建自助服務的數(shù)據(jù)湖 23
構建數(shù)據(jù)湖 28
云上數(shù)據(jù)湖 29
邏輯數(shù)據(jù)湖 29
小結 34
第2 章 歷史背景 35
數(shù)據(jù)自助服務驅動——數(shù)據(jù)庫的誕生 36
分析必要性驅動——數(shù)據(jù)倉庫的誕生 39
數(shù)據(jù)倉庫生態(tài)系統(tǒng) 40
存儲和查詢數(shù)據(jù) 41
加載數(shù)據(jù)——數(shù)據(jù)集成工具 47
組織和管理數(shù)據(jù) 51
消費數(shù)據(jù) 57
小結 58
第3 章 大數(shù)據(jù)和數(shù)據(jù)科學概述 59
Hadoop 引領大數(shù)據(jù)的歷史性轉變 60
Hadoop 文件系統(tǒng) 60
MapReduce 作業(yè)中計算和存儲如何交互 61
Schema on Read 63
Hadoop 項目 64
數(shù)據(jù)科學 65
你的分析機構應該關注什么? 67
機器學習 71
可解釋性 72
變更管理 73
小結 74
第4 章 建立數(shù)據(jù)湖 75
為什么是Hadoop 75
防止數(shù)據(jù)水洼擴散 78
利用大數(shù)據(jù)的優(yōu)勢 79
以數(shù)據(jù)科學為先導 80
策略1: 遷移已有功能 83
策略2: 為新項目建立數(shù)據(jù)湖 85
策略3: 建立數(shù)據(jù)治理中心 85
哪種策略最適合你? 86
小結 88
第5 章 從數(shù)據(jù)池/ 大數(shù)據(jù)倉庫到數(shù)據(jù)湖 89
數(shù)據(jù)倉庫的基本功能 90
用于分析的維度模型 91
整合不同源的數(shù)據(jù) 92
使用緩慢變化維保存歷史記錄 93
數(shù)據(jù)倉庫作為歷史庫的局限性 93
遷移至數(shù)據(jù)池 94
數(shù)據(jù)池中保存歷史數(shù)據(jù) 94
在數(shù)據(jù)池中使用緩慢變化維 96
數(shù)據(jù)池演化為數(shù)據(jù)湖——加載數(shù)據(jù)倉庫中未包含的數(shù)據(jù) 98
原始數(shù)據(jù) 98
外部數(shù)據(jù) 99
IoT 與其他流式數(shù)據(jù) 102
實時數(shù)據(jù)湖 103
Lambda 架構 105
數(shù)據(jù)轉換 106
目標系統(tǒng) 108
數(shù)據(jù)倉庫 109
業(yè)務數(shù)據(jù)存儲 109
實時應用和數(shù)據(jù)產品 110
小結 111
第6 章 自助服務優(yōu)化 112
自助服務起源 113
業(yè)務分析師 115
發(fā)現(xiàn)和理解數(shù)據(jù)——企業(yè)數(shù)據(jù)歸檔 116
建立信任 119
數(shù)據(jù)預置 126
為分析準備數(shù)據(jù) 128
數(shù)據(jù)湖數(shù)據(jù)整理 129
用Hadoop 來準備數(shù)據(jù) 129
數(shù)據(jù)預處理的常見案例 130
分析和可視化 133
自助式商業(yè)智能的新世界 133
新的分析工作流 134
門衛(wèi)向店主的角色轉變 136
管理自助服務 137
小結 137
第7 章 數(shù)據(jù)湖架構 139
規(guī)劃數(shù)據(jù)湖 139
原始區(qū) 141
產品區(qū) 142
工作區(qū) 144
敏感區(qū) 145
多數(shù)據(jù)湖 146
保持各數(shù)據(jù)湖獨立的優(yōu)勢 147
合并多數(shù)據(jù)湖的優(yōu)勢 147
云上數(shù)據(jù)湖 148
虛擬數(shù)據(jù)湖 151
數(shù)據(jù)聯(lián)邦 151
大數(shù)據(jù)虛擬化 152
消除冗余 154
小結 156
第8 章 數(shù)據(jù)湖元數(shù)據(jù) 157
組織數(shù)據(jù) 157
技術元數(shù)據(jù) 159
業(yè)務元數(shù)據(jù) 164
打標 166
自動編目 167
邏輯數(shù)據(jù)管理 169
敏感數(shù)據(jù)管理和訪問控制 169
數(shù)據(jù)質量 170
連接分散的數(shù)據(jù) 172
建立血緣關系 174
數(shù)據(jù)預置 176
創(chuàng)建目錄的工具 176
工具對比 177
數(shù)據(jù)洋 178
小結 179
第9 章 數(shù)據(jù)訪問控制 180
授權與訪問控制 181
基于標簽的控制策略 182
數(shù)據(jù)脫敏 186
數(shù)據(jù)主權與法規(guī) 189
自助服務訪問管理 191
預置數(shù)據(jù) 196
小結 204
第10 章 行業(yè)案例 205
金融服務大數(shù)據(jù) 206
消費者、數(shù)字化和數(shù)據(jù)正在改變我們所熟知的金融行業(yè) 206
拯救銀行 208
新數(shù)據(jù)提供新機遇 212
使用數(shù)據(jù)湖的關鍵過程 215
數(shù)據(jù)湖為金融服務領域帶來的價值 218
保險行業(yè)中的數(shù)據(jù)湖 220
智慧城市 222
醫(yī)療大數(shù)據(jù) 224
作者介紹 227
封面介紹 227