數(shù)據(jù)爆炸時(shí)代面臨的困境及突破口

2 評(píng)論 4869 瀏覽 4 收藏 31 分鐘

在大數(shù)據(jù)時(shí)代,更為核心的不是如何采集數(shù)據(jù),而是應(yīng)該聚焦在“數(shù)據(jù)應(yīng)用”上,數(shù)據(jù)產(chǎn)品的根源應(yīng)該是業(yè)務(wù)。本文作者根據(jù)自身的經(jīng)驗(yàn),對(duì)數(shù)據(jù)時(shí)代面臨的困境和突破口做了分析總結(jié),一起來看一下吧。

停更很久了,近期臨近年度大考雙十一,忙碌之前突發(fā)奇想對(duì)自己也對(duì)整個(gè)部門一路走過的經(jīng)歷做個(gè)總結(jié)。換句話說對(duì)我們2022年做個(gè)年度總結(jié),也希望分享一些實(shí)際業(yè)務(wù)歷程中遇到的問題場(chǎng)景,及面對(duì)問題該如何思考,如何落地,如何做效果評(píng)估等。

文章開始前再補(bǔ)充下背景,筆者所在的公司所處互聯(lián)網(wǎng)行業(yè),性質(zhì)為toB,產(chǎn)品面向企業(yè)服務(wù),首先感謝您的閱讀,讓我們開始吧。

一、面臨的處境

筆者目前所處的部門成立于2020年,部門定位是基礎(chǔ)數(shù)據(jù)服務(wù)部門,所謂基礎(chǔ)數(shù)據(jù)服務(wù)也就是職能屬性,例如銷售部門所屬直接產(chǎn)能部門。對(duì)于我們當(dāng)初搭建時(shí)的初衷則和大多數(shù)數(shù)據(jù)產(chǎn)品成立的愿景一樣:“用數(shù)據(jù)賦能業(yè)務(wù)”,只有真正從事數(shù)據(jù)服務(wù)相關(guān)工作的同學(xué)才能明白這短短7個(gè)字的含義。

DT時(shí)代以來,大數(shù)據(jù)殺熟,數(shù)據(jù)冗余,海量的數(shù)據(jù)已經(jīng)讓使用者應(yīng)接不暇。擁有數(shù)據(jù)從來不是可以使用好數(shù)據(jù)的理由,只是基礎(chǔ),當(dāng)然我不是指數(shù)據(jù)采集不重要,只是在大數(shù)據(jù)時(shí)代我理解更為核心的并不是如何采集數(shù)據(jù),目光更應(yīng)該聚焦在“數(shù)據(jù)應(yīng)用”,再龐大的數(shù)據(jù)中臺(tái),數(shù)據(jù)產(chǎn)品的根源也應(yīng)該是業(yè)務(wù),拋開業(yè)務(wù)數(shù)據(jù)只是DB中的一行明細(xì),它并不能為公司,為業(yè)務(wù)帶來增益。

整個(gè)公司的業(yè)務(wù)涉及到面對(duì)上下游的海量企業(yè)商家,同時(shí)也面臨著商家所使用的第三方平臺(tái),如上游平臺(tái):阿里,字節(jié),拼多多等;如下游物流:順豐、京東、三通一達(dá)等。我們需要為商家提供資源管理能力,這部分資源包含但不限于交易數(shù)據(jù)、成本數(shù)據(jù)、進(jìn)銷存數(shù)據(jù)等,這時(shí)首單其中的問題則是系統(tǒng)打通,單從國內(nèi)市場(chǎng)來看需要接入的平臺(tái)數(shù)量超過100,物流服務(wù)商也有大幾十,總結(jié)下來就是我們需要承擔(dān)數(shù)據(jù)的“進(jìn)出口”,“進(jìn)出口”進(jìn)行業(yè)務(wù)拆解可以分為以下。

1. 數(shù)據(jù)定義

根據(jù)業(yè)務(wù)定義所需的數(shù)據(jù)源為哪些,如電商平臺(tái)交易單、物流承運(yùn)商快遞單、商品成本數(shù)據(jù)。

  • 根據(jù)數(shù)據(jù)渠道定義屬性,如交易類、商品類、成本類、庫存類。
  • 根據(jù)屬性定義數(shù)據(jù)指標(biāo)如交易單量、發(fā)貨量、上行成功率、業(yè)務(wù)滲透率。

2. 數(shù)據(jù)采集

明確數(shù)據(jù)源后如何獲取,如開放式API,私有數(shù)據(jù)交互協(xié)議等。

3. 數(shù)據(jù)轉(zhuǎn)換

數(shù)據(jù)源的多樣性造就數(shù)據(jù)格式的復(fù)雜性、數(shù)據(jù)形態(tài)的多樣性,需定義屬于我們的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)。

