B站數(shù)據(jù)質(zhì)量保障體系建設(shè)與實(shí)踐
一、背景目標(biāo)
首先,分享一下 B 站數(shù)據(jù)質(zhì)量保障的背景和目標(biāo)。
B 站數(shù)據(jù)建設(shè)的歷史演進(jìn)可以分為四個(gè)階段。
數(shù)據(jù)庫(kù)階段。在這個(gè)階段B 站處于初創(chuàng)階段,業(yè)務(wù)也在初步發(fā)展中,數(shù)據(jù)逐漸受到各方的重視。這一階段的質(zhì)量保障重點(diǎn)在于設(shè)計(jì)測(cè)試用例、驗(yàn)證數(shù)據(jù)正確性,并進(jìn)行數(shù)據(jù)庫(kù)的監(jiān)控和調(diào)優(yōu)。
數(shù)據(jù)倉(cāng)庫(kù)階段。這個(gè)階段的出現(xiàn)是因?yàn)殡S著業(yè)務(wù)的發(fā)展,各方對(duì)數(shù)據(jù)的需求也日益增加,更加關(guān)注 OLAP 相關(guān)的需求。隨著業(yè)務(wù)的復(fù)雜性增加,我們意識(shí)到單一數(shù)據(jù)庫(kù)無(wú)法滿足需求。這一階段更加注重?cái)?shù)據(jù)的完整性、準(zhǔn)確性、一致性和及時(shí)性的保障。
數(shù)據(jù)平臺(tái)階段。隨著中國(guó)互聯(lián)網(wǎng)浪潮的興起,數(shù)據(jù)量急劇增加,隨之進(jìn)入了數(shù)據(jù)平臺(tái)階段。在傳統(tǒng)的 OLAP 分析系統(tǒng)(如TeraData)和 SaaS 傳統(tǒng)分析系統(tǒng)中,面對(duì)大數(shù)據(jù)場(chǎng)景,數(shù)據(jù)無(wú)法有效地服務(wù)于應(yīng)用分析體系。因此,我們逐漸引入開源生態(tài)系統(tǒng),如 Hadoop 和相關(guān)開源組件。這個(gè)階段更加關(guān)注保障架構(gòu)的質(zhì)量,包括鏈路的可用性和數(shù)據(jù)加工鏈路的多樣性,以及實(shí)時(shí)鏈路。
中臺(tái)階段。不僅要承接前三個(gè)階段的數(shù)據(jù)和需求,還要著重解決業(yè)務(wù)問(wèn)題和數(shù)據(jù)化的核心需求。在這個(gè)階段,業(yè)務(wù)逐漸多樣化,要求能力服務(wù)化和數(shù)據(jù)智能化。在質(zhì)量保障方面,兼容了前三個(gè)階段的內(nèi)容,并基于這些內(nèi)容展開了一些延展討論。這將是接下來(lái)分享的重點(diǎn)。
這里想強(qiáng)調(diào)的一點(diǎn)是,數(shù)據(jù)質(zhì)量保障是持續(xù)發(fā)展的。只有了解不同階段的背景和目標(biāo),才能更好地實(shí)現(xiàn)數(shù)據(jù)質(zhì)量保障。
B站數(shù)據(jù)中臺(tái)當(dāng)前數(shù)據(jù)架構(gòu)如下圖所示。整體上分為四個(gè)層次,自下而上分別是數(shù)據(jù)源、數(shù)據(jù)平臺(tái)、數(shù)據(jù)中臺(tái)和數(shù)據(jù)應(yīng)用。
數(shù)據(jù)源包括多個(gè)相關(guān)的服務(wù)系統(tǒng),如賬戶系統(tǒng)、埋點(diǎn)系統(tǒng)、CRM 系統(tǒng)和第三方系統(tǒng)等。這些系統(tǒng)為我們的數(shù)據(jù)倉(cāng)庫(kù)提供持續(xù)的數(shù)據(jù),這些數(shù)據(jù)通過(guò)數(shù)據(jù)平臺(tái)進(jìn)行集成,并具備離線和實(shí)時(shí)的能力,將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)倉(cāng)庫(kù)體系中。
在部分場(chǎng)景下,我們推進(jìn)全域數(shù)據(jù)的中心化建設(shè)。在此基礎(chǔ)上,再進(jìn)行相應(yīng)的主題域拆解,這是互聯(lián)網(wǎng)行業(yè)常見(jiàn)的主題域劃分,包括用戶主題、交易主題、內(nèi)容主題、營(yíng)銷社區(qū)等。此外,我們還進(jìn)行了更多類似于分析項(xiàng)的體系化建設(shè)。
在數(shù)據(jù)應(yīng)用層面,可以簡(jiǎn)單地分為 PC 端和移動(dòng)端的數(shù)據(jù)應(yīng)用。我們著重關(guān)注埋點(diǎn)分析看板,包括增長(zhǎng)、運(yùn)營(yíng)、內(nèi)容等方面的數(shù)據(jù)展示。我們可以看到數(shù)據(jù)的流轉(zhuǎn)管道,即數(shù)據(jù)管道,已經(jīng)擴(kuò)展得非常龐雜。與傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)不同,質(zhì)量保障不再僅僅基于單一的 OLAP 系統(tǒng),而可能涉及多層次、多組件、多團(tuán)隊(duì)甚至多部門之間的合作和溝通,以推進(jìn)保障工作。
隨著業(yè)務(wù)的發(fā)展,對(duì)數(shù)據(jù)質(zhì)量保障的需求也日益增加。下圖中展示了一些來(lái)自與我們合作頻繁的團(tuán)隊(duì)的反饋,這些反饋涉及到日常合作中經(jīng)常出現(xiàn)的問(wèn)題。這進(jìn)一步證明了數(shù)據(jù)質(zhì)量保障的需求隨著業(yè)務(wù)的發(fā)展而增加。
我們收集到的反饋包括但不限于以下幾點(diǎn):
首先,分析看板的頁(yè)面顯示數(shù)據(jù)沒(méi)有展示透出,這可能會(huì)影響用戶體驗(yàn)。
其次,分析師可能會(huì)反饋某天的數(shù)據(jù)指標(biāo)為零是否合理,因?yàn)檫@可能會(huì)影響他們的業(yè)務(wù)決策。
此外,開發(fā)同學(xué)也有數(shù)據(jù)質(zhì)量方面的需求,比如夜間的值班報(bào)警電話頻繁響起,起夜率爆表等,這會(huì)嚴(yán)重影響同學(xué)們的正常作息。
基于以上情況,我們抽象出三個(gè)方面的核心保障痛點(diǎn):
數(shù)據(jù)使用方,希望數(shù)據(jù)能夠按預(yù)期時(shí)間產(chǎn)出,并且數(shù)據(jù)準(zhǔn)確可信。在故障發(fā)生時(shí),希望能夠快速恢復(fù),不影響正常使用。
作為數(shù)據(jù)建設(shè)方,我們需要根據(jù)業(yè)務(wù)發(fā)展的時(shí)間推演,確定哪些數(shù)據(jù)是用戶真正關(guān)注的,優(yōu)先進(jìn)行強(qiáng)保障,而對(duì)于長(zhǎng)尾部分可以適當(dāng)降級(jí)。開發(fā)同學(xué)也希望了解用戶對(duì)數(shù)據(jù)質(zhì)量和時(shí)效性的具體要求。
管道方是與數(shù)據(jù)倉(cāng)庫(kù)協(xié)同配合的兄弟團(tuán)隊(duì),他們對(duì)于流轉(zhuǎn)到其管道中的數(shù)據(jù)也有保障需求。因?yàn)樽鳛閿?shù)據(jù)鏈路的上下游相關(guān)方,任何一個(gè)節(jié)點(diǎn)出現(xiàn)問(wèn)題都可能導(dǎo)致數(shù)據(jù)不準(zhǔn)確,數(shù)據(jù)質(zhì)量不達(dá)標(biāo)。他們的訴求更多是在極端情況下的恢復(fù)響應(yīng)要求以及不同場(chǎng)景的保障要求。
總體目標(biāo)是通過(guò)持續(xù)改善數(shù)據(jù)質(zhì)量,減少事故糾錯(cuò)成本,降低數(shù)據(jù)使用風(fēng)險(xiǎn),并提升業(yè)務(wù)服務(wù)滿意度。
讓我們進(jìn)一步深入探討,了解質(zhì)量問(wèn)題產(chǎn)生的根本原因。我們進(jìn)行了一些梳理,將其分為四個(gè)部分:
技術(shù)原因。數(shù)據(jù)經(jīng)過(guò)多個(gè)層次的加工才得到最終結(jié)果,因此不同鏈路的標(biāo)準(zhǔn)制定對(duì)于數(shù)據(jù)質(zhì)量至關(guān)重要。這包括模型設(shè)計(jì)的合理性,是否充分理解數(shù)據(jù)的業(yè)務(wù)含義,并根據(jù)此進(jìn)行相應(yīng)的數(shù)據(jù)加工,以獲得準(zhǔn)確的結(jié)果。此外,數(shù)據(jù)采集和清洗過(guò)程是否符合標(biāo)準(zhǔn)規(guī)范也是關(guān)鍵。
業(yè)務(wù)原因。數(shù)據(jù)主要承載業(yè)務(wù)的表達(dá)。脫離了業(yè)務(wù)場(chǎng)景,數(shù)據(jù)往往就不再有任何價(jià)值。因此,如果對(duì)業(yè)務(wù)理解不到位,包括業(yè)務(wù)流程的變更沒(méi)有及時(shí)了解,都會(huì)影響最終數(shù)據(jù)質(zhì)量的展現(xiàn)。
管理原因。首先,流程管理是否足夠完善是一個(gè)重要方面。其次,團(tuán)隊(duì)成員是否具備足夠的質(zhì)量保障意識(shí)也很關(guān)鍵。第三,獎(jiǎng)懲機(jī)制的設(shè)立也是必要的。因?yàn)橘|(zhì)量保障是一個(gè)嚴(yán)肅的話題,一旦出現(xiàn)問(wèn)題,我們需要有明確的責(zé)任分配計(jì)劃,以引起大家對(duì)此事的關(guān)注,并確保日常數(shù)據(jù)的持續(xù)保障。
推進(jìn)方面的原因。一旦確立了相關(guān)標(biāo)準(zhǔn),我們需要將這些準(zhǔn)則明確地推進(jìn)到各個(gè)工作的細(xì)節(jié)中,以確保歷史相關(guān)問(wèn)題不再重現(xiàn)。此外,長(zhǎng)期的可持續(xù)優(yōu)化策略對(duì)于數(shù)據(jù)質(zhì)量的保障也非常重要。
根據(jù)以上對(duì)問(wèn)題原因的梳理,我們總結(jié)了三個(gè)主要方向上的痛點(diǎn):
首先是整體數(shù)據(jù)質(zhì)量保障的范圍和目標(biāo)不夠清晰。這體現(xiàn)在各個(gè)團(tuán)隊(duì)對(duì)需要保障的數(shù)據(jù)范圍缺乏清晰的認(rèn)識(shí),有些鏈路甚至沒(méi)有進(jìn)行日常的保障。并且,保障分級(jí)不夠準(zhǔn)確,導(dǎo)致無(wú)法區(qū)分不同能力投入的保障需求。隨著數(shù)據(jù)建設(shè)的推進(jìn),架構(gòu)變得越來(lái)越復(fù)雜。保障目標(biāo)沒(méi)有拆解到相關(guān)團(tuán)隊(duì),導(dǎo)致這些團(tuán)隊(duì)沒(méi)有進(jìn)行相應(yīng)的保障工作,影響了數(shù)據(jù)保障的最終結(jié)果。
另一方面的痛點(diǎn)是無(wú)法衡量保障效果。我們上學(xué)時(shí)都對(duì)分?jǐn)?shù)有著深刻的體驗(yàn),分?jǐn)?shù)可以衡量學(xué)習(xí)的好壞。同樣的邏輯也適用于數(shù)據(jù)質(zhì)量保障,但我們無(wú)法衡量我們的保障工作對(duì)整體目標(biāo)的貢獻(xiàn)。其次是當(dāng)前保障推進(jìn)到什么階段,缺乏相應(yīng)的指標(biāo)來(lái)指導(dǎo)和持續(xù)優(yōu)化,需要持續(xù)衡量的方法論。
第三個(gè)方面的痛點(diǎn)是整個(gè)保障機(jī)制的規(guī)范性還不夠完善,大多是單點(diǎn)保障。然而,當(dāng)前的發(fā)展趨勢(shì)是數(shù)據(jù)上下游鏈路需要協(xié)同解決這些問(wèn)題。
基于剛剛介紹的背景、痛點(diǎn)和發(fā)展趨勢(shì),我們總結(jié)出了四個(gè)重點(diǎn)的保障目標(biāo)。
第一個(gè)保障目標(biāo)是準(zhǔn)確識(shí)別核心場(chǎng)景,并支持?jǐn)?shù)字化的效果衡量,以提升待辦事項(xiàng)的信息化水平。
第二個(gè)保障目標(biāo)是確保數(shù)據(jù)滿足四個(gè)基本原則:完整性、準(zhǔn)確性、一致性和時(shí)效性。同時(shí),還需要滿足各個(gè)用戶實(shí)際場(chǎng)景的定制化需求。
第三個(gè)保障目標(biāo)是確保數(shù)據(jù)保障貫穿整個(gè)數(shù)據(jù)生命周期的全鏈路。包括事前、事中和事后,涵蓋數(shù)據(jù)的生產(chǎn)、傳輸、加工、組裝和服務(wù)等各個(gè)環(huán)節(jié)。
第四個(gè)保障目標(biāo)是基于日常保障工作的經(jīng)驗(yàn),沉淀方法論,并推進(jìn)數(shù)據(jù)中臺(tái)相應(yīng)的工具能力建設(shè),支持在預(yù)防、響應(yīng)、處理、恢復(fù)和復(fù)查等階段高效地解決問(wèn)題。
二、體系架構(gòu)
基于上述目標(biāo),我們以質(zhì)量數(shù)倉(cāng)建設(shè)為基礎(chǔ),構(gòu)建三大核心能力:完備的質(zhì)量保障體系、數(shù)字化驅(qū)動(dòng)持續(xù)優(yōu)化,以及高效的故障處理能力。
1、質(zhì)量數(shù)倉(cāng)建設(shè)
首先,我們引入相關(guān)的保障服務(wù)數(shù)據(jù),統(tǒng)一數(shù)據(jù)倉(cāng)庫(kù)的建設(shè),并依托數(shù)據(jù)中臺(tái)的能力快速構(gòu)建數(shù)倉(cāng)架構(gòu)。完成數(shù)倉(cāng)架構(gòu)后,我們將以數(shù)倉(cāng)質(zhì)量數(shù)據(jù)為指引,描述相應(yīng)的保障問(wèn)題,并支持決策數(shù)據(jù)的使用。同時(shí),數(shù)倉(cāng)的數(shù)據(jù)將支持日常的數(shù)據(jù)檢測(cè)和分析等工作,以消除事前的問(wèn)題。數(shù)倉(cāng)還有一個(gè)核心的保障工作,即與相關(guān)團(tuán)隊(duì)協(xié)商保障目標(biāo),并進(jìn)行衡量和拆解。
整個(gè)架構(gòu)可以分為四個(gè)層次,自下而上分別是數(shù)據(jù)源、數(shù)倉(cāng)建設(shè)、分析項(xiàng)目建設(shè)和最終的應(yīng)用。在質(zhì)量數(shù)倉(cāng)的數(shù)據(jù)源層,包括了告警服務(wù)、基線服務(wù)、DQC服務(wù)、血緣數(shù)據(jù)、事件管理和值班系統(tǒng)等相關(guān)的數(shù)據(jù)服務(wù)系統(tǒng)。我們將這些系統(tǒng)的數(shù)據(jù)統(tǒng)一導(dǎo)入到數(shù)倉(cāng)中,并進(jìn)行相應(yīng)的分層建設(shè)。
在分層方面,我們進(jìn)行了明細(xì)層、進(jìn)度匯總層和高度匯總層的區(qū)分。在這些分層中,我們將保障效果的數(shù)據(jù)進(jìn)行抽象,包括異常清單和告警情況,并進(jìn)行相應(yīng)的數(shù)據(jù)建設(shè),最終呈現(xiàn)在看板上。這為數(shù)倉(cāng)團(tuán)隊(duì)和橫向團(tuán)隊(duì)提供了數(shù)據(jù)能力,包括質(zhì)量分運(yùn)營(yíng)看板、實(shí)時(shí)保障看板和告警歸因看板等一系列數(shù)據(jù)服務(wù)能力。
在質(zhì)量數(shù)倉(cāng)的基礎(chǔ)之上,接下來(lái)是三個(gè)核心能力。
2、完備的質(zhì)量保障體系
第一個(gè)核心能力是完備的質(zhì)量保障體系。目標(biāo)是確保數(shù)據(jù)滿足用戶要求。各方需要對(duì)數(shù)據(jù)質(zhì)量負(fù)責(zé),并按照標(biāo)準(zhǔn)監(jiān)控?cái)?shù)據(jù)質(zhì)量。我們會(huì)沉淀規(guī)則庫(kù),為實(shí)現(xiàn)保障目標(biāo)提供服務(wù),并推進(jìn)可持續(xù)改進(jìn)計(jì)劃。
這一核心能力可以進(jìn)一步拆解為三個(gè)部分。
第一部分是構(gòu)建監(jiān)測(cè)體系。
在這個(gè)體系中,我們將通過(guò)數(shù)據(jù)資產(chǎn)的定級(jí)來(lái)觸發(fā)加工鏈路的卡點(diǎn)校驗(yàn),并進(jìn)一步監(jiān)控?cái)?shù)據(jù)風(fēng)險(xiǎn)點(diǎn)。這包括常見(jiàn)的數(shù)據(jù)保障實(shí)體、基線任務(wù)和模型,并通過(guò)這些來(lái)衡量數(shù)據(jù)質(zhì)量的效果。其次是構(gòu)建質(zhì)量分衡量機(jī)制,并支持從多維度的視角進(jìn)行衡量。最后是制定保障規(guī)則,并識(shí)別各個(gè)數(shù)據(jù)資產(chǎn)的待優(yōu)化項(xiàng)。在這個(gè)過(guò)程中,有兩個(gè)重要的方面需要提及,第一個(gè)方面是卡點(diǎn)校驗(yàn)規(guī)則庫(kù),這個(gè)規(guī)則庫(kù)主要涵蓋完整性、一致性、有效性和及時(shí)性等與數(shù)倉(cāng)傳統(tǒng)卡點(diǎn)校驗(yàn)相關(guān)的內(nèi)容,我們?cè)诖嘶A(chǔ)上將進(jìn)一步擴(kuò)展到埋點(diǎn)、集成、加工、組裝、出倉(cāng)和 API 服務(wù)等相關(guān)環(huán)節(jié);第二個(gè)方面是建立事故歸因知識(shí)庫(kù),這個(gè)知識(shí)庫(kù)主要用于歸因相關(guān)的問(wèn)題,并結(jié)合告警和恢復(fù)工具的能力,提高用戶解決問(wèn)題的效率,降低異常成本。
第二部分是部門間的協(xié)同保障。
數(shù)據(jù)中臺(tái)的鏈路已經(jīng)相對(duì)復(fù)雜,因此如何與數(shù)據(jù)中臺(tái)的上下游相關(guān)方協(xié)同合作,共同制定符合 SLA 保障標(biāo)準(zhǔn)的機(jī)制,并形成跨團(tuán)隊(duì)的保障機(jī)制,是非常重要的保障環(huán)節(jié)。
這里重點(diǎn)介紹夜間值班的情況。
夜間值班的流程包括:緊急跟進(jìn)、原因定位、數(shù)據(jù)恢復(fù)和影響通知。數(shù)倉(cāng)團(tuán)隊(duì)的值班同學(xué)會(huì)觸發(fā)卡點(diǎn)校驗(yàn)的告警監(jiān)控。一旦觸發(fā),我們會(huì)立即采取止損措施,并評(píng)估數(shù)據(jù)是否對(duì)業(yè)務(wù)產(chǎn)生潛在影響。如果有影響,我們會(huì)及時(shí)通知相關(guān)方,并將問(wèn)題轉(zhuǎn)交給兄弟團(tuán)隊(duì)進(jìn)行跟進(jìn)和數(shù)據(jù)恢復(fù)。恢復(fù)完成后,我們會(huì)再次通知相關(guān)業(yè)務(wù)方,并對(duì)整個(gè)事項(xiàng)進(jìn)行歸檔。
第三部分是推進(jìn)日常運(yùn)營(yíng)。
日常運(yùn)營(yíng)化是指周期性地同步基于質(zhì)量數(shù)倉(cāng)產(chǎn)出的保障核心指標(biāo)和目標(biāo)的情況,確保其達(dá)到標(biāo)準(zhǔn)。同時(shí),我們會(huì)定期回顧過(guò)去一段時(shí)間的歷史問(wèn)題,并進(jìn)行規(guī)則的沉淀和歸類,以避免類似問(wèn)題的重復(fù)發(fā)生。我們會(huì)定期確定保障項(xiàng)目的效果,推動(dòng)代辦人員進(jìn)行相應(yīng)事項(xiàng)的完善。
在推進(jìn)過(guò)程中,我們對(duì)保障目標(biāo)進(jìn)行了抽象,并確定了衡量和提升的方法。基于當(dāng)前中臺(tái)的核心衡量維度,我們關(guān)注數(shù)據(jù)的完整性、一致性、準(zhǔn)確性和告警響應(yīng)度,以及監(jiān)控的覆蓋率、作業(yè)穩(wěn)定性、時(shí)效性和鏈路保障率等方面。我們還基于八個(gè)維度構(gòu)建了質(zhì)量分,滿分為 100 分,并將其拆分為多個(gè)維度。通過(guò)質(zhì)量分,我們可以衡量當(dāng)前保障工作的進(jìn)展和目標(biāo)。接下來(lái),我們將基于質(zhì)量分來(lái)分發(fā)待辦事項(xiàng)。例如,對(duì)于模型監(jiān)控覆蓋率方面,我們會(huì)提醒相關(guān)人員進(jìn)行相應(yīng)的操作,如配置完整性檢查和逐漸重復(fù)檢查。
3、數(shù)字化驅(qū)動(dòng)持續(xù)優(yōu)化
第二大核心能力是數(shù)字化驅(qū)動(dòng)的持續(xù)優(yōu)化。在這一部分,我們主要關(guān)注在構(gòu)建基于源數(shù)據(jù)的數(shù)倉(cāng)體系后的決策判斷。我們的推進(jìn)策略按照以下鏈路進(jìn)行管控:首先是構(gòu)建衡量指標(biāo),然后進(jìn)行現(xiàn)狀分析的描述,接著基于數(shù)據(jù)發(fā)現(xiàn)問(wèn)題并提出解決方案,最后持續(xù)跟進(jìn)優(yōu)化效果。整體目標(biāo)是通過(guò)數(shù)字化的衡量來(lái)驅(qū)動(dòng)質(zhì)量保障,并持續(xù)提升保障效果。
4、高效的故障處理能力
第三大核心能力是高效的故障處理能力。根據(jù)過(guò)去的保障實(shí)踐經(jīng)驗(yàn),質(zhì)量問(wèn)題是難以避免的。在面對(duì)質(zhì)量保障問(wèn)題時(shí),我們需要快速響應(yīng),將問(wèn)題最小化,甚至在短時(shí)間內(nèi)實(shí)現(xiàn)快速恢復(fù),以確保用戶無(wú)感知。這是一個(gè)重要的方向。
基于此,我們進(jìn)行了一些功能支持和方法論的設(shè)計(jì)。從數(shù)據(jù)開發(fā)的視角,提供了機(jī)械風(fēng)險(xiǎn)診斷、告警能力優(yōu)化、故障恢復(fù)系統(tǒng)和規(guī)則配置系統(tǒng)等。另外,從底層服務(wù)的視角,致力于構(gòu)建一鍵恢復(fù)的故障鏈路、分級(jí)全鏈路保障和統(tǒng)一運(yùn)維值班機(jī)制。
目標(biāo)是通過(guò)日常保障實(shí)踐來(lái)沉淀方法論,持續(xù)打磨產(chǎn)品能力,提升數(shù)據(jù)質(zhì)量標(biāo)準(zhǔn)。同時(shí),我們也致力于優(yōu)化故障響應(yīng)效率,降低夜間值班的成本。
三、案例分享
接下來(lái),分享B站在保障方面的一個(gè)實(shí)際案例。
以上是數(shù)據(jù)開發(fā)的正常流程,包括任務(wù)上線、日常跑批的監(jiān)控覆蓋以及可能觸發(fā)的告警。在發(fā)生問(wèn)題后,我們會(huì)進(jìn)行相應(yīng)的響應(yīng)和數(shù)據(jù)恢復(fù),并推動(dòng)問(wèn)題的歸檔。
在開發(fā)階段,我們面臨的問(wèn)題是線上待保障的任務(wù)較多。目前,我們已經(jīng)有超過(guò)五千個(gè)核心任務(wù),但整個(gè)保障事項(xiàng)的監(jiān)控覆蓋率不足 50%。此外,我們還存在監(jiān)控覆蓋缺乏審批規(guī)則和發(fā)布流程相對(duì)不完善的問(wèn)題。
在值班階段,我們面臨的問(wèn)題是值班響應(yīng)的 SOP 流程不完善,跟進(jìn)效率較低。夜間故障信息同步鏈路也不完善。同時(shí),我們的夜間值班率較高,達(dá)到了50%左右。這意味著每周大約有三到四天需要有同學(xué)進(jìn)行夜間值班來(lái)響應(yīng)故障。由于故障經(jīng)常發(fā)生,恢復(fù)時(shí)間較長(zhǎng),人力投入也較大。
在復(fù)盤階段,我們發(fā)現(xiàn)許多問(wèn)題并不是由數(shù)倉(cāng)的日常操作引起的,同時(shí)也有一些反復(fù)出現(xiàn)的保障問(wèn)題。
總結(jié)起來(lái),這些問(wèn)題可以歸結(jié)為三個(gè)方面:數(shù)據(jù)鏈路過(guò)長(zhǎng)且組件過(guò)多,不知從何處著手進(jìn)行保障;當(dāng)前的保障指標(biāo)表現(xiàn)不佳,能推進(jìn)到什么程度心里沒(méi)底;不知是否有推進(jìn)套路可以借鑒。
在初始階段,大家的保障意識(shí)薄弱。隨著時(shí)間的推移,我們逐漸進(jìn)入了起步階段,推進(jìn)人員開始意識(shí)到保障的重要性。隨著保障工作逐步推進(jìn),形成了方法論,進(jìn)而建立了相應(yīng)的分級(jí)保障機(jī)制。之后逐漸進(jìn)入了基于質(zhì)量數(shù)倉(cāng)的量化管理階段。我們可以基于特定的指標(biāo)對(duì)事項(xiàng)進(jìn)行拆解,并衡量數(shù)據(jù)目標(biāo)的達(dá)成情況,從而推動(dòng)持續(xù)優(yōu)化的工作。
整個(gè)推進(jìn)思路按照以下三個(gè)步驟進(jìn)行推演:數(shù)據(jù)鏈路的拆解、保障分級(jí)的建設(shè)以及全生命周期的覆蓋。
在數(shù)據(jù)鏈路拆解環(huán)節(jié),我們將中臺(tái)鏈路簡(jiǎn)圖進(jìn)一步抽象成數(shù)倉(cāng)的建設(shè)流程。包括從埋點(diǎn)數(shù)據(jù)轉(zhuǎn)入數(shù)倉(cāng)加工,數(shù)倉(cāng)模型校驗(yàn)和數(shù)據(jù)服務(wù)構(gòu)建,API 構(gòu)建,最終將數(shù)據(jù)出倉(cāng)給服務(wù)應(yīng)用。在這個(gè)過(guò)程中,我們還可以抽象出保障的數(shù)據(jù)實(shí)體。當(dāng)前的中臺(tái)保障實(shí)體包括埋點(diǎn)、離線和實(shí)時(shí)項(xiàng)目任務(wù),模型表、Kafka 主題,模型字段數(shù)據(jù)指標(biāo),數(shù)據(jù)基線以及數(shù)據(jù)基線 API 等相關(guān)實(shí)體。
保障分級(jí)建設(shè)。在許多公司和數(shù)倉(cāng)建設(shè)的初期階段,對(duì)保障的意識(shí)可能不夠完善。隨著業(yè)務(wù)的發(fā)展,大家逐漸認(rèn)識(shí)到質(zhì)量保障的重要性。在實(shí)施保障分級(jí)的鏈路中,我們按照以下方法論進(jìn)行迭代推演:確定分級(jí)標(biāo)準(zhǔn),評(píng)估數(shù)據(jù)現(xiàn)狀,完成數(shù)據(jù)的分級(jí),并基于分級(jí)推動(dòng)持續(xù)優(yōu)化。
預(yù)期的收益是能夠梳理出整個(gè)核心保障鏈路的數(shù)量,并推進(jìn)重要分級(jí)保障場(chǎng)景的覆蓋率。通過(guò)這樣的工作,我們可以明確討論哪些數(shù)據(jù)是重要的,并與相關(guān)的上下游方制定相應(yīng)的保障策略。剛剛我們也提到了保障分級(jí)建設(shè)的思路。
全生命周期的覆蓋。前文提到了基于數(shù)據(jù)實(shí)體的抽象,針對(duì)這些抽象后的實(shí)體,我們將跟進(jìn)相應(yīng)的事前、事中和事后的保障機(jī)制。
事前階段包括埋點(diǎn)數(shù)據(jù)的準(zhǔn)備、開發(fā)階段的監(jiān)控標(biāo)準(zhǔn)以及發(fā)布階段的準(zhǔn)備工作。在事中階段,我們會(huì)進(jìn)行卡點(diǎn)校驗(yàn)、值班機(jī)制的執(zhí)行以及事故的修復(fù)工作。在事后階段,我們重點(diǎn)關(guān)注事件的反饋、保障的衡量,進(jìn)行事后復(fù)盤,并沉淀到知識(shí)庫(kù)中。
這里再介紹一個(gè)B 站保障中存在的痛點(diǎn)問(wèn)題,即公司層面進(jìn)行機(jī)房遷移工作時(shí),對(duì)數(shù)倉(cāng)保障施加了巨大壓力。由于各個(gè)組件服務(wù)的混部部署,機(jī)房遷移會(huì)導(dǎo)致極大程度出現(xiàn)告警,并且一旦出現(xiàn)告警,由于基礎(chǔ)服務(wù)的原因,會(huì)導(dǎo)致全鏈路的擊穿。
因此,在多重原因復(fù)合的情況下,進(jìn)行告警原因歸類成為迫切需要解決的問(wèn)題。項(xiàng)目挑戰(zhàn)在于單次告警計(jì)算涉及全鏈路,并觸發(fā)大量告警,同時(shí)涉及所有任務(wù)的 OWNER。在極端情況下,連續(xù)五周工作日的夜間值班率達(dá)到 80%以上。這種情況下,數(shù)據(jù)異常和修復(fù)成本都極高,峰值時(shí)達(dá)到單次事故 80+人天。
基于上述情況,我們首先將所有的告警梳理到數(shù)倉(cāng)的相關(guān)鏈路中,并對(duì)其原因進(jìn)行歸類。通過(guò)原因的歸類,進(jìn)一步確定問(wèn)題是由平臺(tái)方、工具方還是數(shù)倉(cāng)相關(guān)原因引起的?;谶@個(gè)歸類,我們建議優(yōu)先推進(jìn)解決這些主要問(wèn)題,并與相關(guān)方對(duì)齊優(yōu)化方案和規(guī)則的后續(xù)覆蓋。
通過(guò)保障體系的建設(shè)和推進(jìn),我們的整體保障情況符合預(yù)期。
事件數(shù)在三個(gè)季度的優(yōu)化過(guò)程中呈下降趨勢(shì),降低了 50%。事件捕獲率趨近于 100%,數(shù)倉(cāng)起夜天數(shù)也呈下降趨勢(shì),降低了55%。核心基線破線數(shù)逐步收斂,近三個(gè)季度中逐季累降。起夜人次相較于保障之前已經(jīng)下降了59%。夜間耗時(shí)也下降了 86%。
結(jié)合保障分級(jí)的推進(jìn),我們也清楚梳理了核心場(chǎng)景的范圍,并進(jìn)行了相應(yīng)的保障率的推進(jìn),達(dá)到了 100%。
在整個(gè)保障推進(jìn)過(guò)程中,我們也發(fā)現(xiàn)了一些問(wèn)題。
保障的入手比較困難,因?yàn)楸U鲜马?xiàng)本身具有一定的學(xué)習(xí)成本,并且涉及的范圍較廣。同時(shí),如何選擇合適的推廣路徑也是一個(gè)較大的問(wèn)題。
推進(jìn)落地比較困難。目前,一些相關(guān)規(guī)范的推進(jìn)仍然依賴人工的推動(dòng),需要有更好的方法來(lái)提高效率。
可視化效果不足。正如之前提到的,我們通過(guò)質(zhì)量分來(lái)衡量保障情況,但還需要更好的可視化方式來(lái)展示結(jié)果。
工作仍然容易陷入"運(yùn)動(dòng)式治理",缺乏可持續(xù)的效果。
我們?cè)?B 站數(shù)據(jù)平臺(tái)部門貢獻(xiàn)了方法論,并開發(fā)了相應(yīng)的治理平臺(tái)。通過(guò)這個(gè)平臺(tái),我們可以衡量規(guī)則、代辦事項(xiàng)以及未完成操作的同學(xué),并嵌入到平臺(tái)組件中,以支持快速點(diǎn)擊、覆蓋和響應(yīng)。
四、未來(lái)展望
未來(lái)的工作主要分為兩個(gè)方向。
第一個(gè)方向,持續(xù)擴(kuò)大保障范圍,豐富保障策略,繼續(xù)踐行數(shù)據(jù)化驅(qū)動(dòng)的方法,在保障存量可控的基礎(chǔ)上,持續(xù)提升增量覆蓋優(yōu)化。
第二個(gè)方向,理論結(jié)合實(shí)踐,持續(xù)推進(jìn)工具化能力迭代支持,完善溝通機(jī)制。
最后,隨著質(zhì)量保障工作的發(fā)展,我們希望從最初的手工操作階段逐漸進(jìn)入信息化階段,進(jìn)而推進(jìn)到智能化階段。在智能化階段,隨著保障方法論和規(guī)則庫(kù)的沉淀豐富,通過(guò)產(chǎn)品化能力支持,最終做到質(zhì)量保障可描述、好衡量、易操作。
五、問(wèn)答環(huán)節(jié)
Q:數(shù)據(jù)質(zhì)量分有八項(xiàng)規(guī)則構(gòu)成,但每個(gè)表的規(guī)則、數(shù)量、規(guī)則重要性都不一樣。怎么做到所有表的拉齊?
A:在B站,我們按照五個(gè)分級(jí)等級(jí)進(jìn)行數(shù)據(jù)質(zhì)量保障,重點(diǎn)關(guān)注線上數(shù)據(jù),如 BOSS看板和公司級(jí)分析產(chǎn)品?;诖耍覀冎贫烁鱾€(gè)保障分級(jí)的規(guī)范標(biāo)準(zhǔn)。例如,針對(duì)線上服務(wù)的數(shù)據(jù)模型,我們制定了一系列質(zhì)量規(guī)則。除了基礎(chǔ)規(guī)則,如表組件的唯一性規(guī)則配置和表行數(shù)規(guī)則配置,我們還推進(jìn)了基于該模型上游埋點(diǎn)數(shù)據(jù)的規(guī)則,如一致性校驗(yàn)和跨省校驗(yàn)。同時(shí),針對(duì)最高優(yōu)先級(jí)的分級(jí)場(chǎng)景,我們還配置了及時(shí)性規(guī)則,以驗(yàn)證線上服務(wù)的基線情況。對(duì)于較低級(jí)別的分級(jí)場(chǎng)景,我們僅配置基礎(chǔ)規(guī)則,以確?;灸P偷目捎眯?。
Q:文中提到了一個(gè)實(shí)時(shí)任務(wù)是部署在一個(gè)系統(tǒng)平臺(tái)的 Flink任務(wù)。如果不是在不同的平臺(tái)維護(hù),怎么拉齊評(píng)估整體的數(shù)據(jù)質(zhì)量?
A:在過(guò)去的一段時(shí)間里,我們重點(diǎn)推進(jìn)了解決一個(gè)問(wèn)題,即在不同平臺(tái)配置的情況下,我們無(wú)法獲取相關(guān)信息的挑戰(zhàn)。在B站內(nèi)部,由于涉及跨部門的情況,不同部門的調(diào)度系統(tǒng)也存在不一致性。為了解決這個(gè)問(wèn)題,我們的推進(jìn)思路是將易購(gòu)平臺(tái)的原始數(shù)據(jù)信息同步到質(zhì)量數(shù)倉(cāng)中,基于相同的鏈路進(jìn)行規(guī)范和代辦事項(xiàng)的梳理。并按照規(guī)范的數(shù)據(jù)格式進(jìn)行整理。整個(gè)鏈路可以復(fù)用,最終可以呈現(xiàn)類似于質(zhì)量分和代辦事項(xiàng)的結(jié)果。
Q:復(fù)盤的時(shí)候出現(xiàn)最多的是什么問(wèn)題?有什么加速排查的工具嗎?
A:第一個(gè)問(wèn)題:在復(fù)盤過(guò)程中,最常見(jiàn)的問(wèn)題取決于不同階段。在保障的初級(jí)階段,最常見(jiàn)的問(wèn)題是告警爆炸或告警湮沒(méi)的情況,即告警數(shù)量非常多。在這個(gè)階段,我們面臨的問(wèn)題是如何從大量的告警中提取有效的告警。針對(duì)這個(gè)問(wèn)題,我們的重點(diǎn)工作是:首先,如何有效地降低告警數(shù)量,同時(shí)確?,F(xiàn)有規(guī)則的生效和保障結(jié)果不受影響;其次,針對(duì)無(wú)效告警的原因進(jìn)行進(jìn)一步分析,以不斷調(diào)整保障規(guī)則的內(nèi)容。有些規(guī)則內(nèi)容可能會(huì)隨著時(shí)間和迭代的過(guò)程進(jìn)行更替。
第二個(gè)問(wèn)題:我們正在與協(xié)同的產(chǎn)品團(tuán)隊(duì)和開發(fā)團(tuán)隊(duì)一起重點(diǎn)推進(jìn),即加速排查工具的開發(fā)。這是為了解決告警數(shù)量過(guò)多的問(wèn)題。我們的目標(biāo)是建立一個(gè)事故知識(shí)庫(kù),并基于該知識(shí)庫(kù)進(jìn)行合理的告警分發(fā)。通過(guò)這個(gè)知識(shí)庫(kù)的分發(fā),我們可以將告警合理地分發(fā)給相關(guān)的團(tuán)隊(duì),從而減輕數(shù)倉(cāng)層面的值班壓力。這樣,相關(guān)團(tuán)隊(duì)可以更快速地進(jìn)行排查和處理。
- 上一篇
數(shù)字化轉(zhuǎn)型失敗的11個(gè)原因
數(shù)字化轉(zhuǎn)型已經(jīng)從一個(gè)流行語(yǔ)轉(zhuǎn)變?yōu)樯虡I(yè)成功的必由之路。然而,數(shù)字化轉(zhuǎn)型的失敗繼續(xù)困擾著許多企業(yè),盡管他們的企業(yè)在轉(zhuǎn)型上投入了大量資金。根據(jù)Statista Research的預(yù)測(cè),公司在2022年花費(fèi)了1.6萬(wàn)億美元,預(yù)計(jì)到2026年將達(dá)到3.4萬(wàn)億美元。
- 下一篇
長(zhǎng)三角實(shí)現(xiàn)區(qū)塊鏈電子醫(yī)療票據(jù)互聯(lián)互通,螞蟻鏈提供技術(shù)支持
在過(guò)去,商業(yè)健康險(xiǎn)理賠時(shí),往往需要提交不同醫(yī)療材料及醫(yī)療票據(jù),隨著這一功能的打通,用戶可以實(shí)現(xiàn)長(zhǎng)三角地區(qū)跨省就醫(yī)的票據(jù)免上傳、免驗(yàn)真?zhèn)?,不僅讓市民提交理賠材料更方便,更讓保險(xiǎn)公司審核理賠時(shí)效更快。
相關(guān)資訊
- 阿里云全面降價(jià),釋放了什么信號(hào)?
- 物聯(lián)網(wǎng)如何優(yōu)化工業(yè)部門的成本
- 到2026年,美洲車隊(duì)管理系統(tǒng)的安裝
- 如何科學(xué)評(píng)價(jià)企業(yè)數(shù)字化轉(zhuǎn)型的成
- 物聯(lián)網(wǎng)和商業(yè)計(jì)算的演變:未來(lái)的挑
- 人工智能如何改變數(shù)字化轉(zhuǎn)型?
- 語(yǔ)音識(shí)別技術(shù)的發(fā)展對(duì)人工智能領(lǐng)
- 區(qū)塊鏈技術(shù):構(gòu)建安全可信的分布式
- 2G和3G移動(dòng)網(wǎng)絡(luò)的終止及其對(duì)物聯(lián)
- 物聯(lián)網(wǎng)平臺(tái)之IOT網(wǎng)關(guān)