您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關big data設計中的拉鏈表是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
隔行如隔山,這句話在飛速的時代發展中向著兩個極端發展 , 1 真的如隔山, 2 這個山如同一張紙, 越來越多的 DB 開始負責一些 BIG DATA的工作在很多單位也是存在的,而了解BIG DATA 和 DATA warehouse 的一些設計,對當前和未來的工作都是多多益善的。
今天來說說其中的一種big data設計的表類型,拉鏈表。
首先的說說拉鏈表到底是個什么東西,DB 一般聽到一種表,可能會聯想到某種物理方面的技術,如臨時表, template table , 繼承表,等等, 今天的拉鏈表本身不是一項物理技術,而是一種邏輯技術。通過某種設計,來達到某些目的的,人為的方法。
拉鏈表在什么地方用,顯然嚴格的說拉鏈表是要用到在 BIG DATA ,data warehouse 這一類的地方是他的起源,當然可以在研究將其用到 DB 中的某些設計(今天就不說了)。
在BIG DATA中,有一種需求是要根據各種維度,對歷史時期的數據進行處理,而達到一個歷史數據統計分析的目的,而這就會出現一個問題,數據量的問題。我們舉一個例子,我們有一個用戶的加入購物車物品的數量記錄表,(后面簡稱購物車表)客戶可能今天將一些產品放到購物車,而過了些日子就將他們刪除了,當然其中的原因只能是客戶自己知道,而公司是不是要通過這樣的變化來找點什么事情做,要不閑著閑著就下崗了。通過購物車的歷史變化而可以得出很多維度的信息,讓后就可以去促銷,當然也可以和XX公司來個殺熟。
OK 廢話了那么多,拉鏈表的有一個定義吧
一個通過記錄歷史數據,并將其變化的狀態進行體現,壓縮存儲空間,方便進行歷史同期分析,或階段性分析的數據存儲和處理的方式就可以叫拉鏈表。
而叫拉鏈表也是有原因的, 1 存儲了開始和結束的時間(針對每行記錄和業務邏輯綁定) 2 開始和結束的時間收尾相接,形成鏈式機構 3 避免存儲每天的全量記錄。
舉例:我們要統計每個月客戶在自己的購物車添加的東西的數量和刪除的數量。(至少我們可以知道他們的購買的欲望和錢包之間的可能的關系)
以MPP架構為例
1 當月第一天的前一天的購物車表的全量數據
全量數據表中包含至少3非業務數據的字段,開始時間 和 結束時間,開始時間可以是記錄導入到data warehouse 的時間,也可以是本身記錄在業務表插入的時間,具體的和業務分析以及你擁有的資源掛鉤, 以及記錄最后一次的操作方式 I D U。
2 進行當月天數的拉鏈表分區表的設計,分區鍵一般是 可以是開始時間,或符號業務邏輯的字段
3 通過某些手段獲取第二天變化過的購物車表的記錄,并存儲進臨時表
將第二天業務表中,插入的,UPDATE ,delete 的操作(有可能是邏輯操作,這里假設是物理操作) I D U 三種操作
4 通過之前一天的數據變化歷史表,與當天記錄的歷史的變化數據進行 left join 運算,然后得出當天 Delete 和 update 的操作記錄以及沒有變化的記錄,然后在加上當天insert 操作的記錄,就得到了第二天的整體的業務表。
5 通過這樣的方式可以得到一整個月的數據變化,(也可以在DATA WAREHOUSE 的 業務歷史表根據記錄行的最后一次的操作狀態(可以是物理,也可以是邏輯),來將已經刪除的記錄排除到下一次數據的歷史分區表之外)
通過這樣的方法,就可以將一個月所有客戶的購物車的變化曲線圖,或者刪除的最多的產品,在或者某個地域刪除購物車,或某類產品被添加的購物車的當天,當月最大量等等都統計和分析出來。
這樣做的好處
1 我們是否可以將每天的數據都同步到 數據倉庫一次,答案是當然,但問題
1.1 購物車是動態的,同步數據的時候雖然可以使用從庫等進行數據的抓取,但數據量大的情況,處理起來還是比較笨拙的。同時數據量的問題不知道是否考慮過,每天一個全量的業務表.......
好處: 拉鏈表通過獲取變動的數據來進行數據的生成,這明顯降低了業務系統的壓力,以及網絡,存儲等多系統的負擔,大部分工作在數倉本身就完成了
1.2 數據量的問題,雖然根據上面的方法,已我們有10億條記錄,每天更改的記錄在200萬,則我們需要存儲的記錄的數字(以30天為例), 200萬* 29天 + 1天 10億,針對上面的每天一個切片的方式存儲的數據量對比 30天* 10億 + 要節省很多存儲空間。
舉例這是我們12月1 日的全量表
下面地記錄就是拉鏈表,其中記錄了每條記錄地在每天地變化,通過初始表+拉鏈表,可以將這一個月地所有地數據變化進行相關維度地分析,或生成新的時間維度的數據表。
上述就是小編為大家分享的big data設計中的拉鏈表是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。