1. 數(shù)據(jù)可靠性
1.1. 數(shù)據(jù)可靠性指的是一個(gè)組織在整個(gè)數(shù)據(jù)生命周期中提供高數(shù)據(jù)可用性和健康狀況的能力
-
1.1.1. 是高數(shù)據(jù)質(zhì)量帶來的結(jié)果
- 1.1.1.1. 高質(zhì)量的大數(shù)據(jù)是這個(gè)大規(guī)模轉(zhuǎn)型平臺(tái)的核心
1.1.2. 隨著公司接收到比以往更多的事務(wù)型數(shù)據(jù)和第三方數(shù)據(jù)氯夷,以及組織中的所有員工在數(shù)據(jù)生命周期的各個(gè)階段都會(huì)與這些數(shù)據(jù)進(jìn)行交互忠寻,這些數(shù)據(jù)的可靠性變得越來越重要
1.1.3. 數(shù)據(jù)可靠性必須有意識(shí)地構(gòu)建到組織的各個(gè)級(jí)別,從用來構(gòu)建和管理數(shù)據(jù)棧的流程和技術(shù),到在下游進(jìn)一步溝通和分析有關(guān)數(shù)據(jù)問題的方式
1.2. 歷史數(shù)據(jù)并不能反映出受眾的日常生活現(xiàn)狀肮之,而實(shí)時(shí)數(shù)據(jù)變得至關(guān)重要
- 1.2.1. 不僅可以用來確定廣告支出唧垦,還可以用來了解當(dāng)前用戶與應(yīng)用程序和互聯(lián)網(wǎng)上內(nèi)容的交互狀態(tài)
1.3. 實(shí)現(xiàn)數(shù)據(jù)可靠性的基礎(chǔ)是關(guān)注數(shù)據(jù)治理盆色、數(shù)據(jù)質(zhì)量和重構(gòu)系統(tǒng)
1.3.1. 對(duì)其數(shù)據(jù)質(zhì)量和數(shù)據(jù)治理工作進(jìn)行重大投資
1.3.2. 通過投資數(shù)據(jù)測(cè)試和數(shù)據(jù)可觀測(cè)性并設(shè)置明確的數(shù)據(jù)可靠性SLA來評(píng)估數(shù)據(jù)可靠性摧扇,能夠在數(shù)據(jù)宕機(jī)影響下游消費(fèi)者之前進(jìn)行補(bǔ)救
1.4. 預(yù)先并跨領(lǐng)域投資受DevOps啟發(fā)的流程,即數(shù)據(jù)測(cè)試和數(shù)據(jù)可觀測(cè)性
1.5. 構(gòu)建一個(gè)彈性且性能良好的數(shù)據(jù)平臺(tái)
1.6. 設(shè)置并協(xié)同跨組織數(shù)據(jù)的SLA殴泰、SLI和SLO
1.7. 將數(shù)據(jù)質(zhì)量策略從僅由數(shù)據(jù)工程師和其他上游角色管理的孤立體驗(yàn)于宙,轉(zhuǎn)變?yōu)楦鼜V泛的、由公司優(yōu)先考慮的事情是一個(gè)漸進(jìn)的過程
2. 攝取數(shù)據(jù)時(shí)
2.1. 確保在將數(shù)據(jù)導(dǎo)入數(shù)據(jù)倉(cāng)庫或數(shù)據(jù)湖之前的高數(shù)據(jù)質(zhì)量
2.2. 組織通常會(huì)根據(jù)業(yè)務(wù)需求從內(nèi)部悍汛、外部和第三方來源獲取數(shù)據(jù)
2.2.1. 你的決策質(zhì)量取決于你用來洞察和分析的數(shù)據(jù)
2.2.2. 輸入的是垃圾捞魁,輸出的也是垃圾
2.3. 為進(jìn)入其數(shù)據(jù)生態(tài)系統(tǒng)的所有數(shù)據(jù)建立了嚴(yán)格的數(shù)據(jù)質(zhì)量控制標(biāo)準(zhǔn)
2.4. 數(shù)據(jù)清洗、數(shù)據(jù)整理(將數(shù)據(jù)結(jié)構(gòu)化并轉(zhuǎn)換為所需格式的過程)和數(shù)據(jù)測(cè)試等最佳實(shí)踐都是組織確保數(shù)據(jù)質(zhì)量滿足其組織需求的方式
2.4.1. 該領(lǐng)域出現(xiàn)了大量工具來為公司自動(dòng)化完成這一過程
-
2.4.2. 對(duì)該過程進(jìn)行自動(dòng)化离咐,組織不僅可以在數(shù)據(jù)清洗時(shí)節(jié)省時(shí)間和資源谱俭,而且可以確保在數(shù)據(jù)進(jìn)入其生態(tài)系統(tǒng)時(shí)持續(xù)控制和管理傳入數(shù)據(jù)的質(zhì)量
2.4.2.1. 其格式
2.4.2.2. 一致性
2.4.2.3. 完整性
2.4.2.4. 新鮮度
2.4.2.5. 唯一性
2.5. 數(shù)據(jù)清洗
2.5.1. 數(shù)據(jù)清洗通過從數(shù)據(jù)集中刪除不完整、不相關(guān)宵蛀、不正確昆著、格式不對(duì)或重復(fù)的數(shù)據(jù)來準(zhǔn)備并修改數(shù)據(jù)以供未來進(jìn)行分析
-
2.5.2. 數(shù)據(jù)清洗的職責(zé)也開始越來越多地落在數(shù)據(jù)生產(chǎn)者身上
- 2.5.2.1. 無論誰“負(fù)責(zé)”數(shù)據(jù)清洗,我們都要讓組織中的其他成員了解數(shù)據(jù)的重要性术陶,因?yàn)楣局械拿總€(gè)人都在確保數(shù)據(jù)完整性方面發(fā)揮著關(guān)鍵作用
2.6. 數(shù)據(jù)充實(shí)(data enrichment)
2.6.1. 在數(shù)據(jù)充實(shí)的過程中凑懂,組織能夠把一手?jǐn)?shù)據(jù)或第三方數(shù)據(jù)整合并添加到已經(jīng)在使用的數(shù)據(jù)集中
2.6.2. 對(duì)數(shù)據(jù)進(jìn)行充實(shí),組織能夠?yàn)槠鋽?shù)據(jù)集增加更多價(jià)值瞳别,最終使數(shù)據(jù)變得更加有用和可靠
2.7. 數(shù)據(jù)測(cè)試
-
2.7.1. 在數(shù)據(jù)清洗后征候,數(shù)據(jù)測(cè)試是在攝取數(shù)據(jù)前抵御低質(zhì)量數(shù)據(jù)的最佳防線
2.7.1.1. 數(shù)據(jù)測(cè)試是一個(gè)在生產(chǎn)之前或生產(chǎn)期間驗(yàn)證組織對(duì)數(shù)據(jù)的假設(shè)的過程
2.7.1.2. 編寫檢查唯一性和not_null(非空)等基本測(cè)試是組織對(duì)其源數(shù)據(jù)進(jìn)行基本假設(shè)測(cè)試的方法
2.7.1.3. dbt是數(shù)據(jù)領(lǐng)域具有精確測(cè)試能力的另一種解決方案
2.7.1.4. 數(shù)據(jù)測(cè)試只會(huì)發(fā)現(xiàn)預(yù)期的數(shù)據(jù)質(zhì)量問題,它沒有可擴(kuò)展性或知識(shí)來解釋“未知的”數(shù)據(jù)質(zhì)量問題
2.7.1.5. 用被動(dòng)監(jiān)控和異常檢測(cè)來補(bǔ)充測(cè)試是非常重要的
2.7.2. 確保數(shù)據(jù)采用正確的格式供其團(tuán)隊(duì)使用祟敛,并確保數(shù)據(jù)滿足其業(yè)務(wù)需求
-
2.7.3. 單元測(cè)試
2.7.3.1. 單元測(cè)試檢查一行代碼(SQL)是否做了它應(yīng)該做的事情,可以用于非常小的數(shù)據(jù)片段
2.7.3.2. 在對(duì)數(shù)據(jù)進(jìn)行單元測(cè)試時(shí)兆解,必須將業(yè)務(wù)邏輯與“黏合代碼”(glue code)分開
-
2.7.4. 功能測(cè)試
2.7.4.1. 功能測(cè)試用于大型數(shù)據(jù)集馆铁,并且通常與數(shù)據(jù)驗(yàn)證、完整性锅睛、攝取埠巨、處理历谍、存儲(chǔ)和ETL相分離
2.7.4.2. 經(jīng)常發(fā)生在數(shù)據(jù)管道(預(yù)分析層)中
-
2.7.5. 集成測(cè)試
2.7.5.1. 用于確保數(shù)據(jù)管道符合有效性標(biāo)準(zhǔn)(即在預(yù)期范圍內(nèi))
2.7.5.2. 在利用生產(chǎn)數(shù)據(jù)之前,團(tuán)隊(duì)會(huì)使用集成測(cè)試在管道中運(yùn)行假數(shù)據(jù)
-
2.7.6. 常見的數(shù)據(jù)質(zhì)量檢查
-
2.7.6.1. 空值
2.7.6.1.1. 是否有未知值(NULL)辣垒?
-
2.7.6.2. 新鮮度
2.7.6.2.1. 數(shù)據(jù)有多新望侈?
2.7.6.2.2. 最近一次更新是一小時(shí)前還是兩個(gè)月前呢?
-
2.7.6.3. 容量
2.7.6.3.1. 數(shù)據(jù)集代表了多少數(shù)據(jù)勋桶?
-
2.7.6.4. 分布
2.7.6.4.1. 數(shù)據(jù)是否在可接受的范圍內(nèi)脱衙?
2.7.6.4.2. 給定列中數(shù)據(jù)的單位是否相同?
-
2.7.6.5. 缺失值
2.7.6.5.1. 數(shù)據(jù)集中是否缺失了任何值例驹?
-
2.7.7. “不良數(shù)據(jù)”(bad data)
-
2.7.8. 數(shù)據(jù)工程師永遠(yuǎn)不應(yīng)該使用未經(jīng)測(cè)試的數(shù)據(jù)來運(yùn)行數(shù)據(jù)管道
- 2.7.8.1. 在運(yùn)行管道前清楚地了解數(shù)據(jù)的健康狀況
-
2.7.9. 測(cè)試職責(zé)分散到數(shù)據(jù)集上捐韩,由各自的分析師和工程師負(fù)責(zé)創(chuàng)建和維護(hù)他們正在構(gòu)建數(shù)據(jù)管道并日常交互的數(shù)據(jù)集的測(cè)試
- 2.7.9.1. 數(shù)據(jù)質(zhì)量保證團(tuán)隊(duì)來處理數(shù)據(jù)測(cè)試,其職責(zé)包括為業(yè)務(wù)用例創(chuàng)建測(cè)試并維護(hù)現(xiàn)有的測(cè)試
3. 度量和維護(hù)管道中的數(shù)據(jù)質(zhì)量
3.1. 20世紀(jì)90年代鹃锈,當(dāng)網(wǎng)站宕機(jī)時(shí)荤胁,大多數(shù)人都注意不到網(wǎng)站重新啟動(dòng)并再次上線的時(shí)間,因?yàn)榇蠖鄶?shù)網(wǎng)站的用戶數(shù)量都很低
3.2. 如今屎债,每個(gè)人都會(huì)注意到你的服務(wù)或應(yīng)用程序是什么時(shí)候宕機(jī)的
3.3. 如今仅政,幾乎所有托管軟件的企業(yè)都依賴站點(diǎn)可靠性工程(SRE)來確保生產(chǎn)中的應(yīng)用程序始終可靠
- 3.3.1. 讓SRE團(tuán)隊(duì)保持對(duì)其系統(tǒng)健康狀況的持續(xù)關(guān)注是非常重要的
3.4. 可觀測(cè)性是工程領(lǐng)域最新加入的一個(gè)術(shù)語
- 3.4.1. 描述了這一需求,指的是監(jiān)控盆驹、跟蹤和檢測(cè)事件圆丹,以防止宕機(jī)
3.5. SRE的核心在于應(yīng)用程序的可觀測(cè)性被分為三大支柱
3.5.1. 指標(biāo)是指隨時(shí)間的推移測(cè)量出來的數(shù)據(jù)的數(shù)字表示
-
3.5.2. 日志是在給定時(shí)間戳所發(fā)生事件的描述性、定性文本記錄
- 3.5.2.1. 關(guān)于特定事件是何時(shí)發(fā)生的這一有價(jià)值的背景信息
3.5.3. 跟蹤表示分布式環(huán)境中因果相關(guān)的事件
3.6. 高數(shù)據(jù)質(zhì)量的指標(biāo)
-
3.6.1. 新鮮度
3.6.1.1. 數(shù)據(jù)是最新的嗎召娜?
3.6.1.2. 最后一次生成數(shù)據(jù)是什么時(shí)候运褪?
3.6.1.3. 其中包含/省略了哪些上游數(shù)據(jù)呢?
-
3.6.2. 分布
3.6.2.1. 數(shù)據(jù)是否在可接受的范圍內(nèi)玖瘸?
3.6.2.2. 格式是否正確秸讹?
3.6.2.3. 數(shù)據(jù)完整嗎?
-
3.6.3. 容量
- 3.6.3.1. 所有的數(shù)據(jù)都送達(dá)了嗎雅倒?
-
3.6.4. 模式
3.6.4.1. 模式是什么璃诀,它是如何變更的?
3.6.4.2. 誰做出了這些變更蔑匣,是出于什么原因呢劣欢?
-
3.6.5. 沿襲
3.6.5.1. 對(duì)于給定的數(shù)據(jù)資產(chǎn),受其影響的上游來源和下游資產(chǎn)都有哪些呢裁良?
3.6.5.2. 是誰在生成這些數(shù)據(jù)
3.6.5.3. 誰又依賴這些數(shù)據(jù)來做出決策呢凿将?
3.6.6. 讓你了解數(shù)據(jù)在其生命周期每個(gè)階段的健康狀況的關(guān)鍵度量標(biāo)準(zhǔn),并為我們提供了一個(gè)查看數(shù)據(jù)質(zhì)量的全新視角
3.7. 數(shù)據(jù)宕機(jī)時(shí)間是指數(shù)據(jù)丟失价脾、錯(cuò)誤或不準(zhǔn)確的時(shí)間段牧抵,通常表明數(shù)據(jù)管道已經(jīng)出現(xiàn)了損壞
3.7.1. 確定數(shù)據(jù)的可靠性并確保人們有足夠的信心使用該數(shù)據(jù)
3.7.2. 鑒于SRE將應(yīng)用程序宕機(jī)時(shí)間作為時(shí)間的函數(shù)進(jìn)行測(cè)量,我們也可以用類似的方式來測(cè)量數(shù)據(jù)的宕機(jī)時(shí)間
3.7.3. 測(cè)量數(shù)據(jù)的正常運(yùn)行時(shí)間和宕機(jī)時(shí)間是廣泛適用的,這也為理解數(shù)據(jù)健康狀況提供了一個(gè)良好的起點(diǎn)
4. 下游的數(shù)據(jù)質(zhì)量
4.1. 當(dāng)數(shù)據(jù)通過管道傳回收集數(shù)據(jù)的應(yīng)用程序和服務(wù)時(shí)犀变,你在數(shù)據(jù)到達(dá)分析層甚至更高層之前都很可能不會(huì)意識(shí)到數(shù)據(jù)是“壞的”
4.2. 數(shù)據(jù)可靠性儀表板妹孙,在數(shù)據(jù)到達(dá)儀表板后跟蹤檢測(cè)所需時(shí)間(Time To Detection,TTD)获枝、解決所需時(shí)間(Time To Resolution蠢正,TTR)和其他數(shù)據(jù)質(zhì)量指標(biāo)
4.2.1. 不相關(guān)或錯(cuò)誤數(shù)據(jù)所占比率
4.2.2. 給定數(shù)據(jù)集中空值或缺失值的數(shù)量,或者說數(shù)據(jù)的完整性
4.2.3. 數(shù)據(jù)的及時(shí)性
4.2.4. 重復(fù)值的百分比
4.2.5. 數(shù)據(jù)的一致性
-
4.2.6. 能夠持續(xù)訪問和使用數(shù)據(jù)的職能團(tuán)隊(duì)的數(shù)量
- 4.2.6.1. 適用于應(yīng)用了分布式數(shù)據(jù)架構(gòu)(比如數(shù)據(jù)網(wǎng)格)的情況省店,數(shù)據(jù)質(zhì)量對(duì)其來說至關(guān)重要
4.3. SLA建立了客戶承諾和對(duì)未達(dá)到SLO的懲罰
4.4. SLI就是被測(cè)量的具體數(shù)字
4.5. SLO是為SLI設(shè)置的實(shí)際目標(biāo)值
4.6. 凈推薦值(Net Promoter Score嚣崭,NPS)度量利益相關(guān)方對(duì)數(shù)據(jù)的滿意度
4.7. 設(shè)置SLA和SLI的一種簡(jiǎn)單方法是了解他們將使用數(shù)據(jù)做什么,以及應(yīng)該通過測(cè)試萨西、可觀測(cè)性和其他工具對(duì)哪些數(shù)據(jù)進(jìn)行優(yōu)先級(jí)排序
- 4.7.1. 編寫數(shù)據(jù)測(cè)試甚至監(jiān)控所有關(guān)鍵數(shù)據(jù)資產(chǎn)幾乎是不可能的
4.8. 評(píng)估數(shù)據(jù)質(zhì)量
-
4.8.1. 完整性
- 4.8.1.1. 數(shù)據(jù)有多完整有鹿?
-
4.8.2. 及時(shí)性
- 4.8.2.1. 數(shù)據(jù)是否準(zhǔn)時(shí)到達(dá)?
-
4.8.3. 有效性
- 4.8.3.1. 數(shù)據(jù)是否滿足所有語法要求(即格式谎脯、類型或范圍)葱跋?
-
4.8.4. 準(zhǔn)確性
- 4.8.4.1. 數(shù)據(jù)是否描述了它所試圖代表的真實(shí)環(huán)境?
-
4.8.5. 一致性
- 4.8.5.1. 數(shù)據(jù)是否與廣泛理解和接受的定義相一致源梭?
-
4.8.6. 唯一性
- 4.8.6.1. 單個(gè)數(shù)據(jù)點(diǎn)是否被多次記錄娱俺?