自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)時(shí)數(shù)倉(cāng)方案五花八門,實(shí)際落地如何選型和構(gòu)建

大數(shù)據(jù) 新聞
本文介紹了市面上常見實(shí)時(shí)數(shù)倉(cāng)方案,并對(duì)不同方案的優(yōu)缺點(diǎn)進(jìn)行了介紹。在使用過程中我們需要根據(jù)自己的業(yè)務(wù)場(chǎng)景選擇合適的架構(gòu)。

01為何需要實(shí)時(shí)數(shù)倉(cāng)架構(gòu)

最初企業(yè)存儲(chǔ)數(shù)據(jù)都在數(shù)倉(cāng)中存儲(chǔ),但是隨著數(shù)據(jù)量的增大,傳統(tǒng)數(shù)據(jù)的方案在時(shí)效性上和數(shù)據(jù)維護(hù)上變得越來越困難。實(shí)時(shí)數(shù)倉(cāng)架構(gòu)應(yīng)運(yùn)而生。

然而問題并不是這么簡(jiǎn)單,在具體方案落地上實(shí)時(shí)數(shù)倉(cāng)有很多方案可以選擇,那么面對(duì)不同的業(yè)務(wù)和應(yīng)用場(chǎng)景我們到底應(yīng)該選擇哪種技術(shù)方案呢?這是困擾好多大數(shù)據(jù)架構(gòu)師的問題。

圖1

02數(shù)倉(cāng)如何分層&各層用途

介紹實(shí)時(shí)數(shù)倉(cāng)前,我們先回顧下離線數(shù)倉(cāng)的分層架構(gòu),這將對(duì)我們后面理解實(shí)時(shí)數(shù)倉(cāng)架構(gòu)設(shè)計(jì)具有很大幫助。

數(shù)倉(cāng)一般分為:ODS層、DWD層、DWS層和ADS層。這里我會(huì)分別展開說一下。這部分內(nèi)容大家了解數(shù)倉(cāng)中每層數(shù)據(jù)的特點(diǎn)即可,具體研發(fā)中同學(xué)們可以根據(jù)項(xiàng)目再做深入體會(huì)。

圖2

1)ODS層:ODS是數(shù)據(jù)接入層,所有進(jìn)入數(shù)據(jù)的數(shù)據(jù)首先會(huì)接入ODS層。一般來說ODS層的數(shù)據(jù)是多復(fù)雜多樣的。從數(shù)據(jù)粒度上看ODS層是粒度最細(xì)的數(shù)據(jù)層。

2)DWD層:為數(shù)據(jù)倉(cāng)庫(kù)層,數(shù)據(jù)明細(xì)層的數(shù)據(jù)應(yīng)是經(jīng)過ODS清洗,轉(zhuǎn)后的一致的、準(zhǔn)確的、干凈的數(shù)據(jù)。DWD層數(shù)據(jù)粒度通常和ODS的粒度相同,不同的是該層的數(shù)據(jù)質(zhì)量更高,字段更全面等。在數(shù)據(jù)明細(xì)層會(huì)保存BI系統(tǒng)中所有的歷史數(shù)據(jù),例如保存近10年來的數(shù)據(jù)。

3)DWS層:數(shù)據(jù)集市層,該層數(shù)據(jù)是面向主題來組織數(shù)據(jù)的,通常是星形或雪花結(jié)構(gòu)的數(shù)據(jù)。從數(shù)據(jù)粒度來說,這層的數(shù)據(jù)是輕度匯總級(jí)的數(shù)據(jù),已經(jīng)不存在明細(xì)數(shù)據(jù)了。

4)ADS層:數(shù)據(jù)應(yīng)用層,它是完全為了滿足具體的分析需求而構(gòu)建的數(shù)據(jù),也是星形或雪花結(jié)構(gòu)的數(shù)據(jù)。從數(shù)據(jù)粒度來說是高度匯總的數(shù)據(jù)。其匯總的目標(biāo)主要是按照應(yīng)用需求進(jìn)行的。

03數(shù)倉(cāng)分層的必要性

