【原創】-數據倉庫架構的設計

2020-11-23 騰訊網

概述

架構是數據倉庫建設的總體規劃,從整體視角描述了解決方案的高層模型,描述了各個子系統的功能以及關係,描述了數據從源系統到決策系統的數據流程。業務需求回答了要做什麼,架構就是回答怎麼做的問題。

數據倉庫架構

數據倉庫的核心功能從源系統抽取數據,通過清洗、轉換、標準化,將數據加載數據倉庫中,通過後續加工到BI平臺,進而滿足業務用戶的數據分析和決策支持

層設施

底層設施為架構提供了基礎,底層設施包括硬體、資料庫平臺、網絡

硬體主要指伺服器硬體,主要有資料庫伺服器、ETL伺服器、調度伺服器、報表伺服器、BI門戶伺服器、接口伺服器。

平臺分為二大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing),OLAP是為數據分析而設計的資料庫管理系統。主要有Oracel,MySQL,Teradata, Greenplum,Hive。

網絡是底層設施的基礎,特別是大數據時代對網絡的要求越來越高。

數據架構

數據架構主要描述數據從源系統抽取數據,然後經過清洗、規範化、提交形成標準模型,最終提交給業務用戶,以及對數據的管理。

源系統:數據倉庫一般會面臨多個、異構數據源的問題,主要分為結構化,半結構化以及非結構化數據。為了便於管理需要對源系統建立元數據信息。

抽取:因為源系統的多樣性,源抽取階段一般選擇使用工具。在抽取之前還要做以下工作:

數據剖析是對數據的技術性分析,對數據的內容、一致性和結構進行描述。對源系統的數據質量進行評估。

由於面臨多個、異構的源系統,抽取方式不盡相同,例如:資料庫直連抽取,kettle抽取,Informatica抽取,ftp抽取文件,生成表結構文件,java方式抽取,sqludr2抽取

抽取的數據類型也有區分,數據加載入庫方式將在後續內容中講到:

數據轉換:數據從源系統抽取過來之後,就要進入數據轉換階段。這一階段是數據倉庫開發核心階段。主要有以下步驟:

清洗:數據清洗是制定轉換規則,篩選數據並糾正數據的過程。清洗的目的是改進源系統的數據質量,但是不要在數據倉庫做過多的清洗,源系統的數據質量應該在源頭處理。清洗的主要內容包括:

規範化:規範化就是整合各個源系統的數據,把數據統一命名,統一取值,建立企業標準版本數據。主要內容包括:

提交:提交就要根據維度模型生成維度表和事實表。提交主要內容包括:

1. 選擇合適的緩慢變化維類型

2. 為維表生成代理鍵

3. 管理不同粒度的層次維

4. 管理專項維

5. 生成維度橋接表

6. 生成代理鍵管道

7. 選擇合適的事實表類型

8. 處理延遲到達的事實

9. 生成維度表

10. 生成事實表

聚集:聚集是指根據事務事實表進行更高粒度的聚合以及生成相對應的維度表.

行輕度匯總企業數據模型的構建,能夠涵蓋業務的各個層面,包括交易數據、主數據和參考數據,為整個企業級的數據集成提供一個完整的一致的邏輯視圖。為了確保模型對企業經營的映射和相對穩定,採用範式(3NF)化模型,進行定製,為系統間數據交換和使用提供公共匯總數據

例如在金融行業中,會根據Teradata 金融數據模型進行模型層開發

BI應用程式架構

數據倉庫是數據處理的後臺,業務用戶並不關心後臺怎麼處理。BI應用是數據呈現的前臺,是業務用戶進行查詢的入口。BI應用程式的體驗也是衡量數據倉庫是否成功的主要因素。

數據服務接口查詢:在數據倉庫中進行業務數據的輕度匯總,給第三方業務提供數據查詢接口

即席查詢:業務用戶根據自己的需求,自定義查詢請求,後臺自動組織SQL語句訪問維度模型

報表展現:根據業務用戶的需求,進行定製報表

駕駛艙和儀錶盤:它是向企業展示度量信息和關鍵業務指標現狀的數據可視化工具。

數據倉庫架構圖

數據倉庫平臺逐步從BI報表為主到分析為主、到預測為主、再到操作智能為目標。

數據倉庫在系統中得定位

數據倉庫系統的作用:

能實現跨業務條線、跨系統的數據整合,

為管理分析和業務決策提供統一的數據支持。

數據倉庫能夠從根本上幫助你把公司的運營數據轉化成為高價值的可以獲取的信息(或知識),並且在恰當的時候通過恰當的方式把恰當的信息傳遞給恰當的人。

