日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实时数仓的演进之路

發布時間:2024/9/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实时数仓的演进之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介:自建實時數倉到底難在哪里?實時數倉應該怎么建?阿里巴巴搜索團隊告訴您答案

作者:張照亮(士恒)阿里巴巴搜索事業部高級技術專家

1. 業務背景

阿里巴巴電商搜索推薦實時數據倉庫承載了阿里巴巴集團淘寶、淘寶特價版、餓了么等多個電商業務的實時數倉場景,提供了包括實時大屏、實時報表、實時算法訓練、實時A/B實驗看板等多種數據應用支持。

數據的價值

我們認為數據處于阿里巴巴搜索推薦的大腦位置,這體現在算法迭代、產品運營和老板決策等多個方面。那么數據是怎樣在搜索推薦業務場景中流轉的呢?首先是信息采集,用戶在使用手機淘寶的搜索和推薦功能時,會觸發到服務端上的埋點信息;接下來會經過離線和實時的ETL加工,再裝載到產品引擎里面;然后我們會基于引擎來構建分析系統,幫助算法、產品做分析決策;形成一次決策之后,會有一些新的內容上線,用戶可以看到算法模型產出的一些業務形態;這樣就產生了一輪新的數據采集、加工、裝載和分析的過程。這樣一來就可以利用數據形成一個完整的業務鏈路,其中每個環節都非常重要。

搜索推薦典型場景

實時數據在電商搜索推薦中有多種不同的應用場景,如實時分析、算法應用和精細化人群運營等。
1)實時分析和算法應用場景
在實時分析和算法應用場景中,我們利用實時數據倉庫搭建分析報表、實時大屏、訓練算法模型以及打造其他類型的數據產品。實時數據的需求搜索推薦場景下主要有以下特點:

  • 數據量大:單日PB級存儲
  • 單表總條數:_千億+_
  • QPS高:峰值寫入RPS 6500W+
  • 峰值查詢QPS:_200+_
  • 數據靈活性要求高,分析場景多樣化,固定條件高頻分析、非固定條件多維查詢

2)精細化人群運營場景
在電商運營中,經常會有針對不同人群采用不同運營策略的需求。傳統方式使用離線數據對人群進行活動投放,但一般需要到第二天才能看到前一日的活動運營效果。為了更高效地觀測、提升運營效果,實時的人群投放、人群畫像成為必不可少的需求。
實時數倉將會把實時數據以實時大屏、實時報表的形式,為活動運營提供實時的人群行為效果數據,如不同地區、不同年齡段人群的實時UV、實時成交額等。此外,還需要將實時數據與離線數據進行關聯對比計算,提供實時的環比、同比數據。

2.典型實時數倉訴求

綜合以上背景,在實時數倉建設的過程中,我們總結了以下幾類典型的實時數倉訴求:

分組橫截面

例如分行業指標展示,通常是在SQL中用group by進行查詢;

####多維過濾

場景過濾、用戶過濾、商品過濾、商家過濾等,通常使用array字段進行屬性值的過濾;

聚合

基于明細數據聚合計算實時指標,如SUM、COUNT_DISTINCT計算等;

#### A/B Test

通過解析日志埋點中的分桶字段,計算測試桶與基準桶之間的實時Gap數據;

指定Key

在排查問題或觀測核心商家指標時,經常需要指定商家ID、商品ID查詢實時指標,需要基于明細實時表中的id字段過濾后進行聚合計算;

####流批一體

由于實時數倉僅保留最近2天的數據,在面對計算同比、環比等需求時,就需要讀取離線數據與實時數據進行關聯計算,這樣產品/運營在看上層報表展現時就能直觀看到今年實時數據和去年同期的對比表現。

3. 實時數倉架構

基于上訴典型實時數倉訴求,我們抽象出了如下圖所示的典型實時數倉架構。
實時采集的業務日志經過實時計算Flink清洗過濾,將結果寫到OLAP引擎里面,OLAP引擎既要支持多維的交互式查詢、還要支持KV查詢和流批一體查詢,來滿足我們各種各樣的業務訴求,同時OLAP引擎還需要對接上層構建的各種業務應用,提供在線服務。

基于這個典型的實時架構,下面則是我們搜索推薦場景下的實時架構演進過程。

1)實時數倉架構 1.0版

首先是實時數倉架構1.0版,如下圖所示,這個版本主要是由3個板塊組成:

數據采集
在數據采集層,我們將上游實時采集的數據分為用戶行為日志和商品維表、商家維表、用戶維表等,為什么會有維表呢?因為每個業務在埋點時不會將所有信息全部埋在日志里面,如果所有信息都由用戶行為日志承載,靈活性將會特別差,所以維表在業務上擔任信息擴展的角色。
采集的用戶行為日志將會實時寫入實時計算Flink,用戶維表、商品維表等維表數據統一歸檔至MaxCompute中,在初步計算后將會通過數據同步工具(DataX)同步至批處理引擎中。