4. 數(shù)據(jù)存儲(chǔ)

海量數(shù)據(jù)如何選擇存儲(chǔ)方式:

  • 數(shù)據(jù)格式考慮:結(jié)構(gòu)化數(shù)據(jù) or 非結(jié)構(gòu)化數(shù)據(jù);行存儲(chǔ) or 列存儲(chǔ)
  • 性能考慮:批插,讀寫等性能指標(biāo)(可以以業(yè)務(wù)容忍度定義,如響應(yīng)需控制在50ms)
  • 成本考慮:預(yù)估數(shù)據(jù)量大小,是否需要持久化存儲(chǔ),能否建立歸檔庫,歸檔數(shù)據(jù)保留時(shí)間等

5. 數(shù)據(jù)分析

  • 根據(jù)多維度定義分析模型,定義算法對(duì)數(shù)據(jù)做加工解析,得到可產(chǎn)生業(yè)務(wù)價(jià)值的指導(dǎo)數(shù)據(jù)
  • 根據(jù)業(yè)務(wù)屬性建立分析模型,可定時(shí)定量輸出分析結(jié)果
  • 穩(wěn)定性,易用性分析等

6. 數(shù)據(jù)應(yīng)用

用數(shù)據(jù)引導(dǎo)業(yè)務(wù),反哺業(yè)務(wù),詮釋業(yè)務(wù)價(jià)值,協(xié)助業(yè)務(wù)做效果評(píng)估。

7. 數(shù)據(jù)治理

海量的數(shù)據(jù)需約定規(guī)范,建立數(shù)據(jù)血緣關(guān)系;打造可持續(xù)發(fā)展的生態(tài),才能打下扎實(shí)基礎(chǔ),未來承載更多的業(yè)務(wù)量。

8. 數(shù)據(jù)開放

可復(fù)用、易用的數(shù)據(jù)如何打造生態(tài),對(duì)外賦能更多的商家,賦能更多業(yè)務(wù)域。

以上為職能的簡易拆解,拆解思路基本為按人員劃分(團(tuán)隊(duì)人員搭建的目標(biāo)也是按以上節(jié)點(diǎn)進(jìn)行組成)。說完了職能描述再來看下每種職能背后所面對(duì)的真實(shí)問題,結(jié)合實(shí)際場(chǎng)景才能讓讀者身臨其境,通過冰冷的文字感覺到價(jià)值或思路。

1)數(shù)據(jù)定義

這一步驟分為兩階段,一階段是團(tuán)隊(duì)搭建初期,數(shù)據(jù)需求則是企業(yè)需求,驅(qū)動(dòng)力完全來源于使用者,企業(yè)需要什么數(shù)據(jù)我們就去接入什么數(shù)據(jù),截止到2022年11月已接入了371家上游平臺(tái)100余家下游服務(wù)商(快遞公司、貨代)為企業(yè)獲取到他們分布在各個(gè)渠道的交易數(shù)據(jù)、商品數(shù)據(jù)、庫存數(shù)據(jù)、價(jià)格數(shù)據(jù)、成交數(shù)據(jù)等等。

第二階段則為本年度的狀態(tài),驅(qū)動(dòng)力更多地傾向于團(tuán)隊(duì)自身、功能迭代、性能調(diào)優(yōu)、存儲(chǔ)降本、引入流式計(jì)算等存儲(chǔ)&計(jì)算引擎來提高我們自身系統(tǒng)的健壯性、穩(wěn)定性、及時(shí)性等。

關(guān)于所謂的數(shù)據(jù)定義還是比較好理解,背后隱晦的問題在于如何降低維護(hù)成本,做過接口開發(fā)的同學(xué)應(yīng)該清楚維護(hù)接口的成本,特別是接入的外部系統(tǒng)數(shù)量增長到某個(gè)程度后接口參數(shù)發(fā)生微調(diào),或字段語義的不確定性就會(huì)到自身業(yè)務(wù)造成不可逆的影響。

2)數(shù)據(jù)采集

采集面臨的問題是渠道多樣性,數(shù)據(jù)格式多樣性等;渠道及格式多樣性意味著需要固定人力長期維護(hù),關(guān)注數(shù)據(jù)完整度,及時(shí)性等核心關(guān)鍵指標(biāo)。

3)數(shù)據(jù)轉(zhuǎn)換

ETL中比較復(fù)雜耗時(shí)的節(jié)點(diǎn),初期人力有限的情況下接入一個(gè)渠道獲取一個(gè)渠道的數(shù)據(jù),再針對(duì)該渠道數(shù)據(jù)做相對(duì)應(yīng)的轉(zhuǎn)換,轉(zhuǎn)換為所需的業(yè)務(wù)格式。

