大數(shù)據(jù),其實(shí)就是數(shù)據(jù)庫(kù)技術(shù)以及分布式體系的結(jié)合。所以要搞好大數(shù)據(jù),就得從這兩方面入手!
今天咱們主要聊聊數(shù)據(jù)倉(cāng)庫(kù)技術(shù)。本質(zhì)上,數(shù)據(jù)倉(cāng)庫(kù)就是一種數(shù)據(jù)庫(kù),由一張一張數(shù)據(jù)表組成,用來(lái)存放數(shù)據(jù)。
當(dāng)然,兩者之間的差異也是非常大的,比如數(shù)據(jù)庫(kù)是為捕獲數(shù)據(jù)而設(shè)計(jì)的,數(shù)據(jù)倉(cāng)庫(kù)是為分析數(shù)據(jù)而生。目的和應(yīng)用場(chǎng)景不同,讓它們?cè)诩軜?gòu)體系和建模設(shè)計(jì)上面有非常大的不同。這里就不過(guò)多贅述了。
數(shù)倉(cāng)通常是一個(gè)企業(yè)數(shù)據(jù)分析的起點(diǎn),架構(gòu)和邏輯一般如下圖所示:

數(shù)倉(cāng)在構(gòu)建的時(shí)候通常需要ETL處理和分層設(shè)計(jì),基于業(yè)務(wù)系統(tǒng)采集的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行各種ETL處理成為DWD層,再基于DWD層設(shè)計(jì)上層的數(shù)據(jù)模型層,形成DM,中間會(huì)有DWB/DWS作為部分中間過(guò)程數(shù)據(jù)。
而在實(shí)踐中,數(shù)倉(cāng)隨著技術(shù)和業(yè)務(wù)的不斷發(fā)展,也演進(jìn)出了幾種主要的架構(gòu)方法,從傳統(tǒng)數(shù)倉(cāng)架構(gòu),到Lambda架構(gòu)(離線數(shù)倉(cāng)+實(shí)時(shí)數(shù)倉(cāng)),再到Kappa架構(gòu)(實(shí)時(shí)數(shù)倉(cāng))不一而足。
各個(gè)架構(gòu)各有優(yōu)劣,實(shí)際工作中到底選擇哪種架構(gòu),還是需要根據(jù)具體的業(yè)務(wù)需求來(lái)決定。
當(dāng)然,更多的時(shí)候,為了應(yīng)對(duì)更廣泛的場(chǎng)景,大多數(shù)公司采用的是混合架構(gòu),也就是Lambda和Kappa的結(jié)合,比如大部分實(shí)時(shí)指標(biāo)統(tǒng)計(jì)使用Kappa架構(gòu)完成計(jì)算,少量關(guān)鍵指標(biāo)使用Lambda架構(gòu)用批處理重新計(jì)算,增加一次校對(duì)過(guò)程。
這些復(fù)雜架構(gòu)落地的過(guò)程中,大數(shù)據(jù)工程師們會(huì)面臨非常多的挑戰(zhàn),比如離線&實(shí)時(shí)數(shù)倉(cāng)的技術(shù)選型要怎么選、分層設(shè)計(jì)要怎么做,更具體的,基于Spark SQL的離線數(shù)倉(cāng)要怎么搭建、基于FlinkSQL的實(shí)時(shí)數(shù)倉(cāng)又要怎么搭建……非常容易踩坑!
那要怎么更自如地應(yīng)對(duì)呢?
給你推薦個(gè)大佬專(zhuān)題:基于 Flink/SparkSQL的企業(yè)級(jí)數(shù)倉(cāng)設(shè)計(jì)與搭建,3節(jié)課,帶你吃透實(shí)時(shí)+離線數(shù)倉(cāng)建設(shè)思路、技巧與方案。
主講老師是前eBay中國(guó)資深大數(shù)據(jù)專(zhuān)家金瀾濤,還是復(fù)旦大學(xué)MSE外聘教師,不僅技術(shù)牛,講課也厲害,復(fù)雜的技術(shù)也能帶你輕松掌握。

最后想跟大家多嘮幾句,大規(guī)模的數(shù)據(jù)往往意味著大規(guī)模的問(wèn)題,從事大數(shù)據(jù)方向,平時(shí)遇到的問(wèn)題會(huì)很多,如果沒(méi)有掌握核心競(jìng)爭(zhēng)力,只是浮于表面或者單純遇到問(wèn)題解決問(wèn)題,往往會(huì)把自己逼得非常累,被動(dòng)陷入“內(nèi)卷”。
這是我們一定要避免的,平時(shí)的工作、學(xué)習(xí)中一定要多問(wèn)幾個(gè)為什么,多去探尋技術(shù)背后的本質(zhì)~
(部分內(nèi)容來(lái)源網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除)