資料品質管理:資料可靠性與資料品質問題解決之道 Data Quality Fundamentals: A Practitioner's Guide to Building Trustworthy Data Pipelines

Barr Moses,Lior Gavish,Molly Vorwerck 譯 李晗璣//陳天皓//步凡

相關主題

商品描述

本書是一本關於如何清洗、整理和理解數據的手冊,
也介紹了圍繞建立更可靠的數據系統的最佳實踐、技術和流程,並在此過程中培養團隊和利害關係人對數據的信任。
本書首先引入「資料宕機」的概念,然後介紹如何在多個關鍵資料管道技術中建構更具彈性的資料系統。
也介紹了資料可靠性工作流程中的主動異常偵測與監測,並設定SLA、SLI和SLO,
以及建構由新鮮度、容量、分佈、模式和沿襲這5個關鍵支柱組成的最佳化資料品質的資料平台。
之後深入探討在生產環境中實際應對和解決數據品質問題所需的步驟,
包括資料事件管理、根因分析、事後分析等。
接著討論數據團隊在大規模宣傳和普及數據品質時必須跨越的一些文化和組織障礙,
並分享了幾個真實案例研究和與數據工程領域領導人物的對話。

目錄大綱

目錄
前言1
第1章 為什麼數據品質值得關注7
1.1 什麼是數據品質9
1.2 構築當下10
1.2.1 了解「資料宕機的增加」11
1.2.2 促成當前情勢的其他產業趨勢13
1.3 總結15
第2章 將可靠資料系統的建構模組進行組裝16
2.1 了解事務型資料和分析型資料的差異16
2.2 是什麼讓它們有所不同17
2.3 資料倉儲與資料湖19
2.3.1 資料倉儲:模式層級的表類型19
2.3.2 資料湖:檔案層級的操作21
2.3.3 什麼是湖倉一體22
2.3.4 在倉庫和湖之間同步資料23
2.4 收集數據品質指標24
2.4.1 什麼是數據品質指標24
2.4.2 如何擷取資料品質指標25
2.4.3 使用查詢日誌了解資料倉儲中的資料品質31
2.4.4 使用查詢日誌了解資料湖中的資料品質32
2.5 設計數據目錄33
2.6 建置資料目錄34
2.7 總結38
第3章 收集、清洗、轉換和測試資料39
3.1 收集數據39
3.1.1 應用程式日誌資料40
3.1.2 API響應41
3.1.3 感測器數據42
3.2 清洗資料43
3.3 批次與流處理45
3.4 流處理的資料品質46
3.5 數據標準化49
3.5.1 處理異質資料來源49
3.5.2 模式檢查與型別強制轉換50
3.5.3 資料中的句法歧義與語意歧義51
3.5.4 管理AWS Kinesis和Apache Kafka之間的事務型資料轉換52
3.6 運行分析型資料轉換53
3.6.1 確保ETL期間的資料品質53
3.6.2 確保轉換期間的資料品質53
3.7 警報和測試54
3.7.1 dbt單元測試55
3.7.2 Great Expectations單元測試57
3.7.3 Deequ單元測試59
3.8 使用 Apache Airflow 管理資料品質61
3.8.1 調度程序的SLA61
3.8.2 在Apache Airflow安裝斷路器64
3.8.3 SQL檢查運算子64
3.9 總結65
第4章 資料管道的監控與異常檢測66
4.1 了解已知的未知和未知的未知67
4.2 建構異常檢測的演算法68
4.2.1 新鮮度監控70
4.2.2 了解分佈75
4.3 為模式和沿襲構建監視器83
4.3.1 模式變更和沿襲的異常檢測83
4.3.2 對沿襲進行可視化87
4.3.3 調查數據異常89
4.4 使用Python和機器學習擴展異常檢測93
4.4.1 利用機器學習改進資料監控警報98
4.4.2 假陽性和假陰性的解釋98
4.4.3 提高精確率和召回率100
4.4.4 透過數據監控檢測新鮮度事件103
4.4.5 F分數104
4.4.6 模型的準確率重要嗎105
4.5 深入探究:其他有用的異常檢測方法108
4.6 為資料倉儲和資料湖分別設計資料品質監控器109
4.7 總結110
第5章 為資料可靠性進行架構設計111
5.1 在攝取資料時評估並維護高資料可靠性111
5.2 度量和維護管道中的資料品質114
5.3 了解下游的數據品質116
5.4 建構數據平台119
5.4.1 資料攝取120
5.4.2 資料儲存與處理120
5.4.3 資料轉換與建模120
5.4.4 商業智慧與分析121
5.4.5 資料發現與治理122
5.5 建立對數據的信任122
5.5.1 數據可觀測性123
5.5.2 評估數據品質的投資報酬率123
5.5.3 如何為資料設定SLA、SLO和SLI125
5.6 個案分析:Blinkist128
5.7 總結129
第6章 解決大規模資料品質問題131
6.1 在軟體研發過程中解決資料品質問題131
6.2 資料事件管理133
6.2.1 事件檢測134
6.2.2 響應137
6.2.3 根因分析138
6.2.4 解決146
6.2.5 不做指責的複盤146
6.3 事件因應與緩解策略147
6.3.1 建立事件管理的標準程序148
6.3.2 為什麼資料事件指揮官如此重要153
6.4 案例分析:PagerDuty公司的資料事件管理153
6.4.1 PagerDuty的資料營運概況153
6.4.2 PagerDuty的資料挑戰154
6.4.3 使用DevOps的最佳實務來規模化資料事件管理154
6.5 總結155
第7章 建構端到端的資料沿襲157
7.1 為現代資料系統建構端對端字段級別的沿襲158
7.1.1 資料沿襲的基本要求159
7.1.2 資料沿襲的設計161
7.1.3 解析資料167
7.1.4 建構使用者介面168
7.2 案例分析:在福斯公司建立資料可靠性170
7.2.1 在與利害關係人打交道時,運用「可控自由」原則171
7.2.2 投資於去中心化資料團隊172
7.2.3 避免追逐閃亮的新科技,而應選擇解決問題的技術173
7.2.4 為實現自助式分析,要致力於建立資料信任173
7.3 總結174
第8章 推廣和普及數據品質175
8.1 將「數據」視為產品176
8.2 將數據視為產品的經驗177
8.2.1 Convoy案例分析:資料即服務或輸出178
8.2.2 Uber案例​​分析:資料產品經理的崛起179
8.2.3 採用「數據即產品」的方法180
8.3 在數據平台中建立信任184
8.3.1 確保產品目標與業務目標一致184
8.3.2 尋求適合的利害關係人的回饋與認可185
8.3.3 優先考慮長期成長和永續性,而非短期收益186
8.3.4 為數據及其評估標準設定基準指標187
8.3.5 了解何時建置、何時購買187
8.4 分配資料品質所有權189
8.4.1 首席資料長189
8.4.2 商業智慧分析師190
8.4.3 分析工程師190
8.4.4 資料科學家190
8.4.5 資料治理主管191
8.4.6 資料工程師191
8.4.7 數據產品經理191
8.4.8 誰來負責資料可靠性192
8.5 為資料品質創建責任制193
8.6 平衡資料可存取性與資料信任194
8.7 對數據進行認證195
8.8 實施資料認證流程的七個步驟195
8.9 案例分析:Toast尋找適合其資料團隊結構的過程200
8.9.1 起初:一個艱難滿足數據需求的小團隊201
8.9.2 以分散式資料營運支援超級成長201
8.9.3 重組、再集中化並重新聚焦於資料信任202
8.9.4 在擴張資料團隊時需要考慮的因素203
8.10 提高數據素養206
8.11 優先考慮資料治理和合規性208
8.11.1 優先考慮資料目錄208
8.11.2 資料目錄之外:實施資料治理211
8.12 建構資料品質策略211
8.12.1 讓領導階層對資料品質最終負責212
8.12.2 設定資料品質的KPI212
8.12.3 帶頭實施資料治理計畫212
8.12.4 自動化資料沿襲與資料治理工具213
8.12.5 創建溝通計畫213
8.13 總結213
第9章 現實世界中的資料品質:對話與案例分析215
9.1 為更高的資料品質建構資料網格216
9.1.1 面向領域的資料所有者和資料管道217
9.1.2 自助式服務功能217
9.1.3 互通性與通訊標準化218
9.2 為什麼要實施資料網格218
9.2.1 選不選網格219
9.2.2 計算你的資料網格分數219
9.3 與 Zhamak Dehghani 的對話:資料品質在資料網格中的作用220
9.3.1 你可以從單一解決方案建立資料網格嗎220
9.3.2 資料網格是資料虛擬化的另一個表達嗎221
9.3.3 每個資料產品團隊是否管理自己獨立的資料儲存221
9.3.4 自助式資料平台與分散式資料網格是一回事嗎221
9.3.5 資料網格適用於所有的資料團隊嗎222
9.3.6 團隊中的某個人會「擁有」資料網格嗎222
9.3.7 資料網格是否會造成資料工程師與資料分析師之間的摩擦222
9.4 案例分析:Kolibri Games的資料棧之旅223
9.4.1 最初的資料需求224
9.4.2 追求績效行銷225
9.4.3 2018年:專業化與集中化227
9.4.4 開始以數據為導向228
9.4.5 開始數據驅動230
9.4.6 建構資料網格233
9.4.7 五年資料演進的五個關鍵思考235
9.5 讓元資料為業務服務236
9.6 透過資料發現釋放元資料的價值239
9.6.1 資料倉儲與資料湖的考量239
9.6.2 資料目錄可能淹沒在資料湖甚至資料網格中240
9.6.3 從傳統的資料目錄過渡到現代的資料發現240
9.7 決定何時開始處理公司的資料品質問題243
9.7.1 在最近遷移到雲端243
9.7.2 資料棧隨著更多的資料來源、更多的表和更高的複雜度而擴展244
9.7.3 你的數據團隊正在擴充244
9.7.4 你的團隊至少花了30%的時間來解決資料品質問題245
9.7.5 你的團隊擁有比一年前更多的數據消費者245
9.7.6 你的公司正在轉向自助式服務分析模型245
9.7.7 數據是顧客價值主張的關鍵部分246
9.7.8 資料品質源自於信任246
9.8 總結246
第10章 開創可靠資料系統的未來248
10.1 要積極主動,而不是消極被動249
10.2 對資料品質和資料可靠性未來的預測251
10.2.1 資料倉儲與資料湖將融為一體251
10.2.2 數據團隊中的新角色252
10.2.3 自動化的興起254
10.2.4 更多的分散式環境與資料領域的興起255
10.3何去何從255