4)數(shù)據(jù)存儲(chǔ)

相信每一家互聯(lián)網(wǎng)公司的同學(xué)多少遇到過存儲(chǔ)相關(guān)的問題(有可能在您公司當(dāng)前階段并未暴露出來)公司起步初期,數(shù)據(jù)量小、多樣化少,不會(huì)遇到太大的寫入讀取壓力。

在當(dāng)前階段保留固定的數(shù)據(jù)入口及出口反而更能提高效率(針對(duì)每一種接入數(shù)據(jù)做相對(duì)應(yīng)的轉(zhuǎn)換,向指定DB進(jìn)行存儲(chǔ),向指定DB進(jìn)行統(tǒng)一讀?。?,相信這個(gè)階段也并不會(huì)遇到成本壓力,一開始我們便是采取這種方式,伴隨市場(chǎng)發(fā)展及拓張,在20-21年面臨數(shù)據(jù)量爆發(fā)式增長。

為了迎合市場(chǎng)產(chǎn)研部門按照不同的需求商家做了不同的數(shù)據(jù)源接入,多樣性已經(jīng)接近無法管理,多業(yè)務(wù)向DB進(jìn)行的讀寫也面臨著各種性能壓力,保證讀寫時(shí)序又做了大批量加鎖的行為導(dǎo)致各種表死鎖情況,年度成本數(shù)千萬。

5)數(shù)據(jù)分析

缺少分析經(jīng)驗(yàn),面對(duì)格式不一的數(shù)據(jù)更是無從下手,數(shù)據(jù)存儲(chǔ)量高到驚人,可惜都是冷數(shù)據(jù),長期以來并未讓數(shù)據(jù)產(chǎn)生與之對(duì)應(yīng)的價(jià)值。

6)數(shù)據(jù)應(yīng)用

缺少了分析的過程也就無從得知應(yīng)用,團(tuán)隊(duì)成本也并未養(yǎng)成“用數(shù)據(jù)說話”的習(xí)慣,更多業(yè)務(wù)決策更多的依賴人員的經(jīng)驗(yàn),也就是所謂的“閉門造車”。很頻繁地聽到各位同學(xué)脫口而出“我認(rèn)為xxxx”“我認(rèn)為客戶應(yīng)該xxxxx”,要善于用數(shù)據(jù)輔助我們做決策。

7)數(shù)據(jù)治理

多數(shù)互聯(lián)網(wǎng)企業(yè)可能并未經(jīng)歷過數(shù)據(jù)治理的過程,沒有體會(huì)過數(shù)據(jù)治理所帶來的價(jià)值,也并未理解為什么要投入大量的人力財(cái)力去做數(shù)據(jù)治理?!爸卫怼鳖櫭剂x是一種通過某種途徑做調(diào)節(jié)的機(jī)制,日常作業(yè)中可能會(huì)出現(xiàn)各種“數(shù)據(jù)不知道往哪里存”“數(shù)據(jù)不知道從哪里取”“這份數(shù)據(jù)誰在用”“改動(dòng)此數(shù)據(jù)的影響評(píng)估無法做”等等問題。

8)數(shù)據(jù)開放

這一步可能聊的比較不切實(shí)際了,多數(shù)公司基本數(shù)據(jù)內(nèi)驅(qū),在內(nèi)部做循環(huán),能使自身業(yè)務(wù)做增量已經(jīng)是比較理想的情況。距離做生態(tài)、治理生態(tài)還有一些距離,在自身已產(chǎn)生價(jià)值的情況下可以考慮將數(shù)據(jù)包裝后豐富自身的開放生態(tài),賦能更多的協(xié)同或上下游,完善整個(gè)行業(yè)。

9)價(jià)值

這一步算補(bǔ)充條款了,上面并沒有提及到,相信這一節(jié)也能引起很多朋友的共鳴,要知道基礎(chǔ)數(shù)據(jù)服務(wù)部門應(yīng)該都存在這個(gè)共性問題“如何做價(jià)值”無論是業(yè)務(wù)決策性產(chǎn)品或數(shù)據(jù)產(chǎn)品,難道我們只能被動(dòng)接受來自業(yè)務(wù)部門的數(shù)據(jù)需求嗎?

總是一味地聽從別人的“你把xxx數(shù)據(jù)轉(zhuǎn)換為xxxx輸出給我”“我要xxxx 你需要清洗好提供給我”,數(shù)據(jù)的價(jià)值并非止步于此,在不沖突的情況下,我們有沒有突破口去做出價(jià)值,或許在清洗數(shù)據(jù)提供給業(yè)務(wù)部門后我們也能提供到數(shù)據(jù)角度的效果評(píng)估?這份評(píng)估結(jié)果也可以表現(xiàn)為一種價(jià)值,一種左右業(yè)務(wù)方向的價(jià)值。