那么數(shù)倉(cāng)為什么要分層,數(shù)倉(cāng)分層后有哪些好處呢?數(shù)倉(cāng)分層是一個(gè)比較麻煩且耗費(fèi)工作成本的一個(gè)事情,只有理解了數(shù)倉(cāng)分層到底有哪些好處,我們才能理解數(shù)倉(cāng)分層的必要性。

數(shù)倉(cāng)分層的總體思路是用空間換時(shí)間,其目的是通過數(shù)倉(cāng)分層,使得數(shù)倉(cāng)能夠更好地應(yīng)對(duì)需求的變更,和提高數(shù)據(jù)的穩(wěn)定性。

1)用空間換時(shí)間:通過大量的預(yù)處理來提升應(yīng)用系統(tǒng)的用戶體驗(yàn)(效率),因此數(shù)據(jù)倉(cāng)庫(kù)會(huì)存在大量冗余的數(shù)據(jù)。

2)能更好地應(yīng)對(duì)需求的變更:如果不分層的話,如果源業(yè)務(wù)系統(tǒng)的業(yè)務(wù)規(guī)則發(fā)生變化,將會(huì)影響整個(gè)數(shù)據(jù)清洗過程,工作量巨大。

3)提高數(shù)據(jù)處理過程的穩(wěn)定性:通過數(shù)據(jù)分層管理可以簡(jiǎn)化數(shù)據(jù)清洗的過程,因?yàn)榘言瓉硪徊降墓ぷ鞣值搅硕鄠€(gè)步驟去完成,相當(dāng)于把一個(gè)復(fù)雜的工作拆成了多個(gè)簡(jiǎn)單的工作,每一層的處理邏輯都相對(duì)簡(jiǎn)單和容易理解。

這樣我們比較容易保證每一個(gè)步驟的正確性,當(dāng)數(shù)據(jù)發(fā)生錯(cuò)誤的時(shí)候,往往我們只需要局部調(diào)整某個(gè)步驟即可。

圖3

前面介紹了數(shù)倉(cāng)分層的一些基本理論,這將對(duì)我們后面理解實(shí)時(shí)數(shù)倉(cāng)的各種架構(gòu)打下一些理論知識(shí)基礎(chǔ)。下面為大家梳理下市場(chǎng)上常見的實(shí)時(shí)數(shù)倉(cāng)方案和對(duì)應(yīng)的應(yīng)用場(chǎng)景。

04從Lambda架構(gòu)說起

大部分實(shí)時(shí)數(shù)倉(cāng),其實(shí)是從Lambda架構(gòu)演化而來的,因此在介紹實(shí)時(shí)數(shù)倉(cāng)方案前我們先回顧下Lambda架構(gòu)。

Lambda架構(gòu)將數(shù)據(jù)分為實(shí)時(shí)數(shù)據(jù)離線數(shù)據(jù)

針對(duì)實(shí)時(shí)數(shù)據(jù)使用流式計(jì)算引擎進(jìn)行計(jì)算(例如Flink),針對(duì)離線數(shù)據(jù)使用批量計(jì)算引擎(例如Spark)計(jì)算。然后分別將計(jì)算結(jié)果存儲(chǔ)在不同的存儲(chǔ)引擎上對(duì)外提供數(shù)據(jù)服務(wù)。

圖4

這種架構(gòu)的優(yōu)點(diǎn)是離線數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)各自計(jì)算,既能保障實(shí)時(shí)為業(yè)務(wù)提供服務(wù),又能保障歷史數(shù)據(jù)的快速分析。它分別結(jié)合了離線計(jì)算引擎與流式計(jì)算引擎二者的優(yōu)勢(shì)。

但是有一個(gè)缺點(diǎn)是離線數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的一致性比較難保障,一般在離線數(shù)據(jù)產(chǎn)生后會(huì)使用離線數(shù)據(jù)清洗實(shí)時(shí)數(shù)據(jù)來保障數(shù)據(jù)的強(qiáng)一致性。

05Kappa架構(gòu)解決哪些問題

