解決原UniqueKey模型存在的問題-創(chuàng)新互聯

為了解決原 Unique Key 模型存在的問題,以更好的滿足業(yè)務場景的需求,我們決定對 Unique Key 模型進行優(yōu)化,針對讀寫效率問題的優(yōu)化方案展開了詳細的調研。

成都創(chuàng)新互聯專業(yè)成都做網站、網站制作,集網站策劃、網站設計、網站制作于一體,網站seo、網站優(yōu)化、網站營銷、軟文發(fā)布平臺等專業(yè)人才根據搜索規(guī)律編程設計,讓網站在運行后,在搜索中有好的表現,專業(yè)設計制作為您帶來效益的網站!讓網站建設為您創(chuàng)造效益。

關于以上問題的解決方案,業(yè)內已經有了較多的探索。代表性的有三類:

  1. Delete + Insert。即在數據寫入時通過一個主鍵索引查找到被覆蓋的 key,將其標記為刪除。比較有代表性的系統是微軟的 SQL Server。

  2. Delta Store。將數據分為 base data 和 delta data,base data 中的每一個主鍵都保證唯一,所有更新都記錄在 Delta Store 中,查詢時將 base data 和 delta data 進行 merge 同,時有后臺的 merge 線程定期將 delta data 和 base data 進行合并。比較有代表性的系統是 Apache Kudu。

  3. Copy-on-Write。在更新數據時直接將原來的數據整行拷貝、更新后寫入新文件。數據湖采用這類方式的比較多,比較有代表性的系統是 Apache Hudi 與 Delta Lake。

具體三類方案的實現機制及對比如下:

Delete + Insert (即 Merge-on-Write)

比較有代表性的是 SQL Server 在 2015 年 VLDB 上發(fā)表的論文《Real-Time Analytical Processing with SQL Server》中提出的方案。簡單來說,這篇論文提出了數據寫入時將舊的數據標記刪除(使用一個 Delete Bitmap 的數據結構),并將新數據記錄在 Delta Store 中,查詢時將 Base 數據、Delete Bitmap、Delta Store 中的數據 Merge 起來以得到最新的數據。整體方案如下圖所示,由于篇幅限制就不展開進行介紹了。

這個方案的優(yōu)勢在于,任何一個有效的主鍵只存在于一個地方(要么在 Base Data 中,要么在 Delta Store 中),這樣就避免了查詢過程中的大量歸并排序的消耗,同時 Base 數據中的各種豐富的列存索引也仍然有效。

Delta Store

Delta Store 的方式比較有代表性的系統就是 Apache Kudu。在 Kudu 中,數據分為 Base Data 和 Delta Data,Base Data 中的主鍵都是唯一的,任何對于 Base 數據的修改會先寫入 Delta Store 中(通過行號標記與 Base Data 中的對應關系,這樣可以避免 Merge 時的排序)。與前面 SQL Server 的 Base + Delta 不同的是,Kudu 沒有標記刪除,所以同一個主鍵的數據會存在于兩個地方,所以查詢時必須將 Base 和 Delta 的數據合并才能得到最新的結果。Kudu 的方案如下圖所示:

https://www.slideshare.net/cloudera/apache-kudu-technical-deep-dive

Kudu 這套方案也能避免讀取數據時的歸并排序所帶來的高昂代價,但是由于一個主鍵的數據會存在于多個地方,它就難以保證索引的準確性,也無法做一些高效的謂詞下推。而索引和謂詞下推都是分析型數據庫進行性能優(yōu)化的一個重要手段,這個缺點對于性能影響還是挺大的。

Copy-On-Write

由于 Apace Doris 定位是一個實時分析型數據庫,Copy On Write 方案對于實時更新來說成本太高,并不適合 Doris。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

分享標題:解決原UniqueKey模型存在的問題-創(chuàng)新互聯
文章來源:http://muchs.cn/article14/idede.html

成都網站建設公司_創(chuàng)新互聯,為您提供商城網站小程序開發(fā)、網站導航、網站排名、域名注冊品牌網站設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都定制網站網頁設計