二、如何思考解決方案

面臨上述遇到的問題后,需要解決的問題也比較多,涉及到的業(yè)務(wù)域跨度比較廣。人力有限的情況下沒有辦法齊頭并進(jìn),只能對(duì)改造點(diǎn)做了列舉,列出優(yōu)先級(jí)和影響范圍劃定了整個(gè)部門Q1-Q4的目標(biāo)。這些任務(wù)多為內(nèi)驅(qū),同時(shí)需要保持來自業(yè)務(wù)團(tuán)隊(duì)的需求任務(wù),所以部門討論后得到了60%外部需求40%自驅(qū)的節(jié)奏。

這里羅列下簡易的拆解過程:

拆解過程簡單分為五步

簡單概述為痛點(diǎn),或者可以理解為核心目標(biāo),比較迫切在中短期內(nèi)解決或完善的內(nèi)容(居多的圍繞部門職能及核心價(jià)值),如我們屬于數(shù)據(jù)基礎(chǔ)部門,因而指標(biāo)多為數(shù)據(jù)相關(guān)。比較典型的就是數(shù)據(jù)幾個(gè)特性:穩(wěn)定性、及時(shí)性、完整性、易用性、成本。

1. 穩(wěn)定性

這里描述的是集群穩(wěn)定性,規(guī)模龐大的商家群體意味著會(huì)存在規(guī)模龐大的數(shù)據(jù)鏈路,為了減免宕機(jī)等穩(wěn)定因素對(duì)業(yè)務(wù)產(chǎn)生不可逆的影響,也是業(yè)務(wù)的基石。

集群分布也可以拆解為web集群(B/S架構(gòu)的網(wǎng)頁)和任務(wù)集群(Job調(diào)度集群),在云資源逐步增加的基礎(chǔ)上對(duì)集群做一定的“資源瘦身”。web集群比較好理解主要是監(jiān)控高并發(fā)的請(qǐng)求,及一些核心業(yè)務(wù)操作的穩(wěn)定性(如訂單操作,報(bào)表操作多為DB增刪改查操作),加入監(jiān)控體系。這也是我們搭建的第一組監(jiān)控系統(tǒng),凌駕于整個(gè)部門所涉及的全業(yè)務(wù)之上,這里想到了監(jiān)控系統(tǒng)設(shè)計(jì)的幾個(gè)核心:

  • 報(bào)警的觸達(dá)應(yīng)當(dāng)是緊急的、重要的、可執(zhí)行的、真實(shí)的。
  • 規(guī)則應(yīng)當(dāng)表示為服務(wù)處于過程中或者即將發(fā)生的問題。
  • 為了保持報(bào)警項(xiàng)的精確、有效,寧可過度移除報(bào)警噪音,因?yàn)檫^度監(jiān)控比監(jiān)控不足更難解決。
  • 你應(yīng)該總是能夠?qū)栴}分為以下幾種:基本功能的可用性問題;延遲;正確性(數(shù)據(jù)的完整性、新鮮性和持久性);以及特定功能問題。
  • 規(guī)則描述癥狀是更好的方法,可以更輕松、更全面、更可靠地捕獲更多的問題。
  • 在基于癥狀的頁面或儀表板中包含基于原因的信息,但要避免直接針對(duì)原因發(fā)出警報(bào)。
  • 報(bào)警越往上層的服務(wù)走,在一個(gè)報(bào)警規(guī)則中可以抓住的明顯問題就越多。但不要走得太遠(yuǎn),無法充分區(qū)分發(fā)生了什么。
  • 如果你想在值班時(shí),報(bào)警系統(tǒng)保持安靜, 那么需要有一套系統(tǒng)和標(biāo)準(zhǔn)化的流程能夠自動(dòng)處理那些需要被盡快處理的事情,但不至于讓你半夜三點(diǎn)鐘爬起來上線的情況。

這里簡單說下監(jiān)控系統(tǒng)搭建的心路歷程。預(yù)警的目的不是為了預(yù)警,所以預(yù)警內(nèi)容必須具備緊急且可執(zhí)行的特性,這個(gè)指標(biāo)很重要,很多監(jiān)控系統(tǒng)的設(shè)計(jì)從最初就開始拆解各個(gè)業(yè)務(wù)指標(biāo),往往幾十個(gè)指標(biāo),報(bào)警一大堆,處理人員沒有頭緒無從下手。

寧可過渡移除報(bào)警噪音這一點(diǎn)也需多多關(guān)注,報(bào)警并不是越多越好,也并不一定是越細(xì)越好,將最重要的內(nèi)容在合適的時(shí)間報(bào)向正確的人才是合理的;報(bào)警規(guī)則盡量貼近業(yè)務(wù),脫離現(xiàn)實(shí)的報(bào)警只會(huì)讓你增加無盡的煩惱。