接下來要講的這種架構(gòu),它是基于Lambda架構(gòu)上的優(yōu)化版本,Kappa架構(gòu)。這種架構(gòu)將數(shù)據(jù)源的數(shù)據(jù)全部轉(zhuǎn)換為流式數(shù)據(jù),并將計(jì)算統(tǒng)一到流式計(jì)算引擎上。

這種方式的特點(diǎn)使架構(gòu)變得更加簡(jiǎn)單,但是不足之處是需要保障數(shù)據(jù)都是實(shí)時(shí)的數(shù)據(jù),如果數(shù)據(jù)是離線的話也需要轉(zhuǎn)化為流式數(shù)據(jù)的架構(gòu)進(jìn)行數(shù)據(jù)處理,具體架構(gòu)可結(jié)合這張圖來看。

圖5

06深入實(shí)時(shí)數(shù)倉(cāng)架構(gòu)

實(shí)時(shí)數(shù)倉(cāng)的查詢需求

在正式討論實(shí)時(shí)數(shù)倉(cāng)前,我們先看下行業(yè)對(duì)實(shí)時(shí)數(shù)倉(cāng)的主要需求,這有助于我們理解實(shí)時(shí)數(shù)倉(cāng)各種方案設(shè)計(jì)的初衷,了解它是基于哪些需求應(yīng)運(yùn)而生的。

這也將幫助我們從更多維度上思考需求、條件、落地難點(diǎn)等等一些關(guān)鍵要素之間如何評(píng)估和權(quán)衡,最終實(shí)現(xiàn)是基于現(xiàn)有條件下的功能如何將其價(jià)值最大化。

傳統(tǒng)意義上我們通常將數(shù)據(jù)處理分為離線的和實(shí)時(shí)的。對(duì)于實(shí)時(shí)處理場(chǎng)景,我們一般又可以分為兩類:

一類諸如監(jiān)控報(bào)警類、大屏展示類場(chǎng)景要求秒級(jí)甚至毫秒級(jí);另一類諸如大部分實(shí)時(shí)報(bào)表的需求通常沒有非常高的時(shí)效性要求,一般分鐘級(jí)別,比如10分鐘甚至30分鐘以內(nèi)都可接受。

圖6

基于以上查詢需求,業(yè)界常見的實(shí)時(shí)數(shù)倉(cāng)方案有這幾種。 

圖7

目前老的項(xiàng)目大部分還在使用的標(biāo)準(zhǔn)分層體現(xiàn)+流計(jì)算+批量計(jì)算的方案。未來大家可能都會(huì)遷移到標(biāo)準(zhǔn)分層體系+流計(jì)算+數(shù)據(jù)湖,和基于全場(chǎng)景MPP數(shù)據(jù)庫(kù)實(shí)現(xiàn)的方案上,我也會(huì)重點(diǎn)介紹這兩個(gè)方案,也希望大家能夠多花點(diǎn)時(shí)間加以理解。

方案 1:Kappa 架構(gòu)

首先咱們看下Kappa架構(gòu),Kappa架構(gòu)將多源數(shù)據(jù)(用戶日志,系統(tǒng)日志,BinLog日志)實(shí)時(shí)地發(fā)送到Kafka。

然后通過Flink集群,按照不同的業(yè)務(wù)構(gòu)建不同的流式計(jì)算任務(wù),對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)分析和處理,并將計(jì)算結(jié)果輸出到MySQL/ElasticSearch/HBase/Druid/KUDU等對(duì)應(yīng)的數(shù)據(jù)源中,最終提供應(yīng)用進(jìn)行數(shù)據(jù)查詢或者多維分析。

圖8

這種方案的好處有二,方案簡(jiǎn)單;數(shù)據(jù)實(shí)時(shí)。不過有兩個(gè)缺點(diǎn):

一個(gè)是用戶每產(chǎn)生一個(gè)新的報(bào)表需求,都需要開發(fā)一個(gè)Flink流式計(jì)算任務(wù),數(shù)據(jù)開發(fā)的人力成本和時(shí)間成本都較高。

