為了解決原 Unique Key 模型存在的問題,以更好的滿足業(yè)務(wù)場景的需求,我們決定對 Unique Key 模型進行優(yōu)化,針對讀寫效率問題的優(yōu)化方案展開了詳細的調(diào)研。
關(guān)于以上問題的解決方案,業(yè)內(nèi)已經(jīng)有了較多的探索。代表性的有三類:
Delete + Insert。即在數(shù)據(jù)寫入時通過一個主鍵索引查找到被覆蓋的 key,將其標記為刪除。比較有代表性的系統(tǒng)是微軟的 SQL Server。
Delta Store。將數(shù)據(jù)分為 base data 和 delta data,base data 中的每一個主鍵都保證唯一,所有更新都記錄在 Delta Store 中,查詢時將 base data 和 delta data 進行 merge 同,時有后臺的 merge 線程定期將 delta data 和 base data 進行合并。比較有代表性的系統(tǒng)是 Apache Kudu。
Copy-on-Write。在更新數(shù)據(jù)時直接將原來的數(shù)據(jù)整行拷貝、更新后寫入新文件。數(shù)據(jù)湖采用這類方式的比較多,比較有代表性的系統(tǒng)是 Apache Hudi 與 Delta Lake。
具體三類方案的實現(xiàn)機制及對比如下:
Delete + Insert (即 Merge-on-Write)比較有代表性的是 SQL Server 在 2015 年 VLDB 上發(fā)表的論文《Real-Time Analytical Processing with SQL Server》中提出的方案。簡單來說,這篇論文提出了數(shù)據(jù)寫入時將舊的數(shù)據(jù)標記刪除(使用一個 Delete Bitmap 的數(shù)據(jù)結(jié)構(gòu)),并將新數(shù)據(jù)記錄在 Delta Store 中,查詢時將 Base 數(shù)據(jù)、Delete Bitmap、Delta Store 中的數(shù)據(jù) Merge 起來以得到最新的數(shù)據(jù)。整體方案如下圖所示,由于篇幅限制就不展開進行介紹了。
這個方案的優(yōu)勢在于,任何一個有效的主鍵只存在于一個地方(要么在 Base Data 中,要么在 Delta Store 中),這樣就避免了查詢過程中的大量歸并排序的消耗,同時 Base 數(shù)據(jù)中的各種豐富的列存索引也仍然有效。
Delta StoreDelta Store 的方式比較有代表性的系統(tǒng)就是 Apache Kudu。在 Kudu 中,數(shù)據(jù)分為 Base Data 和 Delta Data,Base Data 中的主鍵都是唯一的,任何對于 Base 數(shù)據(jù)的修改會先寫入 Delta Store 中(通過行號標記與 Base Data 中的對應(yīng)關(guān)系,這樣可以避免 Merge 時的排序)。與前面 SQL Server 的 Base + Delta 不同的是,Kudu 沒有標記刪除,所以同一個主鍵的數(shù)據(jù)會存在于兩個地方,所以查詢時必須將 Base 和 Delta 的數(shù)據(jù)合并才能得到最新的結(jié)果。Kudu 的方案如下圖所示:
https://www.slideshare.net/cloudera/apache-kudu-technical-deep-dive
Kudu 這套方案也能避免讀取數(shù)據(jù)時的歸并排序所帶來的高昂代價,但是由于一個主鍵的數(shù)據(jù)會存在于多個地方,它就難以保證索引的準確性,也無法做一些高效的謂詞下推。而索引和謂詞下推都是分析型數(shù)據(jù)庫進行性能優(yōu)化的一個重要手段,這個缺點對于性能影響還是挺大的。
Copy-On-Write由于 Apace Doris 定位是一個實時分析型數(shù)據(jù)庫,Copy On Write 方案對于實時更新來說成本太高,并不適合 Doris。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享標題:解決原UniqueKey模型存在的問題-創(chuàng)新互聯(lián)
文章來源:http://chinadenli.net/article14/idede.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、小程序開發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站排名、域名注冊、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)