最后一條相信搭建過監(jiān)控系統(tǒng)的同學(xué)都感同身受(報(bào)警滴滴響,時(shí)間長了人員也開始疲勞,疏忽落實(shí)報(bào)警內(nèi)容)這時(shí)就引出了配套能力之一:值守系統(tǒng),何謂值守(自動(dòng)化值班)可以抽出統(tǒng)一的數(shù)據(jù)交互錯(cuò)誤格式,也就是標(biāo)準(zhǔn)異常碼,參與過接口開發(fā)的同學(xué)應(yīng)該比較清楚一個(gè)接口的響應(yīng)信息一般都存在兩層(code,msg)msg即消息主體,code即描述碼;

如code = 200即成功 code = 500001 即業(yè)務(wù)錯(cuò)誤,再進(jìn)行細(xì)分的話可以做到二級(jí)code,如code = 500001 & sub_code = 9999 等于系統(tǒng)宕機(jī),需要調(diào)度系統(tǒng)重試,這就是抽象出code映射關(guān)系后就可以建立自動(dòng)化值守系統(tǒng),根據(jù)code定義的決策結(jié)果進(jìn)行自動(dòng)化不間歇的”值班”從一定程度上釋放了產(chǎn)研人員的壓力。

此處可以深挖的細(xì)節(jié)還有很多,例如可以根據(jù)code搭配AI機(jī)器人,從移動(dòng)端接收產(chǎn)研人員的操作指令,完成權(quán)限分配、OA流程審批、資源購置等。亦或者根據(jù)預(yù)設(shè)code完成線程分配,調(diào)整任務(wù)集群步頻、步長、步幅等動(dòng)作。

有了監(jiān)控 + 值守后當(dāng)然少不了預(yù)警系統(tǒng),也就是所謂的消息分發(fā)系統(tǒng),經(jīng)過值守系統(tǒng)自動(dòng)化處置后依然有一些關(guān)鍵性異常是系統(tǒng)無法自動(dòng)消化的,需要人為介入,那這時(shí)需要用到分發(fā)系統(tǒng)。

可以與多種消息渠道打通,如企業(yè)微信、釘釘、飛書、短信,更甚至可以電話,可根據(jù)預(yù)警等級(jí)推送至可執(zhí)行的人員或組里(需提前按照職責(zé)劃分對(duì)應(yīng)的接收組或接收人)預(yù)警通知需要建立固定的處理流程,個(gè)別高優(yōu)異常需建立駐留時(shí)間達(dá)到xx時(shí)問題上升,讓更多更專業(yè)的同學(xué)參與進(jìn)來協(xié)助處理。

2. 及時(shí)性

做數(shù)據(jù)基礎(chǔ)服務(wù)避免不了的就是降低數(shù)據(jù)交互耗時(shí),內(nèi)外部系統(tǒng)交互的RT值,需要把整體數(shù)據(jù)鏈路的耗時(shí)降下來。那么在調(diào)度資源不變的情況下需要如何做到,思路也比較明確,“讓資源在合適的時(shí)間用到合適的地方”服務(wù)器資源會(huì)存在高負(fù)載及低負(fù)載的時(shí)間段,如高頻計(jì)算的白天,多條數(shù)據(jù)鏈路需公用資源,那我們可以將資源量化后區(qū)分業(yè)務(wù)或商家的優(yōu)先級(jí),將更多的資源分配至更高優(yōu)的業(yè)務(wù)鏈路。

在凌晨負(fù)載降下來以后可以去執(zhí)行一些海量數(shù)據(jù)的離線計(jì)算服務(wù),如日?qǐng)?bào)、歸檔、大規(guī)模業(yè)務(wù)數(shù)據(jù)重算等操作,可以在這些時(shí)間點(diǎn)做一些兜底的業(yè)務(wù)策略,一些數(shù)據(jù)稽核的過程可以放置于此,一方面資源沒有浪費(fèi),一方面也可以提升整體鏈路的健壯性,另一方面提高響應(yīng)。

降低耗時(shí)的另一個(gè)思路就是“瘦身”,這個(gè)瘦身不止在資源上,對(duì)業(yè)務(wù)也一樣,一些涉及到與存儲(chǔ)介質(zhì)交互的業(yè)務(wù),例如對(duì)數(shù)據(jù)庫的讀寫操作,是否可以支持批量,是否會(huì)出現(xiàn)表鎖行鎖等情況,業(yè)務(wù)代碼是否會(huì)出現(xiàn)大量的逐條循環(huán)逐條更新的操作等等;扣業(yè)務(wù)細(xì)節(jié),通過各種細(xì)節(jié)做持續(xù)的優(yōu)化以達(dá)到一個(gè)良性循環(huán)。

