商業銀行​數據倉庫中的各種表

2022-01-03 潮汐朝夕

本文記錄一下商業銀行數據倉庫中的各種表。

寬表,窄表

寬表是將多個維度的信息放在一張表中,通常是指業務主題相關的指標、維度、屬性關聯在一起,組成的一張資料庫表。

寬表廣泛應用於數據挖掘模型訓練前的數據準備,通過把相關欄位放在同一張表中,可以大大提高數據挖掘模型訓練過程中,數據在迭代計算時的效率問題。

訂單ID訂單日期收貨城市ID收貨城市用戶 ID用戶姓名用戶年齡購買渠道產品類型----

窄表是將不同維度的信息放在不同表中,最後在使用的時候根據公共列進行連接。

比如,訂單表只放了訂單相關信息,用戶表只放用戶相關信息,渠道表只放渠道相關信息。當需要獲取訂單整體情況時,需要把用到的幾張窄表先連接起來,再調取需要的欄位。

訂單ID訂單日期用戶ID產品ID渠道ID

窄表嚴格按照資料庫設計三範式,儘量減少數據冗餘,單張表的查詢更快,但是缺點是修改一個數據可能需要修改多張表,並且經常需要與不同的表進行連接操作。

寬表比較方便,不需要做各種連接操作,但是已經不符合三範式的模型設計規範,隨之帶來的主要壞處就是數據的大量冗餘,如果只是查詢某個維度的數據的話會因為查詢了很多沒用的列使得查詢變慢。

第一範式:所有欄位設計,都是不可分解的原子值。
第二範式:確保資料庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關
第三範式:確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關

分區表,全量表,增量表

資料庫中對表進行分區的目的是方便管理和查找。常見的分區表是以時間為分區的,比如每天一個分區,或者每月一個分區,如果要查找某天或某月的數據,直接取這一天或這一月的分區下查找即可。將一張表分成若干個區就是分區表,在業務實戰中,數據量大到一定程度都會選擇用分區表的方式存儲數據。

分區表在建表的時候也是用 CREATE TABLE 只是在後面加一個 PARTITION BY 指明按哪個列進行分區,然後查詢的時候,用 WHERE 指明要在哪個分區中查詢。

全量表是存儲了全部數據的表,沒有分區(所有數據在一個分區中)。每次往全量表裡面寫數據都會覆蓋之前的數據,所以全量表不能記錄歷史的數據情況,只有截止到當前最新的、全量的數據。

增量表就是每次把新增的數據追加的原表中,每次新增的數據單獨存在一個分區中。如果是按天分區的,增量表就是記錄每天新增數據的表,比如說,從 4 號到 5 號新增了哪些數據,改變了哪些數據,這些都會存儲在增量表的 5 號分區裡面。

快照表

快照表是截至過去某個時間點的所有數據,關注的是過去某個時間點的狀態,每次快照的數據都單獨存儲在一個分區中。

快照表中的數據也叫切片數據,如果要查到歷史數據情況,快照表就有用了。快照表是有時間分區的,每個分區裡面的數據都是分區時間對應的前一天的所有全量數據,比如說當前數據表有3個分區,4號,5號,6號。其中,4號分區裡面的數據就是從歷史到3號的所有數據,5號分區裡面的數據就是從歷史到24號的所有數據,以此類推。

說的快照表的5號分區和4號分區(都是t+1,實際時間分別對應 6 號和 5號 ),它兩的數據相減就是實際時間 5 號到 6 號有變化的、增加的數據,相當於增量表裡面 5 號分區的數據。

拉鍊表

拉鍊表存儲了某個主體一整套連續動作的信息。與快照表類似,但是拉鍊表存儲的是在快照表的基礎上去除了重複狀態的數據。

拉鍊表是一種維護歷史狀態,以及最新狀態數據的一種表。拉鍊表也是分區表,有些不變的數據或者是已經達到狀態終點的數據就會把它放在分區裡面,分區欄位一般為開始時間:start_date 和結束時間 end_date。

獲取某一天全量的數據,可以通過表中的 start_date 和 end_date 來做篩選,選出固定某一天的數據。例如我想取截止到 20211212 的全量數據,where 過濾條件就是 where start_date<=20211212 and end_date>=20211212。