第二個(gè)是對(duì)于每天需要接入近百億的數(shù)據(jù)平臺(tái),如果要分析近一個(gè)月的數(shù)據(jù),則需要的Flink集群規(guī)模要求很大,且需要將很多計(jì)算的中間數(shù)據(jù)存儲(chǔ)在內(nèi)存中以便多流Join。

圖9

方案 2:基于標(biāo)準(zhǔn)分層 + 流計(jì)算

為了解決方案1中將所有數(shù)據(jù)放在一個(gè)層出現(xiàn)的開發(fā)維護(hù)成本高等問題,于是出現(xiàn)了基于標(biāo)準(zhǔn)分層+流計(jì)算的方案。

接下來咱們看下這種方案,在傳統(tǒng)數(shù)倉(cāng)的分層標(biāo)準(zhǔn)上構(gòu)建實(shí)時(shí)數(shù)倉(cāng),將數(shù)據(jù)分為ODS、DWD、DWS、ADS層。首先將各種來源的數(shù)據(jù)接入ODS貼源數(shù)據(jù)層,再對(duì)ODS層的數(shù)據(jù)使用Flink的實(shí)時(shí)計(jì)算進(jìn)行過濾、清洗、轉(zhuǎn)化、關(guān)聯(lián)等操作,形成針對(duì)不同業(yè)務(wù)主題的DWD數(shù)據(jù)明細(xì)層,并將數(shù)據(jù)發(fā)送到Kafka集群。

之后在DWD基礎(chǔ)上,再使用Flink實(shí)時(shí)計(jì)算進(jìn)行輕度的匯總操作,形成一定程度上方便查詢的DWS輕度匯總層。最后再面向業(yè)務(wù)需求,在DWS層基礎(chǔ)上進(jìn)一步對(duì)數(shù)據(jù)進(jìn)行組織進(jìn)入ADS數(shù)據(jù)應(yīng)用層,業(yè)務(wù)在數(shù)據(jù)應(yīng)用層的基礎(chǔ)上支持用戶畫像、用戶報(bào)表等業(yè)務(wù)場(chǎng)景。

圖10

這種方案的優(yōu)點(diǎn)是:各層數(shù)據(jù)職責(zé)清晰。缺點(diǎn)是多個(gè)Flink集群維護(hù)起來復(fù)雜,并且過多的數(shù)據(jù)駐留在Flink集群內(nèi)也會(huì)增大集群的負(fù)載,不支持upset操作,同時(shí)Schema維護(hù)麻煩。

圖11

方案 3:標(biāo)準(zhǔn)分層體現(xiàn) + 流計(jì)算 + 批量計(jì)算

為了解決方案2不支持upset和schema維護(hù)復(fù)雜等問題。我們?cè)诜桨?的基礎(chǔ)上加入基于HDFS加 Spark離線的方案。也就是離線數(shù)倉(cāng)和實(shí)時(shí)數(shù)倉(cāng)并行流轉(zhuǎn)的方案。

圖12

這種方案帶來的優(yōu)點(diǎn)是:既支持實(shí)時(shí)的OLAP查詢,也支持離線的大規(guī)模數(shù)據(jù)分析。但是帶來了問題這樣的幾個(gè)問題。

數(shù)據(jù)質(zhì)量管理復(fù)雜:需要構(gòu)建一套兼容離線數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)血緣關(guān)系的數(shù)據(jù)管理體系,本身就是一個(gè)復(fù)雜的工程問題。離線數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)Schema統(tǒng)一困難。架構(gòu)不支持upset。

圖13

方案 4:標(biāo)準(zhǔn)分層體系 + 流計(jì)算 + 數(shù)據(jù)湖

隨著技術(shù)的發(fā)展,為了解決數(shù)據(jù)質(zhì)量管理和upset 問題。出現(xiàn)了流批一體架構(gòu),這種架構(gòu)基于數(shù)據(jù)湖三劍客 Delta Lake  / Hudi / Iceberg 實(shí)現(xiàn) + Spark 實(shí)現(xiàn)。

圖14