3. 完整性

這一步的背景是這樣的,在存在大量的數(shù)據(jù)入口時(shí),很多數(shù)據(jù)來自于上下游系統(tǒng)、服務(wù)商。數(shù)據(jù)口徑不同不易維護(hù),外部數(shù)據(jù)字典發(fā)生變更會(huì)影響到我們自身業(yè)務(wù),如反序列化等步驟,這時(shí)為了保證業(yè)務(wù)可以獲得完整且結(jié)構(gòu)明確的數(shù)據(jù),我們可以封裝統(tǒng)一的數(shù)據(jù)模型校驗(yàn)?zāi)芰?,根?jù)我們抽象出的業(yè)務(wù)模型(符合業(yè)務(wù)預(yù)期的)對(duì)實(shí)時(shí)數(shù)據(jù)做校驗(yàn)。

如果擔(dān)心對(duì)性能有壓力可以選擇性將一些比對(duì)工作做成異步操作,保證主鏈路順暢的同時(shí)如果比對(duì)出一些邊角數(shù)據(jù)可以通過第二步的預(yù)警體系完成回流,人工介入去確認(rèn)情況,更及時(shí)有效的感知數(shù)據(jù)變更,從而降低對(duì)業(yè)務(wù)系統(tǒng)的影響。

4. 易用性

這一步更多的需要用到工程思維,在業(yè)務(wù)沉淀的過程中更多的考慮如何抽象,如何封裝統(tǒng)一方法、接口讓內(nèi)外部的協(xié)同更好更高效地使用數(shù)據(jù)?,F(xiàn)在微服務(wù)的概念越來越普及,很多模塊化、碎片化、服務(wù)化的系統(tǒng)更利于后期的業(yè)務(wù)拓展、業(yè)務(wù)重構(gòu)。

通過封裝統(tǒng)一數(shù)據(jù)接口的方式降低數(shù)據(jù)的使用門檻,通過抽象模塊,服務(wù)的設(shè)計(jì)使得系統(tǒng)得到高可用的后期空間。在此基礎(chǔ)上,業(yè)務(wù)系統(tǒng)需要使用數(shù)據(jù)時(shí),可以更多地把目光放在賦能業(yè)務(wù)上而不需要過多考慮數(shù)據(jù)使用問題。

在此基礎(chǔ)上建立數(shù)據(jù)治理系統(tǒng),對(duì)數(shù)據(jù)血緣關(guān)系做完整鏈路記載,便于后續(xù)我們做追溯,更多的服務(wù)化也使得業(yè)務(wù)耦合度降低,降低迭代所帶來的影響范圍及灰度成本。

5. 成本

最后這一段有關(guān)成本,歸根到底降本增效這條路是需要持續(xù)走下去。特別是互聯(lián)網(wǎng)行業(yè),除去人力這一最昂貴的成本之外,資源成本也讓人頭痛,各種技術(shù)棧所帶來的成本數(shù)不勝數(shù)。

存儲(chǔ)成本如服務(wù)器資源成本,DB、數(shù)倉的存儲(chǔ)成本,中間件及計(jì)算引擎所帶來的計(jì)算成本等都是大頭,對(duì)于這個(gè)問題,我們初步的方案是在調(diào)度分配的策略優(yōu)化基礎(chǔ)上,對(duì)底層存儲(chǔ)結(jié)構(gòu)做了調(diào)整,即分庫分表規(guī)則,將數(shù)據(jù)&資源流量合理的分配后可以壓縮出更多的使用空間,將低負(fù)載的集群都合理分配到更多的業(yè)務(wù),減少集群閑置的頻率。

當(dāng)然機(jī)器的使用空間不單單只是我們自身的業(yè)務(wù),在亞馬遜云初期的時(shí)候就是因?yàn)樽陨睚嫶蟮募洪e置了很多資源,才想到對(duì)外租賃一部分云資源并提供一系列的云服務(wù),這些高效的存儲(chǔ)、算力都可以為一些中小企業(yè)提供很好的基礎(chǔ),半托管&全托管的服務(wù)也隨之而來,總之合理利用現(xiàn)有資源來達(dá)成更多的業(yè)務(wù)目的就是關(guān)鍵。

說了這么多,也簡單畫了個(gè)草圖,描述了下當(dāng)前我們的一套系統(tǒng)架構(gòu)圖,內(nèi)容不是很全面,不過也概括了目前基本的分布情況。

從上至下可分為一層接口層,采用API、導(dǎo)入、數(shù)據(jù)推送等技術(shù)手段完成對(duì)外部數(shù)據(jù)的采集。