流水錶

流水錶是存儲了所有修改記錄的表。流水錶與拉鍊表也有點類似,但拉鍊表可以根據拉鏈粒度存儲數據,也就是只存儲特定維度的數據變化記錄,而流水錶存儲的是每一個修改記錄。

相關焦點

  • 數據倉庫詳細介紹(五.ETL)工具篇下
    同時提供了對各種數據源(文件、各種資料庫、HDFS 等)的讀寫支持。實時處理:以一種微批的方式,使用各種窗口函數對流式數據進行實時計算。主要實現在這兩部分:Spark Streaming、Structure Streaming(Spark 2.3 版本推出)。MLlib:一個常用機器學習算法庫,算法被實現為對 RDD 的 Spark 操作。
  • 區塊鏈技術引領商業銀行跨境支付業務創新
    儘管SWIFT定期會升級報文格式標準,但清算模式大部分仍由人工錄入相關數據後,再通過清算行和代理行相互傳遞最終完成清算工作。因此,業務處理效率不高,通常來說,跨境清算時間為2至3天,若遇周末清算時間可能更長。此外,包括SWIFT在內的各清算機構、代理行、往來銀行都會針對每筆清算業務收取部分手續費或佣金,無形中增加了企業營運成本。
  • 在pandas中使用數據透視表
    什麼是透視表?經常做報表的小夥伴對數據透視表應該不陌生,在excel中利用透視表可以快速地進行分類匯總,自由組合欄位聚合計算,而這些只需要拖拉拽就能實現。透視表是一種匯總了更廣泛表數據的統計信息表。典型的數據格式是扁平的,只包含行和列,不方便總結信息:而數據透視表可以快速抽取有用的信息:
  • 數據中臺和大數據平臺有啥不一樣?| 我的數據中臺建設之思考
    現在各種新名詞層出不窮,頂層的有智慧地球、智慧城市、城市大腦;企業層面的有數位化轉型、網際網路經濟,數字經濟、數字平臺;平臺層面的有物聯網,雲計算,大數據,5G,人工智慧,機器智能,深度學習,知識圖譜;技術層面的有數據倉庫、數據集市、大數據平臺、數據湖、數據中臺、業務中臺、技術中臺等等,總之是你方唱罷他登場
  • 倉庫庫存管理模板-Excel版
    (看不懂的可以百度搜索教程,包括公眾號中一些關於EXCEL的小技巧)一份文件包含三張表格,分為庫存匯總表、入庫表、出庫表。表格第一、二行均作了固定處理,下拉表格仍可見。1.    本表中單元格內函數可拖拽自動生成, 數據需全部手動輸入。序號、本月庫存、本月出入庫數量、預警判斷都帶有函數,自動生成數據。 B、D兩列均隱藏,此兩行連接後兩張表格數據,不可刪除,並且在F欄輸入數據後必須複製內容,再做隱藏保證美觀。F列「型號」做了「數據驗證」處理,確保輸入數據不重複,之後有添加新產品,不要忘記修改單元格格式。
  • Python pandas獲取網頁中的表數據(網頁抓取)
    <title>Python pandas獲取網頁中的表數據(網頁抓取)</title> 類似地,下面的代碼將在瀏覽器上繪製一個表,你可以嘗試將其複製並粘貼到記事本中,然後將其保存為「表示例.html」文件,應該能夠在瀏覽器中打開它。
  • 如何為 MySQL 表中的欄位選擇合適的數據類型
    我們在設計資料庫時需要為表中的每個欄位指定一個數據類型。
  • 【坦克世界閃擊戰】8.6 各種內容整合注意
    ​【戰車世界閃電戰8.6:概念1B實戰演示-嗶哩嗶哩】 https://b23.tv/Tbey5AD❺​【戰車世界閃電戰8.6: 新增坦克外觀數據預覽中文高清無碼-嗶哩嗶哩】 https://b23.tv/OjVUE0K❼
  • ​60多年,官兵們在深山偏僻之處堅守地圖倉庫
    ■解放軍報記者 譚靚青山裡,比想像中更冷。凜冽寒風中,車子順著蜿蜒的公路繞進深山。白牆灰瓦上,積雪越來越多,某地圖倉庫分庫主任徐憲明笑容越發燦爛。在徐憲明和這裡的官兵眼裡,這個外人看來冷清的深山偏僻之處,因為有了青春回憶,多了幾分家的溫暖。這個「家」已經安在這座大山裡60多年了。
  • RO 中的各種貨幣(上)
    、素材、裝備和各種貨幣。  今天的上篇,先從目前 RO 世界中流通的各種貨幣開始:第一部分:目前 RO 中流通的貨幣RO 貨幣的定義是指可以用於在遊戲中對應某個商店而進行購買的等價物,所以各位在物品欄中會發現右上角帶有一個小商店模樣的物品,沒錯,這就是 RO 中的一種貨幣了。
  • 數倉思考之數據模型&數倉通用理論知識
    物理建模,解決邏輯模型針對不同關係型資料庫的物理化以及性能等一些具體的技術問題為什麼要進行數據(倉庫)建模?實體建模(E-R):並不是數據倉庫建模中常見的一個方法,它來源於哲學的一個流派,引入這個抽象的方法,將整個業務也可以劃分成一個個的實體,而每個實體之間的關係,以及針對這些關係的說明就是我們數據建模需要做的工作範式建模法(3NF):主要解決關係型資料庫的數據存儲,利用的一種技術層面上的方法;關係型資料庫中的建模方法,大部分採用的是三範式建模,即通過實體關係(ER)模型描述企業業務
  • 倉庫管理系統
    系統提供基本的登入登出功能,同時系統包含兩個角色:系統超級管理員和普通管理員,超級管理員具有最高的操作權限,而普通管理員僅具有最基本的操作權限,而且僅能操作自己被指派的倉庫。2、請求URL鑑權。對於系統使用者登陸後進行操作發送請求的URL,後臺會根據當前用戶的角色判斷是否擁有請求該URL的權限。3、基礎數據信息管理。
  • 【財碼精華】Pandas—數據透視表&軸向轉換
    我們今天來跟大家介紹Pandas數據分析經常用到的兩個功能:數據透視表-pivot_table
  • 自動化立體倉庫(AS/RS)
    自動化立體倉庫是指能自動儲存和輸出物料的自動化立體倉庫,是由多層貨架、運輸系統、計算機系統和通訊系統組成的,集信息自動化技術、自動導引小車技術、機器人技術和自動倉儲技術於一體的集成化系統
  • 各種系統架構圖與詳細說明
    整個系統採用B/S的結構,在進行數據清洗、轉換,即ETL的時候會採用C/S結構,整個架構主要包括如下內容:1、構建應用支撐平臺,提供統一的人員、組織機構和權限管理,提供支持各種複雜業務系統的開發和組裝框架,實現單點登錄和目錄服務,並提供對應用系統的運行監控,數據的備份恢復等功能。
  • Excel表格過大,如何將數據列印在一張A4紙上?3種方法幫你搞定
    我們在工作時候,經常會列印Excel表,不知道你在列印Excel時候有沒有遇到這樣的情況,因為Excel表格過大
  • 被稱為企業「變速齒輪」的數據中臺到底是什麼 | 推薦收藏
    而中臺連結了前臺用戶與後臺核心資源,既可以將早已臃腫不堪的前臺系統中的穩定通用業務能力「沉降」到中臺層,為前臺減肥,實施「大中臺,小前臺」戰略,恢復前臺的響應力。前臺可以快速生成各種微應用;又可以將後臺系統中需要頻繁變化或是需要被前臺直接使用的業務能力「提取」到中臺層,賦予這些業務能力更強的靈活度和更低的變更成本,從而為前臺提供更強大的「能力炮火」⽀援。
  • ​你了解張力控制器嗎?
    1.手動張力控制器就是在收卷或放卷過程中,當卷徑變化到某一階段,由操作者調節手動電源裝置,從而達到控制張力的目的。不過現代凹印機手動張力控制系統已基本被淘汰,而僅僅作為閉環式全自動張力控制系統中的一種操作模式存在。
  • Java中的數據結構
    在Java中的數據結構主要包括以下幾種接口和類:枚舉(Enumeration)位集合(BitSet)向量(Vector)棧(Stack)字典(Dictionary)哈希表(Hashtable)屬性(Properties) 枚舉(Enumeration)