我們以Iceberg為例介紹下這種方案的架構(gòu),從下圖可以看到這方案和前面的方案2很相似,只是在數(shù)據(jù)存儲(chǔ)層將Kafka換為了Iceberg。

圖15

它有這樣的幾個(gè)特點(diǎn),其中第2、3點(diǎn),尤為重要,需要特別關(guān)注下,這也是這個(gè)方案和其他方案的重要差別。

1、在編程上將流計(jì)算和批計(jì)算統(tǒng)一到同一個(gè)SQL引擎上,基于同一個(gè)Flink SQL既可以進(jìn)行流計(jì)算,也可以進(jìn)行批計(jì)算。

2、將流計(jì)算和批計(jì)算的存儲(chǔ)進(jìn)行了統(tǒng)一,也就是統(tǒng)一到Iceberg/HDFS上,這樣數(shù)據(jù)的血緣關(guān)系的和數(shù)據(jù)質(zhì)量體系的建立也變得簡(jiǎn)單了。

3、由于存儲(chǔ)層統(tǒng)一,數(shù)據(jù)的Schema也自然統(tǒng)一起來了,這樣相對(duì)流批單獨(dú)兩條計(jì)算邏輯來說,處理邏輯和元數(shù)據(jù)管理的邏輯都得到了統(tǒng)一。

4、數(shù)據(jù)中間的各層(ODS、DWD、DWS、ADS)數(shù)據(jù),都支持OLAP的實(shí)時(shí)查詢。

圖16

那么為什么 Iceberg 能承擔(dān)起實(shí)時(shí)數(shù)倉(cāng)的方案呢,主要原因是它解決了長(zhǎng)久以來流批統(tǒng)一時(shí)的這些難題:

1、同時(shí)支持流式寫入和增量拉取。

2、解決小文件多的問題。數(shù)據(jù)湖實(shí)現(xiàn)了相關(guān)合并小文件的接口,Spark / Flink上層引擎可以周期性地調(diào)用接口進(jìn)行小文件合并。

3、支持批量以及流式的 Upsert(Delete) 功能。批量Upsert / Delete功能主要用于離線數(shù)據(jù)修正。流式upsert場(chǎng)景前面介紹了,主要是流處理場(chǎng)景下經(jīng)過窗口時(shí)間聚合之后有延遲數(shù)據(jù)到來的話會(huì)有更新的需求。這類需求是需要一個(gè)可以支持更新的存儲(chǔ)系統(tǒng)的,而離線數(shù)倉(cāng)做更新的話需要全量數(shù)據(jù)覆蓋,這也是離線數(shù)倉(cāng)做不到實(shí)時(shí)的關(guān)鍵原因之一,數(shù)據(jù)湖是需要解決掉這個(gè)問題的。 

4、同時(shí) Iceberg 還支持比較完整的OLAP生態(tài)。比如支持Hive / Spark / Presto / Impala 等 OLAP 查詢引擎,提供高效的多維聚合查詢性能。

圖17

Iceberg 實(shí)戰(zhàn)

上面介紹了基于Iceberg的標(biāo)準(zhǔn)分層體系+流計(jì)算+數(shù)據(jù)湖的架構(gòu),下面咱們從實(shí)戰(zhàn)角度看下Iceberg如何使用。

iceberg寫入流式數(shù)據(jù)代碼實(shí)現(xiàn)如下:

data.writeStream.format("iceberg") .outputMode("append") .trigger(Trigger.ProcessingTime(1, TimeUnit.MINUTES)).option("data_path", tableIdentifier) .option("checkpointLocation", checkpointPath) .start()br

上述代碼會(huì)將data_path下的數(shù)據(jù)以流的形式,實(shí)時(shí)加入到系統(tǒng)中進(jìn)行計(jì)算。

iceberg數(shù)據(jù)過濾代碼實(shí)現(xiàn)如下:

Table table = ... Actions.forTable(table).rewriteDataFiles() .filter(Expressions.equal("date", "2022-03-18")) .targetSizeInBytes(500 * 1024 * 1024) // 500 MB .execute();br