二層為模型轉(zhuǎn)換層,數(shù)據(jù)格式校驗(yàn)、模型校驗(yàn)等皆在于此。

三層多為一些中間件服務(wù),如消息隊(duì)列、集中式&分布式緩存、流失數(shù)據(jù)計(jì)算引擎、即席查詢報(bào)表等。

四層為業(yè)務(wù)層,按業(yè)務(wù)域做了拆分,如交易、商品、庫存、財(cái)務(wù)等;按服務(wù)做了拆分,如交易服務(wù):多為處理交易數(shù)據(jù),對(duì)交易數(shù)據(jù)做清洗等,商品服務(wù)、發(fā)貨服務(wù)等。伴隨著業(yè)務(wù)則會(huì)有規(guī)則類服務(wù)進(jìn)行輔助,完成更多業(yè)務(wù)的限制,如綁贈(zèng)規(guī)則、風(fēng)控策略等。規(guī)則服務(wù)之外會(huì)有業(yè)務(wù)系統(tǒng)權(quán)限管理,這里的權(quán)限類則做了抽象,是可以對(duì)業(yè)務(wù)層的上下游提供能力。

五層為基礎(chǔ)數(shù)據(jù)存儲(chǔ)層,如關(guān)系型數(shù)據(jù)庫Mysql,非關(guān)系型數(shù)據(jù)庫MongoDB、數(shù)據(jù)倉庫等。

在1-5層的基礎(chǔ)上提供了內(nèi)部網(wǎng)關(guān),多用于承載內(nèi)部業(yè)務(wù)接口,做一些流控策略、風(fēng)控策略、鑒權(quán)策略等,保障業(yè)務(wù)的穩(wěn)定性及安全性。

在五層之外貫穿整體系統(tǒng)的有外部網(wǎng)關(guān),即內(nèi)部數(shù)據(jù)對(duì)外的網(wǎng)關(guān),可通過外部開發(fā)者身份進(jìn)駐在我們平臺(tái)之內(nèi),完成一些自研系統(tǒng)的開發(fā)數(shù)據(jù)獲取工作。

調(diào)度中心即自行搭建的基于主從關(guān)系(Master-Slave)的調(diào)度集群,掌管著系統(tǒng)內(nèi)外部一些資源調(diào)度及分配。可結(jié)合后續(xù)的日志服務(wù)及監(jiān)控中心完成一些健康度檢測(cè),心跳檢測(cè)等自我健康策略,保證系統(tǒng)的核心足夠的穩(wěn)定。

監(jiān)控中心及日志服務(wù)則滿足絕大多數(shù)環(huán)節(jié)的可植入性,通過封裝內(nèi)部接口使得全業(yè)務(wù)域均可低成本完成日志寫入,包括業(yè)務(wù)日志、用戶操作日志、用戶行為日志,更能使業(yè)務(wù)低成本地完成業(yè)務(wù)埋點(diǎn),并指定分析策略完成后續(xù)的數(shù)據(jù)復(fù)盤,及提供迭代的數(shù)據(jù)支持。

三、效果評(píng)估及思路

了解了以上眾多問題后的解決思路后,我們來看一下效果評(píng)估部分,說了再說沒有收益那也等于白干,在基于上述架構(gòu)的系統(tǒng)上我們當(dāng)前日處理交易單量近億,每日產(chǎn)生的日志數(shù)據(jù)量達(dá)到EB級(jí)別。

對(duì)于之前經(jīng)常遇到的機(jī)器高負(fù)載也有了明顯的改善,超過95%以上的調(diào)度集群全天保持穩(wěn)定水位。成本方面較為明顯,在原有的近千臺(tái)機(jī)器搭建的集群規(guī)模下完成了近80%的瘦身,成本方面每年節(jié)省的費(fèi)用可達(dá)數(shù)百萬。最后對(duì)于現(xiàn)有的服務(wù)化設(shè)計(jì)使得我們產(chǎn)研成本極具降低,有利于我們做快速的版本迭代,及時(shí)感知市場(chǎng)的變化。

也提供一些數(shù)據(jù)價(jià)值的思路,如車品覺老師的5類數(shù)據(jù)價(jià)值:
1)識(shí)別和串聯(lián)價(jià)值

  • 賬號(hào)和Cookie-通過賬號(hào),全站啡一鎖定同一個(gè)用戶
  • 手機(jī)號(hào)、身份證號(hào)、銀行卡,郵箱等-可以把PC/手機(jī)/PAD等設(shè)備串聯(lián)
  • 設(shè)備號(hào)-可以把設(shè)備上不同的APP串聯(lián)起來

2)描述價(jià)值