數據處理
在數據處理層中,流處理部分,由Flink對實時寫入的用戶行為日志數據做初步處理,具體的處理包括數據解析、清洗、過濾、關聯維表等。
批處理部分,為了在數據查詢和服務中根據屬性查詢、篩選數據,需要在Flink作業中將用戶的實時行為和維表做關聯計算,這就需要批處理系統能夠支持高QPS查詢,當時搜索業務的單表QPS最高達6500萬,經過多方調研,選擇了HBase作為維表的批處理引擎。
Flink作業中基于用戶ID、商品ID、商家ID等關聯HBase維表中的屬性數據,輸出一張包含多個維度列的實時寬表,再輸出到OLAP引擎。為了簡化Flink實時作業,降低實時計算的壓力,我們沒有在Flink中使用窗口函數做指標的聚合工作,只是對實時日志簡單過濾、關聯后直接輸明細數據到下游,這就要求下游引擎需要提既要支持KV查詢、OLAP多維交互式查詢,還要支持流批一體查詢。

數據查詢和服務
在第一版架構中我們使用的是Lightning引擎來承載Flink輸出的實時明細數據,并基于Lightning實現查詢流批一體,再對上層應用提供統一的實時數據查詢服務。
但是Lightning的局限性也是非常明顯的:第一是查詢方式是非SQL類型不夠友好,若是寫SQL需要二次封裝。第二是Lightning采用的是公共集群,多用戶資源不隔離,當需要查詢大量數據時,容易出現性能波動和資源排隊等問題,使得查詢耗時較久,在實際業務場景使用中有一定的限制。

2)實時數倉架構 2.0版

基于Lightning的限制,我們希望能找到一款替代產品,它的能力要在Lightning之上,支撐OLAP的交互式查詢以及高QPS的維表校驗查詢。于是在2.0版的實時數倉架構中,我們開始接入Hologres。
最開始,我們只是用Hologres替代Lightning提供KV、OLAP查詢能力,解決了Lightning所帶來的局限性。這樣的架構看起來很好,但因為還需要經過HBase存儲維表,隨著數據量的增長,數據導入至HBase的時間也越長,實際上浪費了大量資源,并且隨著線上服務實時性要求增加,HBase的弊端也越來越明顯。
而Hologres的核心能力之一是加速離線數據,尤其是針對MaxCompute的數據,在底層與其資源打通,能加速查詢。所以我們就萌生了將Hologres替代HBase的想法,以Hologres為統一的存儲,數據也無需再導入導出,保證了一份數據一份存儲。

于是,最終的實時數倉架構2.0版如下:
數據處理階段直接將用戶維表、商品維表、商家維表以行存模式存儲到Hologres中,以此替代Hbase存儲。Flink中的作業可以直接讀取Hologres的維表,與行為日志進行關聯。
在數據查詢和服務階段,我們將Flink處理輸出的實時明細數據統一存儲至Hologres,由Hologres提供高并發的數據實時寫入和實時查詢。

4. 基于Hologres的最佳實踐

實時數倉2.0版本因為Hologres的接入,既精簡了架構,節約了資源,也真正實現了流批一體。這個架構也一直使用至今,下面是Hologres基于此架構在搜索推薦具體多個業務場景中的最佳實踐。

1)行存最佳實踐

Hologres支持行存和列存兩種存儲模式,行存對于key-value查詢場景比較友好,適合基于primary key的點查和 scan,可以將行存模式的表看作是一張類似于Hbase的表,用不同的表存儲不同實體的維度信息。在Flink實時作業中可以高效地從Hologres行存表中讀取維表數據,與實時流中的實體進行關聯。

2)列存最佳實踐

Hologres中默認表的存儲模式是列存,列存對于OLAP場景較為友好,適合各種復雜查詢。
基于Hologres的列存模式,我們搭建了搜索、推薦業務的實時數據查詢看板,在實時看板上可以支持數十個不同維度的實時篩選過濾。在最高峰值每秒寫入條數(RPS)超過500萬的同時仍然可以秒級查詢多個維度篩選下的聚合指標結果。同時Hologres表支持設置表數據TTL的屬性,一般我們將一張實時表的生命周期設置為48小時,超過48小時的數據會被自動刪除,在實時看板中支持用戶對最近兩天內的實時數據進行查詢,避免了不必要的資源浪費。

3)流批一體最佳實踐

Hologres不僅支持基于實時明細的數據的即席分析查詢,也支持直接加速查詢MaxCompute離線表,因此我們利用這一特性,實現流批一體的查詢(實時離線聯邦分析)。

在天貓大促活動中,我們利用Hologres的聯邦分析能力搭建了核心商家的目標完成率、去年同期對比看板,為運營算法決策提供了有效的數據支撐。
其中目標完成率看板開發借助實時離線聯邦分析變得更為簡單,即通過Hologres實時查詢大促當天的指標,并用實時表的當天指標除以離線表中設定的目標指標,從而讓運營能夠看到實時更新的核心商家當天目標的完成情況。
去年同期對比實時看板的計算邏輯也是類似的,可以在SQL中將實時表與去年的離線表JOIN后進行關鍵指標的同比計算。
所有的計算都可以在Hologres中完成,通過SQL表達計算邏輯即可,無需額外的數據開發工作,一份數據一套代碼,降低開發運維難度,真正實現流批一體。