上述代碼過濾出date為2022-03-18的數(shù)據(jù)。

方案 5:基于全場(chǎng)景MPP數(shù)據(jù)庫(kù)實(shí)現(xiàn)

前面的四種方案,是基于數(shù)倉(cāng)方案的優(yōu)化。方案仍然屬于比較復(fù)雜的,如果我能提供一個(gè)數(shù)據(jù)庫(kù)既能滿足海量數(shù)據(jù)的存儲(chǔ),也能實(shí)現(xiàn)快速分析,那豈不是很方便。這時(shí)候便出現(xiàn)了以StartRocks和ClickHouse為代表的全場(chǎng)景MPP數(shù)據(jù)庫(kù)。

1、基于Darios或者ClickHouse構(gòu)建實(shí)時(shí)數(shù)倉(cāng)。來看下具體的實(shí)現(xiàn)方式:將數(shù)據(jù)源上的實(shí)時(shí)數(shù)據(jù)直接寫入消費(fèi)服務(wù)。

2、對(duì)于數(shù)據(jù)源為離線文件的情況有兩種處理方式,一種是將文件轉(zhuǎn)為流式數(shù)據(jù)寫入Kafka,另外一種情況是直接將文件通過SQL導(dǎo)入ClickHouse集群。

3、ClickHouse接入Kafka消息并將數(shù)據(jù)寫入對(duì)應(yīng)的原始表,基于原始表可以構(gòu)建物化視圖、Project等實(shí)現(xiàn)數(shù)據(jù)聚合和統(tǒng)計(jì)分析。

4、應(yīng)用服務(wù)基于ClickHouse數(shù)據(jù)對(duì)外提供BI、統(tǒng)計(jì)報(bào)表、告警規(guī)則等服務(wù)。 

圖18

07具體選型建議

對(duì)于這5種方案,在具體選型中,我們要根據(jù)具體業(yè)務(wù)需求、團(tuán)隊(duì)規(guī)模等進(jìn)行技術(shù)方案選型。

說到這兒,我有這樣的幾點(diǎn)具體建議,希望或多或少可以給你提供一些可供參考、借鑒的新視角或者新思路。

(1)對(duì)于業(yè)務(wù)簡(jiǎn)單,且以流式數(shù)據(jù)為主數(shù)據(jù)流的大數(shù)據(jù)架構(gòu)可以采用Kappa架構(gòu)。

(2)如果業(yè)務(wù)以流計(jì)算為主,對(duì)數(shù)據(jù)分層,數(shù)據(jù)權(quán)限,多主題數(shù)據(jù)要求比較高,建議使用方案2的基于標(biāo)準(zhǔn)分層+流計(jì)算。

(3)如果業(yè)務(wù)的流數(shù)據(jù)是批數(shù)據(jù)都比較多,且流數(shù)據(jù)和批數(shù)據(jù)直接的關(guān)聯(lián)性不大,建議使用方案3的標(biāo)準(zhǔn)分層體現(xiàn)+流計(jì)算+批量計(jì)算。這種情況下分別能發(fā)揮流式計(jì)算和批量計(jì)算各自的優(yōu)勢(shì)。

圖19

(4)方案4是一個(gè)比較完善的數(shù)倉(cāng)方案,要支持更大規(guī)模的和復(fù)雜的應(yīng)用場(chǎng)景,建議大數(shù)據(jù)研發(fā)人員在20以上的團(tuán)隊(duì),可以重點(diǎn)考慮。

(5)對(duì)于大數(shù)據(jù)研發(fā)組團(tuán)隊(duì)為10人左右,要維護(hù)像方案2、3、4那樣以O(shè)DS、DWD、DWS、ADS數(shù)據(jù)分層的方式進(jìn)行實(shí)時(shí)數(shù)倉(cāng)建設(shè)的話,就需要投入更多的資源。建議使用方案5一站式實(shí)現(xiàn)簡(jiǎn)單的實(shí)時(shí)數(shù)倉(cāng)。

08大廠方案分享