①企業(yè)

  • 經(jīng)營狀況:收入、資產(chǎn)、利潤、負(fù)債等
  • 實(shí)體狀況:如電商

②用戶

③商品或服務(wù)

3)時(shí)間價(jià)值

①歷史分析

  • 通過對(duì)用戶歷史的行為分析,可以得到用戶在場(chǎng)景下的偏好
  • 有了歷史數(shù)據(jù),數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)才有可能

②即時(shí)分析

  • 實(shí)時(shí)競(jìng)價(jià)的廣告推薦系統(tǒng)
  • 實(shí)時(shí)監(jiān)控系統(tǒng)

4)預(yù)測(cè)價(jià)值

①用戶預(yù)測(cè)

  • 用戶流失預(yù)警
  • 用戶偏好商品

②單品預(yù)測(cè)

  • 銷量預(yù)測(cè)
  • 經(jīng)營狀態(tài)預(yù)測(cè)
  • 預(yù)測(cè)用戶新增、留存、活躍情況

5)產(chǎn)出數(shù)據(jù)的價(jià)值

①電商店鋪的評(píng)分系統(tǒng)

好評(píng)數(shù)、好評(píng)率、描述相符、物流速度等。

②金融的征信評(píng)分模型

四、結(jié)尾

聊到最后也很想拋出一個(gè)共識(shí)問題,做基礎(chǔ)數(shù)據(jù)服務(wù)的價(jià)值上限在哪里?坦白說做了這么幾年也并沒有找到明確的答案,但是實(shí)踐證明,我們做好自身的數(shù)據(jù)規(guī)范并持續(xù)向業(yè)務(wù)輸出價(jià)值并不是終點(diǎn)。

隨著DT時(shí)代的到來,越來越多成熟的技術(shù)棧、數(shù)據(jù)產(chǎn)品出現(xiàn),ETL不再是麻煩的事,我們都會(huì)面臨“數(shù)據(jù)爆炸”的現(xiàn)實(shí),云計(jì)算、元宇宙、人工智能等領(lǐng)域的不斷擴(kuò)張也給我們帶來了很多挑戰(zhàn),當(dāng)前這個(gè)時(shí)代每年的數(shù)據(jù)量增長超過50%,麥肯錫曾提出一句話:

數(shù)據(jù)已滲透到今天的每個(gè)行業(yè)和業(yè)務(wù)功能領(lǐng)域,并已成為重要的生產(chǎn)要素。隨著新一輪的生產(chǎn)力增長和消費(fèi)者盈余浪潮的到來,海量數(shù)據(jù)的挖掘和使用預(yù)示著 “大數(shù)據(jù)”已經(jīng)存在于物理學(xué)、生物學(xué)、環(huán)境生態(tài)學(xué)等領(lǐng)域以及軍事、金融、通信等行業(yè),但是由于近年來互聯(lián)網(wǎng)的發(fā)展,信息產(chǎn)業(yè)的發(fā)展才引起了人們的關(guān)注。

讓我們拋開所謂的大數(shù)據(jù)殺熟,大數(shù)據(jù)已是未來等名詞著手看眼前,數(shù)據(jù)已不再匱乏,在多數(shù)互聯(lián)網(wǎng)行業(yè)的技術(shù)永遠(yuǎn)也不會(huì)成為業(yè)務(wù)壁壘,越來越多即開即用的技術(shù)產(chǎn)品可以為我們所用,數(shù)據(jù)分析模型早已隨處可見,我們可以很低成本且高效地獲取到我們想要的數(shù)據(jù)。

那么問題來了,價(jià)值何在?有數(shù)據(jù)不代表會(huì)用,會(huì)用不代表用得好,用得好不代表可以用的出眾!希望大家可以共勉,拋開充斥在生活中的一些低效內(nèi)容,找到最適合自己業(yè)務(wù)的分析方式和數(shù)據(jù),去獲得預(yù)期的結(jié)果及找到自身的“壁壘”才是核心。

增長也很難是一朝一夕可以改變的,現(xiàn)象級(jí)產(chǎn)品的確在現(xiàn)階段飽和式的用戶心智中很難誕生,也希望大家能在自己的崗位上發(fā)光發(fā)熱,熱愛這個(gè)行業(yè),拿到自己想要的結(jié)果。

本文由 @清醒 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 數(shù)據(jù)分析目前來看確實(shí)很火爆,但真正會(huì)收集數(shù)據(jù),掌握了數(shù)據(jù)分析技術(shù)并衍生出足夠的數(shù)據(jù)成果的,并不多。

    來自山西 回復(fù)
    1. 沒錯(cuò),這就是所謂的有不代表用得好,擁有永遠(yuǎn)也不會(huì)是終點(diǎn)

      來自上海 回復(fù)