4)高并發實時Update

在一些場景下,我們不僅需要向OLAP引擎實時增量寫入數據,還需要對寫入的數據進行更新操作(update)。

例如,在訂單成交歸因時,Flink實時作業會將訂單提交數據流與進度點擊數據流進行雙流JOIN,并且在還需要取訂單提交前的最后一次點擊事件進行關聯。當有多條點擊事件先后到達時,我們就需要更新訂單歸因明細數據,此時需要利用Hologres的update支持,通過數據的主鍵更新原有數據,保證成交歸因的數據準確性。在實踐中Hologres的update寫入峰值能達50W,滿足業務高并發實時更新需求。

5. 未來展望

我們希望未來基于Hologres引擎持續改進現有的實時數倉,主要的方向主要有:

1)實時表JOIN
Hologres現階段支持百億級表與億級表之間的JOIN,秒級查詢響應。基于這個特性,期望將原本需要在數據處理階段由Flink實時作業完成的維表關聯工作,可以改為在查詢Hologres階段實時JOIN計算。例如表1是明細數據表,表2是用戶維表,在查詢階段的JOIN可以通過篩選用戶維表,然后與明細數據表關聯,達到篩選過濾數據的目的。這樣的改進將帶來幾個好處:
1)減少Hologres中的數據存儲量,避免實時表中存儲大量的數據冗余(如:同一個商品ID的數據會重復存儲);
2)提升實時數據中維度屬性的時效性,在查詢階段實時JOIN維表數據后進行計算,可以使得我們在通過維度篩選數據的時候,始終是用的最新的維度屬性。

2)持久化存儲
我們未來將探索如何將常用維度的實時數據,利用Hologres的計算和存儲能力,將計算結果持久化存儲。

原文鏈接:https://developer.aliyun.com/article/771741?

版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。

總結

以上是生活随笔為你收集整理的实时数仓的演进之路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲天天视频 | 尤物视频免费在线观看 | 青草成人免费视频 | 懂色av一区二区三区免费观看 | 亚洲综合伊人久久 | 曰本三级日本三级日本三级 | 亚洲一级影院 | 老熟女重囗味hdxx69 | 日韩视频网站在线观看 | 亚洲精品伊人 | 日韩经典一区二区三区 | 狠狠综合久久av一区二区 | 亚洲精品无amm毛片 国内一区二区三区 | 黄色一级片毛片 | 国产欧美久久久久久 | 色香色香欲天天天影视综合网 | 国产精品夜色一区二区三区 | 福利小视频在线 | 亚洲一区二区动漫 | 国产区视频 | 亚洲精品一级二级 | 女人又爽又黄免费女仆 | 国产精品mv | 超碰888| 欧美一二三 | 在线精品福利 | 久久九九视频 | 亚洲综合网在线 | 日本不卡一区二区三区视频 | 午夜欧美激情 | 深爱激情久久 | 国产午夜小视频 | 黄色小视频在线观看免费 | 欧美阿v| 久久精品无码专区免费 | 亚洲一区二区高清视频 | 一二三区中文字幕 | 呦呦色| 91国内| 91久久久久久久久 | 国产区在线 | 国产精品传媒一区二区 | 亚洲激情一区二区 | 亚洲成人免费观看 | 女生裸体无遮挡 | 日韩一区二区三区精 | 欧美日韩在线免费观看视频 | 日本视频黄 | 91精品婷婷国产综合久久蝌蚪 | 国产精品成人国产乱一区 | 三级性视频 | 美女脱衣服一干二净 | 日韩一二三四区 | 亚洲欧美综合精品久久成人 | 涩涩免费网站 | 久久久午夜精品福利内容 | 黄色三级图片 | 亚洲欧美日本一区二区 | 日韩综合一区二区三区 | 综合网在线观看 | 亚洲国产精品久久久久婷蜜芽 | 日本后进式猛烈xx00动态图 | 精品女同一区二区 | 成人免费在线视频网站 | 国产成人精品一区在线播放 | 国产亚洲久一区二区 | 少妇呻吟视频 | 天天综合天天添夜夜添狠狠添 | 国产中文字幕久久 | 亚洲天堂国产 | 国产少女免费观看高清 | 91热精品 | 午夜精品一区二区在线观看 | 狠狠躁夜夜躁人人爽视频 | 国产成年网站 | 亚洲综合婷婷 | 亚洲国产精品久久久久 | 成人自拍一区 | 欧美日韩在线观看免费 | 女女互慰揉小黄文 | 看全色黄大色黄大片大学生 | 欧美综合成人 | 人妻精品一区二区三区 | 国产女人18毛片水18精品 | 亚洲精品视频国产 | 91插插插插插插插 | 午夜免费影院 | 久久av导航| 国产69精品久久 | 有奶水的迷人少妇 | 日本三级久久久 | 欧美人与物videos另类 | 日本中文不卡 | 爱插视频 | 日韩精品在线电影 | 麻豆激情网| 免费国产91 | 人妻熟女一区二区aⅴ水野 91在线观看视频 | 国产欧美在线看 |