我們不能用導致問題的方法去解決問題。
——Albert Einstein數以百萬計的電腦每時每刻都有數據注入。在全球范圍內,所有計算機上存儲的數據總量約為3000EB(約3000億GB),并正以每年28%的速度增加。盡管如此,與未被存儲的數據量相比,存儲下來的數據量仍是微不足道的。據統計,每年約有1.9ZB的數據傳輸量(約19 000億GB;見術語表,Binary sizes)1。日益紛繁復雜的數字化信息將引發新一代數據資源的涌現。
現在,我們有能力從各類資源中得到眾多不同類型的數據對象,也能夠獲取來自未來或遙遠過去的數據,這要求我們找到能夠準確描述每個數據片段的方法,這樣就不至于將數據項混淆,進而能夠在需要的時候搜索和追蹤對應的數據項。精明的信息學專家明白一個道理:如果要在我們的星球上精確地描述每一件事,必然需要一個“輔助星球”來掌控所有信息,同時后者也必然要比我們的物理星球大很多。
急于獲取和分析數據時,往往容易忽視數據的準備工作。如果大數據資源中的數據沒有得到有效的組織、綜合和準確的描述,那么這些數據資源將毫無價值。本書的首要目標是解釋大數據資源建立的原理。大數據資源中的所有數據必須具備某種形式以支持搜索、檢索和分析,分析方法必須可再現,分析結果必須可驗證。
大數據潛在的最大益處也許是它能夠連接一些看似無關的學科,從而開發和測試那些無法通過單個學科領域知識完成的假設性想法。
大數據到底是什么?大數據的特征可以通過三個V來描述:Volume(數據體量大)、Variety(數據類型多)和Velocity(處理速度快)2。大數據相關人士常常也會提出其他V,例如Vision(有目的和計劃)、Verification(確保數據符合規范)和Validation(核實目標已完成;見術語表,Validation)。
在有關元數據的文獻中已對很多大數據的基本原理進行了描述。這類文獻討論了數據描述形式(即如何描述數據)、數據描述語法(例如各種標記語言,如XML等)、語義(即如何用計算機可理解的陳述方式傳達數據的含義)、語義的表達語法(例如架構規范,如資源描述框架(RDF)和Web本體語言(OWL))、包含數據價值和自描述信息的數據對象的建立、本體的調度以及以數據對象為成員的類層次體系(見術語表,Specification,Semantics,Ontology,RDF,XML)。
對于在數據密集型領域已經取得成功的專家而言,研究元數據似乎是在浪費時間,因為他們對元數據的形式化沒有訴求。許多計算機科學家、統計學家、數據庫管理員和網絡專家可以毫不費力地處理大量的數據,也許他們不認為有必要為大數據資源創造一個“奇怪”的新數據模型。他們覺得自己真正需要的是更大的存儲容量和更強大的分布式計算機系統,憑借這些,他們就能存儲、檢索和分析體量越來越大的數據。然而,這種想法只有在系統使用的數據相對簡單或者具有統一標準格式時才適用。一旦大數據資源中的數據變得非常復雜多樣,元數據的重要性就會凸顯。我們將重點討論元數據中與大數據息息相關的思想和概念,并重點解釋這些思想和概念的必要性以及它們之間的相關性,但不會過于深究細節。
當數據的來源不同,形成許多不同的形式,大小還在增長,價值也在改變,那么當時間延伸到過去和未來時,這場比賽將從數據計算領域轉移到數據管理領域。希望本書能說服讀者,更快、更強大的計算機是很不錯,但這些設備不能彌補在數據準備工作中的不足之處。可以預見,大學、聯邦機構和公司將投入大量資金、時間和人力來嘗試研究大數據。但如果忽視基礎層面的事情,那么他們的項目很可能失敗。相反,如果重視大數據的基礎知識,則會發現大數據分析能夠在普通的計算機上較容易地執行。簡單來說,數據本身勝于計算,這也是整本書不斷重復的觀點。
在其他書籍中,一般會忽略與數據準備過程相關的三個至關重要的主題:標識符、不變性和內省。完善的標識符系統可以確保屬于某個特定數據對象的所有數據能夠通過標識符被正確地賦給該對象,而不是其他對象。這看起來很簡單,事實也確實如此,但多數大數據資源總是雜亂無章地分配標識符,致使與某個特定對象相關的信息分散在數據源的各個角落,甚至直接被錯誤地附加到其他對象中,于是當我們需要追蹤這些數據的時候已無能為力。對象標識的概念最為重要,因為在面對復雜的大數據資源時,該資源需要被有效地假設為一個唯一標識符集合。本書第2章討論了數據的標識符。 不變性是指被收集到大數據資源中的數據是永久的、不能被篡改的。乍一看,不變性是一個荒誕的和不可能的限制條件。在現實世界中,常有錯誤發生,信息會發生改變,而且描述信息改變的方法也會發生變化。但一個精明的數據管理員總是知道如何向數據對象中增加信息而不改變當前存在的數據,這些方法在本書第6章進行了詳細描述。
內省這個詞借用了面向對象的程序設計用語,在大數據的相關文獻中并不常見。它是指當數據對象被訪問時其自我描述的能力。借助內省,大數據資源的使用者能夠快速確定數據對象的內容和該對象的層次結構。內省允許使用者查看那些可被分析的數據關系類型,并弄清楚不同數據資源之間是如何交互的。本書第4章對內省進行了詳細講解。
本書的另一個主題是數據索引,這也是在大數據相關文獻中常被忽視的內容。盡管有很多書籍是基于所謂的書后索引編寫而成的,但是為大而雜的數據資源準備索引卻需要花費大量精力。因此,多數大數據資源根本沒有正式的索引。也許會有一個網頁來鏈接解釋性文件,又或者有一個簡短且粗糙的“幫助”索引,但很少能找到一個包含完善的、更新過的詞條列表和鏈接的大數據資源。在沒有合理索引的情況下,除了少部分行家外,大部分大數據資源對我們根本毫無用處。我很奇怪,有組織愿意花費數億美元在大數據資源上,卻不愿意投資數千美元來建立合理的索引。
在現有的關于大數據的文獻中很難找到上述四個主題,除此之外,本書也涵蓋了常見的與大數據設計、架構、操作和分析相關的其他主題,包括數據質量、數據標識、數據標準和互操作性問題、遺留數據、數據簡化和交換、數據分析和軟件問題等。針對這些主題,本書將重點討論其背后的基本原理,而并不關注編程和數學公式。本書給出了一個全面的術語表,涵蓋了書中出現的所有技術詞匯和專有詞匯。該術語表對與大數據實際相關的詞條進行了解釋說明,讀者可以視該術語表為一個獨立的文檔。
最后4個章節是非技術性的,當然內容上仍與我們討論的大數據資源的開發一致。這4個章節涉及法律、社會和倫理問題。本書最后以我個人對大數據未來及其對世界的影響的觀點作為結束。在準備本書時,我在想這4個章節放在本書的最前面是不是更合適,因為也許這樣能夠激發讀者對其他技術章節的興趣。最終,考慮到有些讀者不熟悉這些章節的技術語言和概念,因此我將它們放在了接近尾聲的地方。具有較強信息學背景的讀者從本書第12章開始閱讀也許更能體會到樂趣。
讀者也許會注意到本書中所描述的多數案例來自醫學信息學。當前,討論這一領域的時機已經成熟,因為每一個讀者在經濟和個人層面都深受來自醫學領域所產生的大數據政策和行為的影響。除此之外,關于醫療健康的大數據項目的文獻十分豐富,但其中很多文獻的成果存在爭議,我認為選擇那些我可以引證的、可靠的素材是非常重要的。因此,本書參考文獻非常多,有超過200篇來自期刊、報紙以及書籍的文章,多數文章可從網上下載。
誰應該讀這本書?本書是為那些管理大數據資源的專業人士和計算機及信息學領域的學生而寫的。專業人士包括:企業和投資機構的領導者,他們必須為項目投入資源;項目主管,他們必須制定一系列可行的目標并管理一個團隊,這個團隊中的每個人都有一些技能和任務,包括網絡專家、元數據專家、軟件程序員、標準專家、互操作專家、數據統計分析師以及來自預期用戶社區的代表等。來自信息學、計算機科學以及統計學專業的學生會發現,在大學課程中很少討論大數據面臨的挑戰,而這些挑戰往往是令人驚訝的,有時甚至稱得上是令人震驚的。
通過掌握大數據設計、維護、增長和驗證的基礎知識,讀者可以學會如何簡化大數據產生的無窮無盡的任務。如果數據準備合理,經驗老到的分析師就能夠發現不同大數據資源中數據對象之間的關系。讀者會找到整合大數據資源的方法,這比獨立的數據庫能夠提供的好處多得多。
致謝感謝Roger Day、Paul Lewis為書稿的每一章給出了深刻和有價值的評論。感謝Stuart Kramer在本書寫作初期對文字內容和組織結構給出的寶貴建議。特別感謝Denise Penrose在Elsevier工作到最后一天以使這本書得以順利發行。感謝Andrea Dierna、Heather Scherer以及Morgan Kaufmann所有為本書的出版和營銷做出努力的員工們。
Jules J. Berman 本科畢業于麻省理工學院,在獲得了該校的兩個科學學士學位(數學、地球與行星科學)后,他又獲得了天普大學的哲學博士學位以及邁阿密大學的醫學博士學位。他的博士研究工作是在天普大學的費爾斯癌癥研究所和位于紐約瓦爾哈拉的美國健康基金會完成的。Berman博士在美國國家健康研究院完成了他的博士后研究工作,并曾在華盛頓特區的喬治·華盛頓大學醫學中心實習過一段時間。Berman博士曾在馬里蘭州巴爾的摩市退伍軍人管理局醫療中心擔任解剖病理學、外科病理學和細胞病理學的首席專家,在那里他被任命為馬里蘭大學醫學中心和約翰·霍普金斯醫學研究機構的主任。1998年,他在美國國家癌癥研究所癌癥診斷計劃中任病理信息學項目主管,在那里他從事大數據項目工作。2006年,Berman博士成為病理信息學協會主席。2011年,他獲得了病理信息學協會終身成就獎。他是數百部科學出版物的作者之一。如今,Berman博士是一名自由作家,專注于信息科學、計算機程序設計和病理學三個專業領域的書籍寫作。
譯者序
前言
作者簡介
第0章 引言1
0.1 大數據的定義2
0.2 大數據VS小數據2
0.3 大數據在哪里4
0.4 大數據最常見的目的是產生小數據5
0.5 機會6
0.6 大數據成為信息宇宙的中心6
第1章 為非結構化數據提供結構8
1.1 背景8
1.2 機器翻譯9
1.3 自動編碼11
1.4 索引14
1.5 術語提取16
第2章 標識、去標識和重標識19
2.1 背景19
2.2 標識符系統的特征20
2.3 注冊唯一對象標識符21
2.4 糟糕的標識方法24
2.5 在標識符中嵌入信息:不推薦25
2.6 單向哈希函數26
2.7 案例:醫院登記27
2.8 去標識化28
2.9 數據清洗29
2.10 重標識30
2.11 經驗教訓31
第3章 本體論和語義學32
3.1 背景32
3.2 分類:最簡單的本體32
3.3 本體:有多個父類的類34
3.4 分類模型選擇35
3.5 資源描述框架模式簡介38
3.6 本體開發的常見陷阱40
第4章 內省42
4.1 背景42
4.2 自我認知42
4.3 可擴展標記語言44
4.4 meaning簡介45
4.5 命名空間與有意義的聲明集合體46
4.6 資源描述框架三元組47
4.7 映射49
4.8 案例:可信時間戳50
4.9 總結50
第5章 數據集成和軟件互操作性52
5.1 背景52
5.2 調查標準委員會53
5.3 標準軌跡53
5.4 規范與標準56
5.5 版本控制58
5.6 合規問題60
5.7 大數據資源接口60
第6章 不變性和永久性62
6.1 背景62
6.2 不變性和標識符63
6.3 數據對象64
6.4 遺留數據65
6.5 數據產生數據67
6.6 跨機構協調標識符67
6.7 零知識協調68
6.8 管理者的負擔69
第7章 測量70
7.1 背景70
7.2 計數70
7.3 基因計數72
7.4 處理否定73
7.5 理解控制74
7.6 測量的實踐意義75
7.7 強迫癥:偉大數據管理員的標志76
第8章 簡單有效的大數據技術77
8.1 背景77
8.2 觀察數據78
8.3 數據范圍85
8.4 分母87
8.5 頻率分布89
8.6 均值和標準差92
8.7 估計分析94
8.8 案例:用谷歌Ngram發現數據趨勢95
8.9 案例:預測觀眾的電影偏好97
第9章 分析99
9.1 背景99
9.2 分析任務99
9.3 聚類、分類、推薦和建模100
9.3.1 聚類算法100
9.3.2 分類算法101
9.3.3 推薦算法101
9.3.4 建模算法101
9.4 數據約簡103
9.5 數據標準化和調整105
9.6 大數據軟件:速度和可擴展性107
9.7 尋找關系而非相似之處108
第10章 大數據分析中的特殊注意事項111
10.1 背景111
10.2 數據搜索理論111
10.3 理論搜索中的數據112
10.4 過度擬合113
10.5 巨大的偏差113
10.6 數據太多116
10.7 數據修復116
10.8 大數據的數據子集:不可加和不傳遞117
10.9 其他大數據缺陷117
第11章 逐步走進大數據分析120
11.1 背景120
11.2 步驟1:制定一個問題120
11.3 步驟2:資源評價121
11.4 步驟3:重新制定一個問題121
11.5 步驟4:查詢輸出充分性122
11.6 步驟5:數據描述122
11.7 步驟6:數據約簡123
11.8 步驟7:必要時選擇算法123
11.9 步驟8:結果評估和結論斷言124
11.10 步驟9:結論審查和驗證125
第12章 失敗127
12.1 背景127
12.2 失敗很常見128
12.3 失敗的標準128
12.4 復雜性131
12.5 復雜性何時起作用132
12.6 冗余失敗的情況132
12.7 保護錢,不保護無害信息133
12.8 失敗之后134
12.9 案例:癌癥生物醫學信息學網格—遙遠的橋135
第13章 合法性140
13.1 背景140
13.2 對數據的準確性和合法性負責140
13.3 創建、使用和共享資源的權利141
13.4 因使用標準而招致的版權和專利侵權行為143
13.5 對個人的保護144
13.6 許可問題145
13.7 未經許可的數據148
13.8 好政策是有力保障150
13.9 案例:哈瓦蘇派的故事151
第14章 社會問題153
14.1 背景153
14.2 大數據感知153
14.3 數據共享155
14.4 用大數據降低成本和提高生產效率158
14.5 公眾的疑慮160
14.6 從自己做起161
14.7 傲慢和夸張162
第15章 未來164
15.1 背景164
15.1.1 大數據計算復雜,需要新一代超級計算機?165
15.1.2 大數據的復雜程度將超出我們完全理解或信任的能力范圍?166
15.1.3 我們需要用超級計算中的最新技術訓練出一支計算機科學家組成的團隊嗎?166
15.1.4 大數據會創建出那些目前沒有訓練程序的新型數據專業人員嗎?166
15.1.5 是否有將數據表示方法通過統一的標準規范化,從而支持跨網絡大數據資源的數據集成和軟件互操作性的可能?169
15.1.6 大數據將向公眾開放?169
15.1.7 大數據弊大于利?170
15.1.8 我們可以預測大數據災難會破壞至關重要的服務、削弱國家經濟、破壞世界政治的穩定嗎?171
15.1.9 大數據可以回答那些其他辦法不能解決的問題嗎?171
15.2 后記171
術語表172
參考文獻188
索引196