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