企業級大資料架構設計【2】

qing_yun發表於2022-04-27

大家好,我是豬豬,沒錯是豬頭的豬。

之前原本計劃來寫寫企業的資料架構系列文章,最近一直在忙公司的事情而中斷。回顧上一篇文章企業級大資料中臺架構實戰【1】聊架構認知的三個高度,行業視野,技術視野,工作視野等。

那麼今天來聊聊企業資料架構做之前需要的考慮的幾個點,也可以說是具備的能力。

什麼叫合適的架構

之前有遇到過這種情況,有些人在大廠經歷了許多磨練,具備了一定的架構設計能力,但當他去一個小廠或者一個創業公司的時候,再根據大廠的業務來設計架構的時候,他其實不一定能夠設計出一個適合於當前業務的架構。這是為什麼,因為他沒有場景折中能力,只能依葫蘆畫瓢,但是畫出來的不一定是最優雅的

將場景折中能力進一步細化,就會得到“合適”架構設計思維模型。換句話說,在大廠我們可以用這樣的分散式架構,但是去了小廠,則不一定要繼續設計一個分散式架構或者資料架構,這時對於初創期的小廠,可能一個單體架構會是一個比較好的起點方向。

我們需要根據實際的業務場景來合理地設計系統架構,這個業務場景,包括了專案時間、團隊研發能力、團隊運維能力等。但是,最重要的還是要根據場景去折中或者平衡的這樣的一種能力,其實也是一種重要的思維模型。

架構設計到什麼程度,叫做合適,可能還是比較抽象,對它進一步拆解,就會得到適度超前架構設計思維模型。換句話說,我們設計的架構應該是能夠滿足一定時間內業務的發展的,那麼多長的時間算適度?半年到一年的時間段比較符合適度超前的。

脫離業務場景,空談架構絕對是耍流氓。異常牛逼的架構設計,如果無法在業務場景中落地實施,也只是空談。因此架構需要服務於業務,針對不同的業務場景架構設計也會不同,架構設計不必追求高大上,簡而美的架構,若能滿足業務發展需求,便是好架構。

此外,好的架構不完全是設計出來的,隨著業務量、請求量的增長,好的架構是演化而來的。架構師需要分析業務並具備較強的抽象能力,能夠結合業務場景,設計合適的架構滿足業務需要,做到架構設計既不保守,又不過度設計。

架構師需要具備專業知識、專業能力、通用能力等三個維度能力。專業知識是基礎所在,包含資料結構演算法知識、業務知識等,專業能力包括系統架構能力、業務架構能力、開發能力等,通用能力屬於軟技能的範疇,包括溝通能力、學習能力、解決問題能力、創新能力以及專案管理能力等。除此之外,架構師需要對負責的系統瞭如指掌,線上出現問題能夠快速分析定位解決,清楚系統潛在的問題並能提出優雅的解決方案。

# 業務場景的抽象

劉潤老師的《商業洞察力》時,瞭解到洞察力這個概念,其實它就對應了這個需求抽象分析的過程。所謂洞察力,就是透過表象,看清“系統”這個黑盒子裡,要素以及它們之間連線關係的能力。

比如,我們看一座橋,人們看見的是車可以在橋上跑,但是這個橋由哪些關鍵要素連線,關鍵要素的連線關係是什麼樣?普通的人觀察一個團隊,有洞察力的人洞察團隊裡責、權、利的錯綜複雜的“連線關係”。劉潤說,任何系統都可以進一步拆解為多個要素,以及要素之間的連線方式,即系統=要素 x 連線關係。

其實架構上也是這樣,往往我們會接到很多業務需求,我們需要辨別出這個業務需求的背後本質需求是什麼。使用者提出來的需求往往是表面現象,如果我們挖不出來本質內容,架構設計上很容易打折扣,甚至失敗。像我們經常通過5w2h來和使用者溝通,和產品溝通,就是為了探究本質需求。

有句關於產品需求挖掘的名言「使用者不需要1/4 英寸的鑽頭,他需要的是1/4 英寸的洞」「使用者需要的也不是1/4 英寸的洞,而是在牆上掛一幅畫」「使用者不是需要畫,他需要房間的格調」等等。這些聽起來像是抬槓的演繹,其實就是不斷探索和挖掘真正需求的過程。

資料架構設計方式

當企業業務不斷的增長的過程中,資料量也會不斷的增長,那麼資料對業務,對公司戰略的價值有多大,是公司老闆們所期待的。那麼對應的資料架構平臺該如何搭建,有哪些方法思路,有什麼標準嗎,通過什麼工具來分析資料和展示資料,這些是架構師該思考的,總結出來的有兩種思路。

一種基於需求而建設。以資料價值 為導向,面向公司業務場景建立大資料平臺。來一個需求做一個需求,不考慮平臺通用型的問題,也不考慮和其他平臺,應用的對接;整體追求需求時間短,成型快,效果很明顯。這種帶來的問題就是可能會做重複性建設,長遠來看開發的效率不高;僅限於固定的業務場景,對整個資料平臺的系統缺乏統籌。

一種基於通用元件的建設方式。通用的含義就是將大資料平臺中通用的功能抽離出來,這些功能和業務沒有直接的關係。不管什麼需求,業務場景都會用的到。比如,資料採集,資料處理,資料計算,資料展示統一元件,為更長遠的業務發展,更多的需求做準備。

這種通用功能的大資料平臺,可以針對不同的業務場景;不會重複的造輪子,把技術功能和資料需求進行解耦;對於架構的整體統籌,更長遠的考慮會比較多。但是對業務理解的成本高,需要具備業務抽象的能力。

以上兩種方式各有利弊,如果業務剛開始起步的時候,可以考慮用第一種方式,邊做邊摸索,邊總結邊重構,最終過度到第二種方式。如果企業在大資料平臺技術和業務上都有積累,則可以考慮更高的視角,用第二種方式。

總結

實際上做任何事情都要有目標,然後根據這個目標根據自身的條件和外部的情況制定一個思路,這個思路也可以理解為實現目標的路徑。但是我們必須具備業務抽象能力,架構設計到什麼程度才算合適。

來自 “ 豬豬聊資料 ”, 原文作者:豬豬;原文連結:https://mp.weixin.qq.com/s/bC4IFfD6DhbWl_GclvhGyQ,如有侵權,請聯絡管理員刪除。

相關文章