介紹了這么多實(shí)時(shí)數(shù)倉(cāng)方案,那么很多小伙伴會(huì)問了,大廠到底用的那種方案呢?其實(shí)每個(gè)大廠根據(jù)自己業(yè)務(wù)特點(diǎn)的不同,也會(huì)選擇不同的解決方案。下面為大家簡(jiǎn)要分享下OPPO、滴滴和比特大陸的方案,以便大家能夠更好地理解這篇分享中五種架構(gòu)的具體落地。

不過具體架構(gòu)細(xì)節(jié)我不會(huì)進(jìn)行過多的介紹,有了前面的內(nèi)容基礎(chǔ),相信大家再通過架構(gòu)圖就能很快了解每個(gè)架構(gòu)的特點(diǎn)。這里只是希望大家能夠通過大廠的經(jīng)驗(yàn),明白他們架構(gòu)設(shè)計(jì)的初衷和要解決的具體問題,同時(shí)也給我們的架構(gòu)設(shè)計(jì)提供一些思路。

舉例來說,OPPO的實(shí)時(shí)計(jì)算平臺(tái)架構(gòu),其方案其實(shí)類似于方案2的基于標(biāo)準(zhǔn)分層+流計(jì)算。

圖20

滴滴的大數(shù)據(jù)平臺(tái)架構(gòu)是這樣的,它的方案其實(shí)類似于方案2的基于標(biāo)準(zhǔn)分層+流計(jì)算。

圖21

再結(jié)合比特大陸的方案看下,其方案類型方案3的標(biāo)準(zhǔn)分層體現(xiàn)+流計(jì)算+批量計(jì)算,同時(shí)也引入了ClickHouse,可以看到比特大陸的數(shù)據(jù)方案是很復(fù)雜的。

圖22

09結(jié)語(yǔ)&延伸思考

本文介紹了市面上常見實(shí)時(shí)數(shù)倉(cāng)方案,并對(duì)不同方案的優(yōu)缺點(diǎn)進(jìn)行了介紹。在使用過程中我們需要根據(jù)自己的業(yè)務(wù)場(chǎng)景選擇合適的架構(gòu)。

另外想說明的是實(shí)時(shí)數(shù)倉(cāng)方案并不是“搬過來”,而是根據(jù)業(yè)務(wù)“演化來”的,具體設(shè)計(jì)的時(shí)候需要根據(jù)自身業(yè)務(wù)情況,找到最適合自己當(dāng)下的實(shí)時(shí)數(shù)倉(cāng)架構(gòu)。

關(guān)于作者,王磊,阿里云 MVP,華院計(jì)算技術(shù)總監(jiān)。

責(zé)任編輯:張燕妮 來源: ITPUB
相關(guān)推薦

2009-10-26 10:06:46

寬帶接入技術(shù)

2009-02-20 10:15:54

面試應(yīng)聘

2022-10-11 09:00:18

MySQL監(jiān)控數(shù)據(jù)

2015-09-07 13:32:06

2011-08-18 15:55:55

云計(jì)算

2021-05-11 11:55:15

手機(jī)材質(zhì)后蓋

2021-03-03 11:04:51

流量手機(jī).5G

2022-08-01 15:58:48

數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)數(shù)據(jù)

2018-05-31 06:52:03

2022-10-10 09:50:55

AI模型

2021-01-18 05:20:52

數(shù)倉(cāng)hive架構(gòu)

2021-07-13 07:04:19

Flink數(shù)倉(cāng)數(shù)據(jù)

2019-07-30 07:30:56

編程語(yǔ)言PythonJava

2018-06-06 09:50:47

網(wǎng)絡(luò)安全防火墻動(dòng)態(tài)安全

2019-09-02 15:05:07

操作系統(tǒng)WindowsLinux

2024-04-18 11:53:59

通訊協(xié)議網(wǎng)絡(luò)

2022-09-28 07:08:25

技術(shù)實(shí)時(shí)數(shù)倉(cāng)

2021-11-10 09:30:11

Python工具命令

2024-09-03 14:59:00

2021-08-31 10:18:34

Flink 數(shù)倉(cāng)一體快手
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)