一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

大數(shù)據(jù)開發(fā)面試之數(shù)據(jù)倉庫

 IT小白在線 2021-09-18

數(shù)據(jù)倉庫的定義?

首先,用于支持決策,面向分析型數(shù)據(jù)處理;其次,對多個異構的數(shù)據(jù)源有效集成,集成后按照主題進行重組,并包含歷史數(shù)據(jù),而且大數(shù)據(jù)培訓存放在數(shù)據(jù)倉庫中的數(shù)據(jù)一般不再修改。

數(shù)據(jù)倉庫(Data Warehouse)是一個面向主題的(subject oriented)、集成的(integrated)、相對穩(wěn)定的(non-volatile)、反應歷史變化(time variant)的數(shù)據(jù)集合,用于支持管理決策(decision making support)。

數(shù)據(jù)倉庫和數(shù)據(jù)庫的區(qū)別?

從目標、用途、設計來說

  • 數(shù)據(jù)庫是面向事物處理的,數(shù)據(jù)是由日常的業(yè)務產生的,常更新;數(shù)據(jù)倉庫是面向主題的,數(shù)據(jù)來源多樣,經過一定的規(guī)則轉換得到,用來分析。

  • 數(shù)據(jù)庫一般用來存儲當前事務性數(shù)據(jù),如交易數(shù)據(jù);數(shù)據(jù)倉庫一般存儲的歷史數(shù)據(jù)。

  • 數(shù)據(jù)庫的設計一般是符合三范式的,有最大的精確度和最小的冗余度,有利于數(shù)據(jù)的插入;數(shù)據(jù)倉庫的設計一般不符合三范式,有利于查詢

如何構建數(shù)據(jù)倉庫?

數(shù)倉模型的選擇是靈活的,不局限于某種模型方法。

數(shù)倉數(shù)據(jù)是靈活的,以實際需求場景為導向。

數(shù)倉設計要兼顧靈活性、可擴展性,要考慮技術可靠性和實現(xiàn)成本。

  • 系統(tǒng)分析,確定主題。通過與業(yè)務部門的交流,了解建立數(shù)倉要解決的問題,確認各個主題下的查詢分析要求

  • 選擇滿足數(shù)據(jù)倉庫系統(tǒng)要求的軟件平臺。選擇合適的軟件平臺,包括數(shù)據(jù)庫、建模工具、分析工具等

  • 建立數(shù)據(jù)倉庫的邏輯模型。確定建立數(shù)據(jù)倉庫邏輯模型的基本方法,基于主題視圖,把主題視圖中的數(shù)據(jù)定義轉到邏輯數(shù)據(jù)模型中

  • 邏輯數(shù)據(jù)模型轉換為數(shù)據(jù)倉庫數(shù)據(jù)模型

  • 數(shù)據(jù)倉庫數(shù)據(jù)模型優(yōu)化。隨著需求和數(shù)據(jù)量的變化進行調整

  • 數(shù)據(jù)清洗轉換和傳輸。業(yè)務系統(tǒng)中的數(shù)據(jù)加載到數(shù)據(jù)倉庫之前,必須進行數(shù)據(jù)的清洗和轉換,保證數(shù)據(jù)倉庫中數(shù)據(jù)的一致性。

  • 開發(fā)數(shù)據(jù)倉庫的分析應用。滿足業(yè)務部門對數(shù)據(jù)進行分析的需求。

  • 數(shù)據(jù)倉庫的管理。包括數(shù)據(jù)庫管理和元數(shù)據(jù)管理。

什么是數(shù)據(jù)中臺?

數(shù)據(jù)中臺是指通過數(shù)據(jù)技術,對海量數(shù)據(jù)進行采集、計算、存儲、加工,同時統(tǒng)一標準和口徑。數(shù)據(jù)中臺吧數(shù)據(jù)統(tǒng)一之后,會形成標準數(shù)據(jù),再進行存儲,形成大數(shù)據(jù)資產層,進而為客戶提供高效服務。

這些服務和企業(yè)的業(yè)務有較強的關聯(lián)性,是企業(yè)所獨有且能復用的,它是企業(yè)業(yè)務和數(shù)據(jù)的積淀,其不僅能降低重復建設,減少煙囪式協(xié)作的成本,也是差異化競爭的優(yōu)勢所在。

數(shù)據(jù)中臺通過整合公司開發(fā)工具、打通全域數(shù)據(jù)、讓數(shù)據(jù)持續(xù)為業(yè)務賦能,實現(xiàn)數(shù)據(jù)平臺化、數(shù)據(jù)服務化和數(shù)據(jù)價值化。數(shù)據(jù)中臺更加側重于“復用”與“業(yè)務”。

數(shù)據(jù)中臺、數(shù)據(jù)倉庫、大數(shù)據(jù)平臺的關鍵區(qū)別是什么?

基礎能力上的區(qū)別

數(shù)據(jù)平臺:提供的是計算和存儲能力

數(shù)據(jù)倉庫:利用數(shù)據(jù)平臺提供的計算和存儲能力,在一套方法論指導下建設的一整套的數(shù)據(jù)表

數(shù)據(jù)中臺:包含了數(shù)據(jù)平臺和數(shù)據(jù)倉庫的所有內容,將其打包,并且以更加整合以及更加產品化的方式對外提供服務和價值。

業(yè)務能力上的區(qū)別

數(shù)據(jù)平臺:為業(yè)務提供數(shù)據(jù)主要方式是提供數(shù)據(jù)集

數(shù)據(jù)倉庫:相對具體的功能概念是存儲和管理一個或多個主題數(shù)據(jù)的集合,為業(yè)務提供服務的方式主要是分析報表

數(shù)據(jù)中臺:企業(yè)級的邏輯概念,提現(xiàn)企業(yè)數(shù)據(jù)產生價值的能力,為業(yè)務提供服務的主要方式是數(shù)據(jù)API

總的來說,數(shù)據(jù)中臺距離業(yè)務更近,數(shù)據(jù)復用能力更強,能為業(yè)務提供速度更快的服務。數(shù)據(jù)中臺是在數(shù)據(jù)倉庫和數(shù)據(jù)平臺的基礎上,將數(shù)據(jù)生產為一個個數(shù)據(jù)API服務,以更高效的方式提供給業(yè)務。數(shù)據(jù)中臺可以建立在數(shù)據(jù)倉庫和數(shù)據(jù)平臺之上,是加速企業(yè)從數(shù)據(jù)到業(yè)務價值的過程的中間層。

大數(shù)據(jù)的一些相關系統(tǒng)?

數(shù)倉設計中心:按照主題域、業(yè)務過程,分層的設計方式,以維度建模作為基本理論依據(jù),按照維度、度量設計模型,確保模型、字段有統(tǒng)一的命名規(guī)范

數(shù)據(jù)資產中心:梳理數(shù)據(jù)資產,基于數(shù)據(jù)血緣,數(shù)據(jù)的訪問熱度,做成本的治理

數(shù)據(jù)質量中心:通過豐富的稽查監(jiān)控系統(tǒng),對數(shù)據(jù)進行事后校驗,確保問題數(shù)據(jù)第一時間被發(fā)現(xiàn),避免下游的無效計算,分析數(shù)據(jù)的影響范圍。

指標系統(tǒng):管理指標的業(yè)務口徑、計算邏輯和數(shù)據(jù)來源,通過流程化的方式,建立從指標需求、指標開發(fā)、指標發(fā)布的全套協(xié)作流程。

數(shù)據(jù)地圖:提供元數(shù)據(jù)的快速索引,數(shù)據(jù)字典、數(shù)據(jù)血緣、數(shù)據(jù)特征信息的查詢,相當于元數(shù)據(jù)中心的門戶。

如何建設數(shù)據(jù)中臺?

數(shù)據(jù)中臺在企業(yè)落地實踐時,結合技術、產品、數(shù)據(jù)、服務、運營等方面,逐步開展相關工作。

  • 理現(xiàn)狀。了解業(yè)務現(xiàn)狀、數(shù)據(jù)現(xiàn)狀、IT現(xiàn)狀、現(xiàn)有的組織架構

  • 定架構。確認業(yè)務架構、技術架構、應用架構、組織架構

  • 建資產。建立貼近數(shù)據(jù)層、統(tǒng)一數(shù)倉層、標簽數(shù)據(jù)層、應用數(shù)據(jù)層

  • 用數(shù)據(jù)。對數(shù)據(jù)進行輸出、應用。

  • 數(shù)據(jù)運營。持續(xù)運營、持續(xù)迭代。

中臺建設需要有全員共識,由管理層從上往下推進,由技術和業(yè)務人員去執(zhí)行和落地是一個漫長的過程,在實施數(shù)據(jù)中臺時,最困難的地方就是需要有人推動。

數(shù)據(jù)湖的理解?

數(shù)據(jù)湖是一個存儲企業(yè)的各種各樣原始數(shù)據(jù)的大型倉庫,其中的數(shù)據(jù)可供存取、處理、分析及傳輸。

數(shù)倉最重要的是什么?

個人認為是數(shù)據(jù)集成。

企業(yè)的數(shù)據(jù)通常是存儲在多個異構數(shù)據(jù)庫中的,要進行分析,必須先要對數(shù)據(jù)進行一致性整合。

集成整合后才可以對數(shù)據(jù)進行分析、挖掘數(shù)據(jù)潛在的價值。

概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型

概念數(shù)據(jù)模型設計與邏輯數(shù)據(jù)模型設計、物理數(shù)據(jù)模型設計是數(shù)據(jù)庫及數(shù)據(jù)倉庫模型設計的三個主要步驟。

概念數(shù)據(jù)模型CDM

概念數(shù)據(jù)模型是最終用戶對數(shù)據(jù)存儲的看法,反映了最終用戶綜合性的信息需求,以數(shù)據(jù)類的方式描述企業(yè)級的數(shù)據(jù)需求。

概念數(shù)據(jù)模型的內容包括重要的實體與實體之間的關系。在概念數(shù)據(jù)模型中不包含實體的屬性,也不包含定義實體的主鍵

概念數(shù)據(jù)模型的目標是統(tǒng)一業(yè)務概念,作為業(yè)務人員和技術人員之間溝通的橋梁,確定不同實體之間的最高層次的關系

邏輯數(shù)據(jù)模型LDM

邏輯數(shù)據(jù)模型反應的是系統(tǒng)分析設計人員對數(shù)據(jù)存儲的觀點,是對概念數(shù)據(jù)模型的進一步的分解和細化。邏輯數(shù)據(jù)模型是根據(jù)業(yè)務規(guī)則確定的,關于業(yè)務對象、業(yè)務對象的數(shù)據(jù)項以及業(yè)務對象之間關系的基本藍圖。

邏輯數(shù)據(jù)模型的內容包括所有的實體和關系,確定每個實體的屬性,定義每個實體的主鍵,指定實體的外鍵,需要進行范式化處理。

邏輯數(shù)據(jù)模型的目標是盡可能詳細的描述數(shù)據(jù),但并不考慮在物理上如何實現(xiàn)。

物理數(shù)據(jù)模型PDM

物理數(shù)據(jù)模型是在邏輯數(shù)據(jù)模型的基礎上,考慮各種具體的技術實現(xiàn)因素,進行數(shù)據(jù)庫體系結構設計,真正實現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫中的存放。

物理數(shù)據(jù)模型的內容包括確定所有的表和列,定義外鍵用于確認表之間的關系,基于用戶的需求可能要進行反范式化等內容。

SCD的常用處理方式?

slowly changing dimensions緩慢變化維度

  • 不記錄歷史變化信息

  • 添加列來記錄歷史變化

  • 新插入數(shù)據(jù)行,并添加對應標識字段來記錄歷史數(shù)據(jù)。拉鏈表。

元數(shù)據(jù)的理解?

狹義來講就是用來描述數(shù)據(jù)的數(shù)據(jù)

廣義來看,除了業(yè)務邏輯直接讀寫處理的業(yè)務數(shù)據(jù),所有其他用來維護整個系統(tǒng)運轉所需要的數(shù)據(jù),都可以較為元數(shù)據(jù)。

定義:元數(shù)據(jù)metadata是關于數(shù)據(jù)的數(shù)據(jù)。在數(shù)倉系統(tǒng)中,元數(shù)據(jù)可以幫助數(shù)據(jù)倉庫管理員和數(shù)據(jù)倉庫開發(fā)人員方便的找到他們所關心的數(shù)據(jù);元數(shù)據(jù)是描述數(shù)據(jù)倉庫內部數(shù)據(jù)的結構和建立方法的數(shù)據(jù)。按照用途可分為:技術元數(shù)據(jù)、業(yè)務元數(shù)據(jù)。

技術元數(shù)據(jù)

存儲關于數(shù)據(jù)倉庫技術細節(jié)的數(shù)據(jù),用于開發(fā)和管理數(shù)據(jù)倉庫使用的數(shù)據(jù)

  • 數(shù)據(jù)倉庫結構的描述,包括數(shù)據(jù)模式、視圖、維、層次結構和導出數(shù)據(jù)的定義,以及數(shù)據(jù)集市的位置和內容

  • 業(yè)務系統(tǒng)、數(shù)據(jù)倉庫和數(shù)據(jù)集市的體系結構和模式

  • 由操作環(huán)境到數(shù)據(jù)倉庫環(huán)境的映射,包括元數(shù)據(jù)和他們的內容、數(shù)據(jù)提取、轉換規(guī)則和數(shù)據(jù)刷新規(guī)則、權限等。

業(yè)務元數(shù)據(jù)

從業(yè)務角度描述了數(shù)據(jù)倉庫中的數(shù)據(jù),他提供了介于使用者和實際系統(tǒng)之間的語義層,使不懂計算機技術的業(yè)務人員也能讀懂數(shù)倉中的數(shù)據(jù)。

  • 企業(yè)概念模型:表示企業(yè)數(shù)據(jù)模型的高層信息。整個企業(yè)業(yè)務概念和相互關系。以這個企業(yè)模型為基礎,不懂sql的人也能做到心中有數(shù)

  • 多維數(shù)據(jù)模型。告訴業(yè)務分析人員在數(shù)據(jù)集市中有哪些維、維的類別、數(shù)據(jù)立方體以及數(shù)據(jù)集市中的聚合規(guī)則。

  • 業(yè)務概念模型和物理數(shù)據(jù)之間的依賴。業(yè)務視圖和實際數(shù)倉的表、字段、維的對應關系也應該在元數(shù)據(jù)知識庫中有所體現(xiàn)。

元數(shù)據(jù)管理系統(tǒng)?

元數(shù)據(jù)管理往往容易被忽視,但是元數(shù)據(jù)管理是不可或缺的。一方面元數(shù)據(jù)為數(shù)據(jù)需求方提供了完整的數(shù)倉使用文檔,幫助他們能自主快速的獲取數(shù)據(jù);另一方面數(shù)倉團隊可以從日常的數(shù)據(jù)解釋中解脫出來,無論是對后期的迭代更新還是維護,都有很大的好處。元數(shù)據(jù)管理可以讓數(shù)據(jù)倉庫的應用和維護更加的高效。

元數(shù)據(jù)管理功能

  • 數(shù)據(jù)地圖:以拓撲圖的形式對數(shù)據(jù)系統(tǒng)的各類數(shù)據(jù)實體、數(shù)據(jù)處理過程元數(shù)據(jù)進行分層次的圖形化展示,并通過不同層次的圖形展現(xiàn)。

  • 元數(shù)據(jù)分析:血緣分析、影響分析、實體關聯(lián)分析、實體差異分析、指標一致性分析。

  • 輔助應用優(yōu)化:結合元數(shù)據(jù)分析功能,可以對數(shù)據(jù)系統(tǒng)的應用進行優(yōu)化。

  • 輔助安全管理:采用合理的安全管理機制來保障系統(tǒng)的數(shù)據(jù)安全;對數(shù)據(jù)系統(tǒng)的數(shù)據(jù)訪問和功能使用進行有效監(jiān)控。

  • 基于元數(shù)據(jù)的開發(fā)管理:通過元數(shù)據(jù)管理系統(tǒng)規(guī)范日常開發(fā)的工作流程

元數(shù)據(jù)管理標準

對于相對簡單的環(huán)境,按照通用的元數(shù)據(jù)管理標準建立一個集中式的元數(shù)據(jù)知識庫

對于比較復雜的環(huán)境,分別建立各部分的元數(shù)據(jù)管理系統(tǒng),形成分布式元數(shù)據(jù)知識庫,然后通過建立標準的元數(shù)據(jù)交換格式,實現(xiàn)元數(shù)據(jù)的集成管理。

數(shù)倉如何確定主題域?

主題

主題是在較高層次上將數(shù)據(jù)進行綜合、歸類和分析利用的一個抽象概念,每一個主題基本對應一個宏觀的分析領域。在邏輯意義上,它是對企業(yè)中某一宏觀分析領域所涉及的分析對象。

面向主題的數(shù)據(jù)組織方式,就是在較高層次上對分析對象數(shù)據(jù)的一個完整并且一致的描述,能刻畫各個分析對象所涉及的企業(yè)各項數(shù)據(jù),以及數(shù)據(jù)之間的聯(lián)系。

主題是根據(jù)分析的要求來確定的。

主題域

從數(shù)據(jù)角度看(集合論)

主題語通常是聯(lián)系較為緊密的數(shù)據(jù)主題的集合。可以根據(jù)業(yè)務的關注點,將這些數(shù)據(jù)主題劃分到不同的主題域。主題域的確定由最終用戶和數(shù)倉設計人員共同完成。

從需要建設的數(shù)倉主題看(邊界論)

主題域是對某個主題進行分析后確定的主題的邊界。

數(shù)倉建設過程中,需要對主題進行分析,確定主題所涉及到的表、字段、維度等界限。

確定主題內容

數(shù)倉主題定義好以后,數(shù)倉中的邏輯模型也就基本成形了,需要在主題的邏輯關系中列出屬性和系統(tǒng)相關行為。此階段需要定義好數(shù)據(jù)倉庫的存儲結構,向主題模型中添加所需要的信息和能充分代表主題的屬性組。

如何控制數(shù)據(jù)質量?

校驗機制,每天進行數(shù)據(jù)量的比對 select count(*),早發(fā)現(xiàn),早修復

數(shù)據(jù)內容的比對,抽樣比對

復盤、每月做一次全量

如何做數(shù)據(jù)治理?

數(shù)據(jù)治理不僅需要完善的保障機制,還需要理解具體的治理內容,比如數(shù)據(jù)應該怎么進行規(guī)范,元數(shù)據(jù)該怎么來管理,每個過程需要那些系統(tǒng)或者工具來配合?

數(shù)據(jù)治理領域包括但不限于以下內容:數(shù)據(jù)標準、元數(shù)據(jù)、數(shù)據(jù)模型、數(shù)據(jù)分布、數(shù)據(jù)存儲、數(shù)據(jù)交換、數(shù)據(jù)聲明周期管理、數(shù)據(jù)質量、數(shù)據(jù)安全以及數(shù)據(jù)共享服務。

模型設計的思路?業(yè)務驅動?數(shù)據(jù)驅動?

構建數(shù)據(jù)倉庫有兩種方式:自上而下、自下而上

Bill Inmon推崇自上而下的方式,一個企業(yè)建立唯一的數(shù)據(jù)中心,數(shù)據(jù)是經過整合、清洗、去掉臟數(shù)據(jù)、標準的、能夠提供統(tǒng)一的視圖。要從整個企業(yè)的環(huán)境入手,建立數(shù)據(jù)倉庫,要做很全面的設計。偏數(shù)據(jù)驅動

Ralph Kimball推崇自下而上的方式,認為數(shù)據(jù)倉庫應該按照實際的應用需求,架子啊需要的數(shù)據(jù),不需要的數(shù)據(jù)不要加載到數(shù)據(jù)倉庫中。這種方式建設周期短,用戶能很快看到結果。偏業(yè)務驅動

數(shù)據(jù)質量管理

數(shù)據(jù)質量管理是對數(shù)據(jù)從計劃、獲取、存儲、共享、維護、應用、消亡生命周期的每個階段里可能引發(fā)的數(shù)據(jù)質量問題,進行識別、度量、監(jiān)控、預警等,通過改善了提高組織的管理水平使數(shù)據(jù)質量進一步提高。

數(shù)據(jù)質量管理是一個集方法論、技術、業(yè)務和管理為一體的解決方案。放過有效的數(shù)據(jù)質量控制手段,進行數(shù)據(jù)的管理和控制,消除數(shù)據(jù)質量問題,從而提高企業(yè)數(shù)據(jù)變現(xiàn)的能力。

會遇到的數(shù)據(jù)質量問題:數(shù)據(jù)真實性、數(shù)據(jù)準確性、數(shù)據(jù)一致性、數(shù)據(jù)完整性、數(shù)據(jù)唯一性、數(shù)據(jù)關聯(lián)性、數(shù)據(jù)及時性

什么是數(shù)據(jù)模型?

數(shù)據(jù)模型就是數(shù)據(jù)組織和存儲的方法,通過抽象的實體以及實體間聯(lián)系的形式來表達現(xiàn)實世界中事務的相互關系的一種映射,他強調從業(yè)務、數(shù)據(jù)存取和使用角度合理的存儲數(shù)據(jù)。

為什么需要數(shù)據(jù)倉庫建模?

數(shù)倉建模需要按照一定的數(shù)據(jù)模型,對整個企業(yè)的數(shù)據(jù)進行采集,整理,提供跨部門、完全一致的報表數(shù)據(jù)。

合適的數(shù)據(jù)模型,對于大數(shù)據(jù)處理來講,可以獲得得更好的性能、成本、效率和質量。良好的模型可以幫助我們快速查詢數(shù)據(jù),減少不必要的數(shù)據(jù)冗余,提高用戶的使用效率。

數(shù)據(jù)建模進行全方面的業(yè)務梳理,改進業(yè)務流程,消滅信息孤島,更好的推進數(shù)倉系統(tǒng)的建設。

OLAP和OLTP的模型方法的選擇?

OLTP系統(tǒng)是操作事物型系統(tǒng),主要數(shù)據(jù)操作是隨機讀寫,主要采用滿足3NF的實體關系模型存儲數(shù)據(jù),在事物處理中解決數(shù)據(jù)的冗余和一致性問題。

OLAP系統(tǒng)是分析型系統(tǒng),主要數(shù)據(jù)操作是批量讀寫,不需要關注事務處理的一致性,主要關注數(shù)據(jù)的整合,以及復雜大數(shù)據(jù)量的查詢和處理的性能。

3范式

每個屬性值唯一,不具有多義性

每個非主屬性必須完全依賴于整個主鍵,而非主鍵的一部分

每個非主屬性不能依賴于其他關系中的屬性

數(shù)據(jù)倉庫建模方法?

有四種模型:ER模型、維度模型、Data Vault模型、Anchor模型。用的較多的是維度模型和ER模型。

ER模型

ER模型用實體關系模型描述企業(yè)業(yè)務,在范式理論上滿足3NF。數(shù)倉中的3NF是站在企業(yè)角度面向主題的抽象,而不是針對某個具體業(yè)務流程的實體對象關系的抽象。

采用ER模型建設數(shù)據(jù)倉庫模型的出發(fā)點是整合數(shù)據(jù),將各個系統(tǒng)中的數(shù)據(jù)按照主題進行相似性整合,并進行一致性處理。

ER模型特點:

需要全方位了解企業(yè)業(yè)務數(shù)據(jù)

實施周期較長

對建模人員要求教高

維度建模

維度建模按照事實表和維度表來構建數(shù)倉。

維度建模從分析決策的需求出發(fā)構建模型,為分析需求服務。重點關注用戶如何快速的完成數(shù)據(jù)分析,可以直觀的反應業(yè)務模型中的業(yè)務問題,需要大量的數(shù)據(jù)預處理、數(shù)據(jù)冗余,有較好的大規(guī)模復雜查詢的響應性能。

事實表

發(fā)生在現(xiàn)實世界中的操作性事件,其產生的可度量數(shù)值,存儲在事實表中。從最細粒度級別來看,事實表的一行對應一個度量事件。事實表表示對分析主題的度量。

事實表中包含了與各個維度表相關聯(lián)的外鍵,可與維度表關聯(lián)。事實表的度量通常是數(shù)值類型,且記錄數(shù)不斷增加,表數(shù)據(jù)量迅速增長。

維度表

維度表示分析數(shù)據(jù)時所用的環(huán)境。

每個維度表都包含單獨的主鍵列。維度表行的描述環(huán)境應該與事實表行完全對應。維度表通常比較寬,是扁平型的非規(guī)范表,包含大量的低粒度的文本屬性。

注意:

事實表的設計是以能夠正確記錄歷史信息為準則

維度表的設計是以能夠以合適的角度來聚合主題內容為準則

維度建模的三種模式

星形模型:以事實表為中心,所有的維度直接連接在事實表上。由一個事實表和一組維度表組成。

雪花模型:是對星形模型的擴展。雪花模型的維度表可以擁有更細的維度,比星形更規(guī)范一點。維護成本較高,且查詢是要關聯(lián)多層維表,性能較低

星座模型:基于多張事實表,多張事實表共享維度信息

維度建模步驟:

選擇業(yè)務過程

選擇粒度

選定事實表

選擇維度

事實表的類型?

事實表有:事務事實表、周期快照事實表、累積快照事實表、非事實事實表

事務事實表

事務事實表記錄的是事務層面的事實,保存的是最原子的數(shù)據(jù),也稱“原子事實表”。事務事實表中的數(shù)據(jù)在事務事件發(fā)生后產生,數(shù)據(jù)的粒度通常是每個事務記錄一條記錄。

周期快照事實表

以具有規(guī)律性的、可預見的時間間隔來記錄事實。它統(tǒng)計的是間隔周期內的度量統(tǒng)計,每個時間段一條記錄,是在事務事實表之上建立的聚集表。

累積快照事實表

累積快照表記錄的不確定的周期的數(shù)據(jù)。代表的是完全覆蓋一個事務或產品的生命周期的時間跨度,通常具有多個日期字段,用來記錄整個生命周期中的關鍵時間點。

非事實型事實表

在維度建模的數(shù)據(jù)倉庫中,有一種事實表叫Factless Fact Table,中文一般翻譯為“非事實型事實表”。在事實表中,通常會保存十個左右的維度外鍵和多個度量事實,度量事實是事實表的關鍵所在。在非事實型事實表中沒有這些度量事實,只有多個維度外鍵。非事實型事實表通常用來跟蹤一些事件或者說明某些活動的范圍。下面舉例來進行說明。

第一類非事實型事實表是用來跟蹤事件的事實表。例如:學生注冊事件,學校需要對學生按學期進行跟蹤。維度表包括學期維度、課程維度、系維度、學生維度、注冊專業(yè)維度和取得學分維度,而事實表是由這些維度的主鍵組成,事實只有注冊數(shù),并且恒為1。這樣的事實表可以回答大量關于大學開課注冊方面的問題,主要是回答各種情況下的注冊數(shù)。

第二類非事實型事實表是用來說明某些活動范圍的事實表。例如:促銷范圍事實表。通常銷售事實表可以回答如促銷商品的銷售情況,但是對于那些沒有銷售出去的促銷商品沒法回答。這時,通過建立促銷范圍事實表,將商場需要促銷的商品單獨建立事實表保存。然后,通過這個促銷范圍事實表和銷售事實表即可得出哪些促銷商品沒有銷售出去。這樣的促銷范圍事實表只是用來說明促銷活動的范圍,其中沒有任何事實度量。

事實表中通常要保留度量事實和多個維度外鍵,度量事實是事實表的關鍵所在。

非事實表中沒有這些度量事實,只有多個維度外鍵。非事實型事實表通常用來跟蹤一些事件或說明某些活動的范圍。

第一類非事實型事實表是用來跟蹤事件的事實表。例如:學生注冊事件。

第二類非事實型事實表是用來說明某些活動范圍的事實表。例如:促銷范圍事實表。

數(shù)倉架構為什么要分層?

  • 分層可以清晰數(shù)據(jù)結構,使用時更好的定位和理解

  • 方便追蹤數(shù)據(jù)的血緣關系

  • 規(guī)范數(shù)據(jù)分層,可以開發(fā)一些通用的中間層數(shù)據(jù),能夠減少極大的重復計算

  • 把復雜問題簡單化

  • 屏蔽原始數(shù)據(jù)的異常。不必改一次業(yè)務就重新接入數(shù)據(jù)

數(shù)據(jù)分層思想?

理論上數(shù)據(jù)分為:操作數(shù)據(jù)層、數(shù)據(jù)倉庫層、數(shù)據(jù)服務層??筛鶕?jù)需要添加新的層次,滿足不同的業(yè)務需求。

操作數(shù)據(jù)層ODS

Operate Data Store操作數(shù)據(jù)存儲。數(shù)據(jù)源中的數(shù)據(jù)經過ETL后裝入ODS層。

ODS層數(shù)據(jù)的來源一般有:業(yè)務數(shù)據(jù)庫、日志、抓取等。

數(shù)據(jù)倉庫層DW

根據(jù)ODS層中的數(shù)據(jù)按照主題建立各種數(shù)據(jù)模型。

DW通常有:DWD、DWB、DWS

DWD: data warehouse detail細節(jié)數(shù)據(jù)層,是業(yè)務層和數(shù)據(jù)倉庫的隔離層。

DWB: data warehouse base基礎數(shù)據(jù)層,存儲的是客觀數(shù)據(jù),一般用作于中間層。

DWS: data warehouse service服務數(shù)據(jù)層,整合匯總分析某個主題域的服務數(shù)據(jù)。一般是大寬表。

數(shù)據(jù)服務層/應用層ADS

該層主要提供數(shù)據(jù)產品和數(shù)據(jù)分析使用的數(shù)據(jù),一般會放在ES、Mysql系統(tǒng)中供線上系統(tǒng)使用

數(shù)倉架構進化

經典數(shù)倉架構:使用傳統(tǒng)工具來建設數(shù)倉

離線大數(shù)據(jù)架構:開始使用大數(shù)據(jù)工具來替代經典數(shù)倉中的傳統(tǒng)工具

Lambda架構:在離線大數(shù)據(jù)架構的基礎上,使用流處理技術直接完成實時性較高的指標計算

Kappa:實時處理變成了主要的部分,出現(xiàn)了以實時處理為核心的kappa架構

離線大數(shù)據(jù)架構

數(shù)據(jù)源通過離線的方式導入離線數(shù)倉中。下游應用根據(jù)業(yè)務需求選擇獲取數(shù)據(jù)的方式

Lambda架構

在離線數(shù)倉的基礎上增加了實時計算的鏈路,并對數(shù)據(jù)源進行流式改造,實時計算去訂閱消息隊列,并推送到下游的數(shù)據(jù)服務中去。

Lambda架構問題:同樣的需求需要開發(fā)兩套一樣的代碼;資源占用增多

Kappa架構

kappa架構可以認為是lambda架構的簡化版,移除了lambda架構中的批處理部分。

在kappa架構中,需求修改或者歷史數(shù)據(jù)重新處理都通過上游重放完成

kappa架構最大的問題是流式重新處理歷史數(shù)據(jù)的吞吐能力會低于批處理,但可以通過增加計算資源來彌補

總結

真實場景中,是lambda架構和kappa架構的混合。大部分實時指標通過kappa架構計算,少量關鍵指標用lambda架構批量計算

隨著數(shù)據(jù)多樣性的發(fā)展,數(shù)據(jù)庫這種提前規(guī)定schema的模式顯得力不從心。這時出現(xiàn)了數(shù)據(jù)湖技術,把原始數(shù)據(jù)全部緩存到某個大數(shù)據(jù)存儲上,后續(xù)分析時根據(jù)需求去解析原始數(shù)據(jù)。簡單來說,數(shù)據(jù)倉庫模式是schema on write,數(shù)據(jù)湖模式是schema on read

OLAP簡介

OLAP(On-line Analytical Processing),聯(lián)機分析處理,其主要的功能在于方便大規(guī)模數(shù)據(jù)分析及統(tǒng)計計算,對決策提供參考和支持。

特點:數(shù)據(jù)量大、高速響應、靈活交互、多維分析

OLAP分類

存儲類型分類

ROLAP(RelationalOLAP)

MOLAP(MultimensionalOLAP)

HOLAP(HybridOLAP)

處理類型分類

MPP架構

搜索引擎架構

預處理架構

開源OLAP解決方案

  • Persto、SparkSQL、Impala等MPP架構和ROLAP的引擎

  • Druid和Kylin等預處理架構和MOLAP的引擎

  • ES這種搜索引擎架構

  • ClickHouse及IndexR這種列式數(shù)據(jù)庫

OLAP引擎

Presto

Facebook開發(fā)的分布式大數(shù)據(jù)SQL查詢引擎,專門進行快速數(shù)據(jù)分析

特點

  • 可以將多個數(shù)據(jù)源的數(shù)據(jù)進行合并,可以跨越整個組織進行分析

  • 直接從HDFS讀取數(shù)據(jù),在使用前不需要大量的ETL操作

查詢原理

完全基于內存的并行計算

流水線

本地化計算

動態(tài)編譯執(zhí)行計劃

小心使用內存和數(shù)據(jù)結構

類BlinkDB的近似查詢

GC控制

Druid

Druid是一個用于實時查詢和分析的分布式實時處理系統(tǒng),主要用于廣告分析,互聯(lián)網廣告監(jiān)控、度量和網絡監(jiān)控

特點

  • 快速的交互式查詢——Druid的低延遲數(shù)據(jù)攝取架構允許事件在它們創(chuàng)建后毫秒內可被查詢到。

  • 高可用性——Druid的數(shù)據(jù)在系統(tǒng)更新時依然可用,規(guī)模的擴大和縮小都不會造成數(shù)據(jù)丟失;

  • 可擴展——Druid已實現(xiàn)每天能夠處理數(shù)十億事件和TB級數(shù)據(jù)。

  • 為分析而設計——Druid是為OLAP工作流的探索性分析而構建,它支持各種過濾、聚合和查詢

應用場景

  • 需要實時查詢分析

  • 具有大量數(shù)據(jù)時,如每天數(shù)億事件的新增、每天數(shù)10T數(shù)據(jù)的增加;

  • 需要一個高可用、高容錯、高性能數(shù)據(jù)庫時。

  • 需要交互式聚合和快速探究大量數(shù)據(jù)時

Kylin

Kylin是提供與Hadoop之上的SQL查詢接口及多維分析能力以支持超大規(guī)模數(shù)據(jù)

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久99一本色道亚洲精品| 五月婷日韩中文字幕四虎| 亚洲天堂男人在线观看| 不卡中文字幕在线免费看| 欧美日韩一区二区三区色拉拉| 白白操白白在线免费观看| 在线欧美精品二区三区| 日韩视频在线观看成人| 手机在线观看亚洲中文字幕| 亚洲国产日韩欧美三级| 日韩av欧美中文字幕| 欧美一区二区三区99| 丰满人妻一二三区av| 久久中文字人妻熟女小妇| 日韩1区二区三区麻豆| 好吊一区二区三区在线看| 99久久精品久久免费| 国产精品午夜一区二区三区| 精品少妇一区二区视频| 亚洲欧洲一区二区综合精品| 美女极度色诱视频在线观看| 亚洲高清欧美中文字幕| 国产午夜精品美女露脸视频| 亚洲一区二区三区精选| 中文字幕禁断介一区二区| 亚洲国产成人av毛片国产| 亚洲熟妇中文字幕五十路| 精品国自产拍天天青青草原| 91偷拍与自偷拍精品| 国产精品亚洲综合色区韩国| 国产一级内射麻豆91| 特黄大片性高水多欧美一级 | 国产丝袜女优一区二区三区| 欧美一级黄片欧美精品| 伊人色综合久久伊人婷婷| 欧美日韩免费黄片观看| 亚洲妇女黄色三级视频| 亚洲男人的天堂就去爱| 午夜视频在线观看日韩| 国产爆操白丝美女在线观看| 亚洲一区二区久久观看|