日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

DORIS是什么牌子 Doris是什么意思( 三 )


3 基于Doris的技術實現(xiàn)
3.1 Doris分布式查詢引擎
結合業(yè)務場景,我們將方案調整為基于Doris實現(xiàn)全套的標簽索引服務 。

DORIS是什么牌子 Doris是什么意思


Doris 采用的 MPP 架構非常簡潔,由 FE 和 BE 完成從服務接入到數(shù)據存儲、管理、計算的分布式服務 。其中,F(xiàn)E 負責存儲以及維護集群數(shù)據、接收、解析、查詢、設計規(guī)劃整體查詢流程,BE 負責數(shù)據存儲和具體的實施過程 。FE 會根據用戶的查詢去生成一個完整的邏輯規(guī)劃,進一步構建分布式的邏輯發(fā)給整個集群去執(zhí)行 。
在右邊規(guī)劃圖中,由一個 BE 去執(zhí)行的時候,需要通過 RPC 進行數(shù)據交換,不同的計算方法和內容,交換的數(shù)據也不同 。
3.2 Bitmap在Doris的應用
Bitmap 通常作為 OLAP 系統(tǒng)和存儲系統(tǒng)的索引,Doris 很早就集成了 Bitmap 來加速數(shù)據查詢的過程 。
DORIS是什么牌子 Doris是什么意思


如上圖所示,右邊是 Doris Bitmap 索引的數(shù)據結構 。
DORIS是什么牌子 Doris是什么意思


和索引應用不同,Bitmap 作為數(shù)據應用,可以解決明細數(shù)據的查詢、交并集問題 。我們在使用的時候將 Bitmap 作為數(shù)據結構,直接使用 Bitmap 作為實際存儲數(shù)據來解決明細數(shù)據查詢和交并集計算的問題 。
DORIS是什么牌子 Doris是什么意思


基于Doris,首先我們通過離線的MR形式完成了標簽 tag 的二值化和 uid 倒排(這里還包括對ID的順序處理) 。
然后我們用 Bitmap 作為數(shù)據結構,Bitmap Union為聚合函數(shù),采用Doris Load的方法完成了數(shù)據建庫和數(shù)據Load,這個過程可能比較慢但很可行 。
接下來,我們需要把條件查詢轉變成交并集計算,對單個節(jié)點來說,intersect_count / union_count 的方法 Doris 可以自動完成分布式的計算過程,實現(xiàn)已經 Bitmap 化的標簽數(shù)據的聚合計算 。
基于以上的邏輯,我們只用了兩周就完成了測試過程 。
3.3 標簽索引應用在Doris基礎實現(xiàn)的問題
以上的方案在比較小的計算規(guī)模上可以得到計算結果,對于稍微復雜的計算場景,就出現(xiàn)了一些問題 。
DORIS是什么牌子 Doris是什么意思


我們做了一個測試,在300億的 uid,平均標簽數(shù)為300的情況下,能夠完成不包含稠密 Bitmap 的 tag 進行6個標簽的交集和并集的計算,但當我們把條件 tag 換成稠密的 Bitmap 之后,用14個標簽就已經超時了 。(這里稠密的Bitmap指 tag 數(shù)據在全量用戶 id 的覆蓋率非常高的情況,而這種 tag 恰恰是我們業(yè)務中最常用到的 。)
除此之外還有一個功能問題,當時Doris還不支持批量ID導出 。
3.4 標簽索引應用在Doris基礎實現(xiàn)的性能問題
結合 Doris 的計算過程,我們分析認為問題的核心主要有兩點 。第一點在于 Bitmap 本身實現(xiàn)的邏輯,第二點在于在 Doris 中 Bitmap 分布式實現(xiàn)的問題 。
DORIS是什么牌子 Doris是什么意思


一般來說,32位 Bitmap 在壓縮比和計算效率上有很好的平衡,但是64位的 Bitmap 的計算效率就相對比較差 。畫像的數(shù)據在百億級別,所以需要用64位的 Bitmap,那么計算效率就比較低 。
第二個,當 Bitmap 基數(shù)比較大時,數(shù)據規(guī)模也比較大,網絡磁盤和網絡IO處理時間比較長 。Doris 在計算過程中需要 scan 數(shù)據后全部傳輸?shù)巾攲庸?jié)點進行求交和求并運算,但本質上交并集計算是在單節(jié)點進行的,同時要經過網絡IO之后才能進行處理,這都成為了影響性能的關鍵點 。

推薦閱讀