相關焦點

  • 你的數據倉庫既要有「維度模型設計」也要看「分層架構」
    維度模型設計和分層架構都是數據倉庫必不可缺的。維度建模以分析決策的需求出發構建模型,構建的數據模型為分析需求服務,因此它重點解決用戶如何更快速完成分析需求,同時還有較好的大規模複雜查詢的響應性能。而分層架構的設計的主要是為在管理數據的時候,能對數據有一個更加清晰的掌控。這篇乾貨將帶你認清數據倉庫「維度模型設計」與「分層架構」。
  • 數據湖 VS 數據倉庫之爭?阿里提出大數據架構新概念:湖倉一體
    強調建模和數據管理,供商業智能決策從上述的標準判斷,無論傳統數據倉庫(如Teradata)還是新興的雲數據倉庫系統(AWS Redshift、Google BigQuery、阿里雲MaxCompute)均體現了數倉的設計本質,它們均沒有對外暴露文件系統,而是提供了數據進出的服務接口。
  • 數據倉庫模型設計與工具
    一、基本概念維度建模,是數據倉庫大師Ralph Kimball提出的,是數據倉庫工程領域最流行的數倉建模經典。二、建模方法 —— 經典數據倉庫模型數據倉庫建模方法論可分為:維度建模、範式建模、Data Vault模型、Anchor模型。
  • 高峽:數據倉庫下資料庫設計模式變遷
    今天是12日下午的專場8:數據倉庫設計和管理。對於聽了三天大會的朋友來說,真是辛苦了,短短三天,腦子塞了滿滿的資料庫、大數據、數據分析、資料庫設計模式等知識,我在這裡奉勸一下,走的時候留點神,避免情緒過於激動,動作過於猛烈,以防知識從腦子裡掉出來,哈哈!
  • 數據倉庫系統架構和數倉分層體系介紹
    一、數據倉庫體系架構 公司藉助的第三方數據平臺,在此平臺之上建設數據倉庫。因為第三方平臺集成了很多東西,所以省去了不少功夫。 數據倉庫的體系架構,無外乎就是數據源、數據採集方式、計算存儲系統、數據應用層,這幾個方面。
  • 關於數據倉庫建設,了解這7點就夠了
    數據倉庫的趨勢:實時數據倉庫以滿足實時化&自動化決策需求大數據&數據可以支持大量&複雜數據類型1.2 數據倉庫的發展數據倉庫有兩個環節:數據倉庫的構建與數據倉庫的應用。02 數據倉庫架構的演變從1990年 Inmon 提出數據倉庫概念到今天,數據架構經歷了最初的傳統數倉架構——離線數倉庫——離線大數據架構、Lambda 架構、Kappa 架構以及 Flink 的火熱帶出的流批一體架構,數據架構技術不斷演進,本質是在往流批一體的方向發展,讓用戶能以最自然、最小的成本完成實時計算。
  • 大數據篇:一文讀懂@數據倉庫
    本文也主要為了講解數據倉庫數倉硬體架構圖數倉功能架構圖數倉流程架構圖1數倉流程架構圖2實時數倉流程架構圖1.1.2 大數據平臺(DATA Platform)大數據平臺則是指以處理海量數據存儲、計算及流數據實時計算等場景為主的一套基礎設施,包括了統一的數據採集中心、數據計算和存儲中心、數據治理中心、運維管控中心
  • DTCC2020阿里雲李飛飛:雲原生分布式資料庫與數據倉庫系統點亮數據...
    真正需要分布式的能力就可以結合Shared Nothing架構和技術來做擴展,所以要根據應用需求從客戶視角出發設計系統和應用遷移改造方案。2.2雲原生數據倉庫與數據湖上面是計算池,在數據倉庫為了實現大數據和資料庫一體化,數據倉庫領域的計算節點也需要將大數據的離線計算能力做得更強,離線大數據系統基本上都是基於BSP+DAG,傳統資料庫領域則是MPP架構,所以為了做到離在線一體化將MPP和BSP+DAG進行結合,做一個Hybrid的計算引擎,針對此再做一個Hybrid的查詢和計算優化器。上面的是MetaData管理,力求做到原數據共享。
  • 傳統行業如何建立數據倉庫?
    所以在需求討論的基礎上,需要理解業務工作流程,當然如果你已經具備了這個行業豐富的業務知識,那可以在需求調研的時候儘可能地讓對方按照自己的思路去完成數據倉庫系統的功能設計。3、需求方群體的分類,BI項目最終的使用對象可以分為以下幾類:數據查詢者、報表查詢者、企業決策者
  • 數據湖與數據倉庫兩者之間區別
    在EDW架構中,組織還可以在其作業系統和企業數據倉庫之間實施運營數據存儲(ODS)作為過渡步驟。將運營數據複製到ODS,然後提取並加載到數據倉庫中。ODS可以用作尚未經過轉換的、無法用於分析的數據的暫存區,同時可以用於運行近實時的查詢,這些查詢需要最新的業務運營的詳細相關數據,而不是數據倉庫中可用的數據。
  • 一文讀懂數據架構的進化史
    近期看到很多企業在設計自己的數據平臺,以及選型一些數據分析工具,正好拜讀了數據倉庫之父的《數據架構:大數據、數據倉庫以及Data Vault》一書,有些許感觸,就來聊一下個人思考吧。首先從企業信息化發展階段時,數據平臺結構的程度來看。
  • Airbnb 的數據基礎架構|數據|基礎架構|集群_網易科技
    我們改進 HDFS 已經取得了很大效果,並更準確地用 Hive 管理表,作為我們中心源的數據。倉庫的質量和完整性取決於數據不變的,繼承數據可通過重新推導計算的 - 使用分區 Hive 表對這個目標非常重要。此外,我們不鼓勵數據系統的擴散,不希望維護單獨的基礎設施,比如我們的源數據和我們終端用戶報告。
  • 微軟,賽貝斯和Vertica展開數據倉庫之爭
    軟體在線2月27日編譯 本周在美國拉斯維加斯舉行的TDWI大會上有三家重量級廠商分別發布了非常重要的數據倉庫產品公告。這些產品是資料庫創新道路上的進步,是為了以更快,更好,更經濟的數據處理來滿足永無止境的需求。
  • 對比解讀五種主流大數據架構的數據分析能力 - 大數據_CIO時代網...
    由於數據倉庫為結構化存儲,當數據從其它系統進入數據倉庫這個東西,我們通常叫做ETL過程,ETL動作和業務進行了強綁定,通常需要一個專門的ETL團隊去和業務做銜接,決定如何進行數據的清洗和轉換。  隨著異構數據源的增加,例如如果存在視頻、文本、圖片等數據源,要解析數據內容進入數據倉庫,則需要非常複雜的ETL程序,從而導致ETL變得過於龐大和臃腫。
  • 如何深入淺出理解數據倉庫建模?
    作者 | 傅一平 來源 | 與數據同行 今天跟著我來學學數據倉庫的基礎知識,希望你結合案例可以把它吃透。下圖是個示例,通過統一數據模型,屏蔽數據源變化對業務的影響,保證業務的穩定,表述了數據倉庫模型的一種價值:二、數據倉庫分層的設計為了實現以上的目的,數據倉庫一般要進行分層的設計,其能帶來五大好處:清晰數據結構:每一個數據分層都有它的作用域,這樣我們在使用表的時候能更方便地定位和理解。
  • 馬蜂窩數據中臺起步建設:數倉的架構、模型與應用
    它是在企業的數據建設經歷了數據中心、數據倉庫等積累之後,藉助平臺化的思路,將數據更好地進行整合與統一,以組件化的方式實現靈活的數據加工與應用,以更清晰的數據職能組織應對業務的快速變化,以服務的方式更好地釋放數據價值的一種方式。所以,數據中臺更多的是體現一種管理思路和架構組織上的變革。
  • 數據產品必備技術知識:數據倉庫入門,看這這一篇就夠了
    文章結構一、數據倉庫是什麼二、數據倉庫有什麼特點三、為什麼搭建數據倉庫四、數據倉庫結構五、ETL六、數據集市七、ODS八、元數據一、數據倉庫是什麼可以理解為:面向分析的存儲系統。分析型資料庫主要面向數據分析,側重決策支持,作為公司的單獨數據存儲,負責利用歷史數據對公司各主題域進行統計分析。由於分析型資料庫中的操作都是查詢,因此也就不需要嚴格滿足關係型資料庫一些設計規範,這樣的情況下再將它歸為資料庫不太合適,也容易不引起混淆,所以稱之為數據倉庫。
  • 乾貨|你想知道的數據倉庫知識,這裡都有!
    數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrate)、穩定的(Non-Volatile)、反映歷史變化的(Time Variant)數據集合,用於支持管理決策。面向主題:數據倉庫側重於數據分析工作,所以數據倉庫中的數據是按照一定的主題進行組織和存儲。
  • 數據倉庫(OLAP)與資料庫(OLTP)的區別及數倉的分層結構
    數據倉庫(OLAP)與資料庫(OLTP)的區別OLAP(數據倉庫):分析型處理,聯機分析處理。OLTP(資料庫):操作型處理,聯機事務處理。注意:數據倉庫的出現不能取代資料庫的存在。區別:OLAP:A指的是分析聯機分析處理面向分析指的就是數據倉庫,例如Apache Hive Apche lmpala。
  • 民生銀行大數據體系架構設計與演進
    圖3 行為數據平臺   從行為數據的採集、數據分析整合及數據應用三個方面統籌進行規劃和設計,完成了行為數據平臺(GD)的建設。   技術架構   基於上述數據架構及應用需求,DC從數據處理、任務調度、數據管理和開發輔助四塊進行平臺的建設,技術架構如下圖: