一篇并不起眼的數(shù)據(jù)倉(cāng)庫(kù)面試題
點(diǎn)擊上方 "大數(shù)據(jù)肌肉猿"關(guān)注, 星標(biāo)一起成長(zhǎng)
后臺(tái)回復(fù)【加群】,進(jìn)入高質(zhì)量學(xué)習(xí)交流群
2021年大數(shù)據(jù)肌肉猿公眾號(hào)獎(jiǎng)勵(lì)制度

數(shù)據(jù)倉(cāng)庫(kù)的定義?
首先,用于支持決策,面向分析型數(shù)據(jù)處理;其次,對(duì)多個(gè)異構(gòu)的數(shù)據(jù)源有效集成,集成后按照主題進(jìn)行重組,并包含歷史數(shù)據(jù),而且存放在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)一般不再修改。
數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse)是一個(gè)面向主題的(subject oriented)、集成的(integrated)、相對(duì)穩(wěn)定的(non-volatile)、反應(yīng)歷史變化(time variant)的數(shù)據(jù)集合,用于支持管理決策(decision making support)。
數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)的區(qū)別?
從目標(biāo)、用途、設(shè)計(jì)來(lái)說(shuō)
數(shù)據(jù)庫(kù)是面向事物處理的,數(shù)據(jù)是由日常的業(yè)務(wù)產(chǎn)生的,常更新;數(shù)據(jù)倉(cāng)庫(kù)是面向主題的,數(shù)據(jù)來(lái)源多樣,經(jīng)過(guò)一定的規(guī)則轉(zhuǎn)換得到,用來(lái)分析。
數(shù)據(jù)庫(kù)一般用來(lái)存儲(chǔ)當(dāng)前事務(wù)性數(shù)據(jù),如交易數(shù)據(jù);數(shù)據(jù)倉(cāng)庫(kù)一般存儲(chǔ)的歷史數(shù)據(jù)。
數(shù)據(jù)庫(kù)的設(shè)計(jì)一般是符合三范式的,有最大的精確度和最小的冗余度,有利于數(shù)據(jù)的插入;數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)一般不符合三范式,有利于查詢
如何構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)?
數(shù)倉(cāng)模型的選擇是靈活的,不局限于某種模型方法。
數(shù)倉(cāng)數(shù)據(jù)是靈活的,以實(shí)際需求場(chǎng)景為導(dǎo)向。
數(shù)倉(cāng)設(shè)計(jì)要兼顧靈活性、可擴(kuò)展性,要考慮技術(shù)可靠性和實(shí)現(xiàn)成本。
https://www.zhihu.com/question/19703294
系統(tǒng)分析,確定主題。通過(guò)與業(yè)務(wù)部門的交流,了解建立數(shù)倉(cāng)要解決的問(wèn)題,確認(rèn)各個(gè)主題下的查詢分析要求
選擇滿足數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)要求的軟件平臺(tái)。選擇合適的軟件平臺(tái),包括數(shù)據(jù)庫(kù)、建模工具、分析工具等
建立數(shù)據(jù)倉(cāng)庫(kù)的邏輯模型。確定建立數(shù)據(jù)倉(cāng)庫(kù)邏輯模型的基本方法,基于主題視圖,把主題視圖中的數(shù)據(jù)定義轉(zhuǎn)到邏輯數(shù)據(jù)模型中
邏輯數(shù)據(jù)模型轉(zhuǎn)換為數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)模型
數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)模型優(yōu)化。隨著需求和數(shù)據(jù)量的變化進(jìn)行調(diào)整
數(shù)據(jù)清洗轉(zhuǎn)換和傳輸。業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)之前,必須進(jìn)行數(shù)據(jù)的清洗和轉(zhuǎn)換,保證數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的一致性。
開發(fā)數(shù)據(jù)倉(cāng)庫(kù)的分析應(yīng)用。滿足業(yè)務(wù)部門對(duì)數(shù)據(jù)進(jìn)行分析的需求。
數(shù)據(jù)倉(cāng)庫(kù)的管理。包括數(shù)據(jù)庫(kù)管理和元數(shù)據(jù)管理。
什么是數(shù)據(jù)中臺(tái)?
數(shù)據(jù)中臺(tái)是指通過(guò)數(shù)據(jù)技術(shù),對(duì)海量數(shù)據(jù)進(jìn)行采集、計(jì)算、存儲(chǔ)、加工,同時(shí)統(tǒng)一標(biāo)準(zhǔn)和口徑。數(shù)據(jù)中臺(tái)吧數(shù)據(jù)統(tǒng)一之后,會(huì)形成標(biāo)準(zhǔn)數(shù)據(jù),再進(jìn)行存儲(chǔ),形成大數(shù)據(jù)資產(chǎn)層,進(jìn)而為客戶提供高效服務(wù)。
這些服務(wù)和企業(yè)的業(yè)務(wù)有較強(qiáng)的關(guān)聯(lián)性,是企業(yè)所獨(dú)有且能復(fù)用的,它是企業(yè)業(yè)務(wù)和數(shù)據(jù)的積淀,其不僅能降低重復(fù)建設(shè),減少煙囪式協(xié)作的成本,也是差異化競(jìng)爭(zhēng)的優(yōu)勢(shì)所在。
數(shù)據(jù)中臺(tái)通過(guò)整合公司開發(fā)工具、打通全域數(shù)據(jù)、讓數(shù)據(jù)持續(xù)為業(yè)務(wù)賦能,實(shí)現(xiàn)數(shù)據(jù)平臺(tái)化、數(shù)據(jù)服務(wù)化和數(shù)據(jù)價(jià)值化。數(shù)據(jù)中臺(tái)更加側(cè)重于“復(fù)用”與“業(yè)務(wù)”。
數(shù)據(jù)中臺(tái)、數(shù)據(jù)倉(cāng)庫(kù)、大數(shù)據(jù)平臺(tái)的關(guān)鍵區(qū)別是什么?
基礎(chǔ)能力上的區(qū)別
數(shù)據(jù)平臺(tái):提供的是計(jì)算和存儲(chǔ)能力
數(shù)據(jù)倉(cāng)庫(kù):利用數(shù)據(jù)平臺(tái)提供的計(jì)算和存儲(chǔ)能力,在一套方法論指導(dǎo)下建設(shè)的一整套的數(shù)據(jù)表
數(shù)據(jù)中臺(tái):包含了數(shù)據(jù)平臺(tái)和數(shù)據(jù)倉(cāng)庫(kù)的所有內(nèi)容,將其打包,并且以更加整合以及更加產(chǎn)品化的方式對(duì)外提供服務(wù)和價(jià)值。
業(yè)務(wù)能力上的區(qū)別
數(shù)據(jù)平臺(tái):為業(yè)務(wù)提供數(shù)據(jù)主要方式是提供數(shù)據(jù)集
數(shù)據(jù)倉(cāng)庫(kù):相對(duì)具體的功能概念是存儲(chǔ)和管理一個(gè)或多個(gè)主題數(shù)據(jù)的集合,為業(yè)務(wù)提供服務(wù)的方式主要是分析報(bào)表
數(shù)據(jù)中臺(tái):企業(yè)級(jí)的邏輯概念,提現(xiàn)企業(yè)數(shù)據(jù)產(chǎn)生價(jià)值的能力,為業(yè)務(wù)提供服務(wù)的主要方式是數(shù)據(jù)API
總的來(lái)說(shuō),數(shù)據(jù)中臺(tái)距離業(yè)務(wù)更近,數(shù)據(jù)復(fù)用能力更強(qiáng),能為業(yè)務(wù)提供速度更快的服務(wù)。數(shù)據(jù)中臺(tái)是在數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)平臺(tái)的基礎(chǔ)上,將數(shù)據(jù)生產(chǎn)為一個(gè)個(gè)數(shù)據(jù)API服務(wù),以更高效的方式提供給業(yè)務(wù)。數(shù)據(jù)中臺(tái)可以建立在數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)平臺(tái)之上,是加速企業(yè)從數(shù)據(jù)到業(yè)務(wù)價(jià)值的過(guò)程的中間層。
大數(shù)據(jù)的一些相關(guān)系統(tǒng)?
數(shù)倉(cāng)設(shè)計(jì)中心:按照主題域、業(yè)務(wù)過(guò)程,分層的設(shè)計(jì)方式,以維度建模作為基本理論依據(jù),按照維度、度量設(shè)計(jì)模型,確保模型、字段有統(tǒng)一的命名規(guī)范
數(shù)據(jù)資產(chǎn)中心:梳理數(shù)據(jù)資產(chǎn),基于數(shù)據(jù)血緣,數(shù)據(jù)的訪問(wèn)熱度,做成本的治理
數(shù)據(jù)質(zhì)量中心:通過(guò)豐富的稽查監(jiān)控系統(tǒng),對(duì)數(shù)據(jù)進(jìn)行事后校驗(yàn),確保問(wèn)題數(shù)據(jù)第一時(shí)間被發(fā)現(xiàn),避免下游的無(wú)效計(jì)算,分析數(shù)據(jù)的影響范圍。
指標(biāo)系統(tǒng):管理指標(biāo)的業(yè)務(wù)口徑、計(jì)算邏輯和數(shù)據(jù)來(lái)源,通過(guò)流程化的方式,建立從指標(biāo)需求、指標(biāo)開發(fā)、指標(biāo)發(fā)布的全套協(xié)作流程。
數(shù)據(jù)地圖:提供元數(shù)據(jù)的快速索引,數(shù)據(jù)字典、數(shù)據(jù)血緣、數(shù)據(jù)特征信息的查詢,相當(dāng)于元數(shù)據(jù)中心的門戶。
如何建設(shè)數(shù)據(jù)中臺(tái)?
http://baijiahao.baidu.com/s?id=1651988047250956280&wfr=spider&for=pc
數(shù)據(jù)中臺(tái)在企業(yè)落地實(shí)踐時(shí),結(jié)合技術(shù)、產(chǎn)品、數(shù)據(jù)、服務(wù)、運(yùn)營(yíng)等方面,逐步開展相關(guān)工作。
理現(xiàn)狀。了解業(yè)務(wù)現(xiàn)狀、數(shù)據(jù)現(xiàn)狀、IT現(xiàn)狀、現(xiàn)有的組織架構(gòu)
定架構(gòu)。確認(rèn)業(yè)務(wù)架構(gòu)、技術(shù)架構(gòu)、應(yīng)用架構(gòu)、組織架構(gòu)
建資產(chǎn)。建立貼近數(shù)據(jù)層、統(tǒng)一數(shù)倉(cāng)層、標(biāo)簽數(shù)據(jù)層、應(yīng)用數(shù)據(jù)層
用數(shù)據(jù)。對(duì)數(shù)據(jù)進(jìn)行輸出、應(yīng)用。
數(shù)據(jù)運(yùn)營(yíng)。持續(xù)運(yùn)營(yíng)、持續(xù)迭代。
中臺(tái)建設(shè)需要有全員共識(shí),由管理層從上往下推進(jìn),由技術(shù)和業(yè)務(wù)人員去執(zhí)行和落地是一個(gè)漫長(zhǎng)的過(guò)程,在實(shí)施數(shù)據(jù)中臺(tái)時(shí),最困難的地方就是需要有人推動(dòng)。
數(shù)據(jù)湖的理解?
數(shù)據(jù)湖是一個(gè)存儲(chǔ)企業(yè)的各種各樣原始數(shù)據(jù)的大型倉(cāng)庫(kù),其中的數(shù)據(jù)可供存取、處理、分析及傳輸。
數(shù)倉(cāng)最重要的是什么?
個(gè)人認(rèn)為是數(shù)據(jù)集成。
企業(yè)的數(shù)據(jù)通常是存儲(chǔ)在多個(gè)異構(gòu)數(shù)據(jù)庫(kù)中的,要進(jìn)行分析,必須先要對(duì)數(shù)據(jù)進(jìn)行一致性整合。
集成整合后才可以對(duì)數(shù)據(jù)進(jìn)行分析、挖掘數(shù)據(jù)潛在的價(jià)值。
概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型
概念數(shù)據(jù)模型設(shè)計(jì)與邏輯數(shù)據(jù)模型設(shè)計(jì)、物理數(shù)據(jù)模型設(shè)計(jì)是數(shù)據(jù)庫(kù)及數(shù)據(jù)倉(cāng)庫(kù)模型設(shè)計(jì)的三個(gè)主要步驟。
概念數(shù)據(jù)模型CDM
conceptual data model
概念數(shù)據(jù)模型是最終用戶對(duì)數(shù)據(jù)存儲(chǔ)的看法,反映了最終用戶綜合性的信息需求,以數(shù)據(jù)類的方式描述企業(yè)級(jí)的數(shù)據(jù)需求。
概念數(shù)據(jù)模型的內(nèi)容包括重要的實(shí)體與實(shí)體之間的關(guān)系。在概念數(shù)據(jù)模型中不包含實(shí)體的屬性,也不包含定義實(shí)體的主鍵
概念數(shù)據(jù)模型的目標(biāo)是統(tǒng)一業(yè)務(wù)概念,作為業(yè)務(wù)人員和技術(shù)人員之間溝通的橋梁,確定不同實(shí)體之間的最高層次的關(guān)系
邏輯數(shù)據(jù)模型LDM
logical data model
邏輯數(shù)據(jù)模型反應(yīng)的是系統(tǒng)分析設(shè)計(jì)人員對(duì)數(shù)據(jù)存儲(chǔ)的觀點(diǎn),是對(duì)概念數(shù)據(jù)模型的進(jìn)一步的分解和細(xì)化。邏輯數(shù)據(jù)模型是根據(jù)業(yè)務(wù)規(guī)則確定的,關(guān)于業(yè)務(wù)對(duì)象、業(yè)務(wù)對(duì)象的數(shù)據(jù)項(xiàng)以及業(yè)務(wù)對(duì)象之間關(guān)系的基本藍(lán)圖。
邏輯數(shù)據(jù)模型的內(nèi)容包括所有的實(shí)體和關(guān)系,確定每個(gè)實(shí)體的屬性,定義每個(gè)實(shí)體的主鍵,指定實(shí)體的外鍵,需要進(jìn)行范式化處理。
邏輯數(shù)據(jù)模型的目標(biāo)是盡可能詳細(xì)的描述數(shù)據(jù),但并不考慮在物理上如何實(shí)現(xiàn)。
物理數(shù)據(jù)模型PDM
physical data model
物理數(shù)據(jù)模型是在邏輯數(shù)據(jù)模型的基礎(chǔ)上,考慮各種具體的技術(shù)實(shí)現(xiàn)因素,進(jìn)行數(shù)據(jù)庫(kù)體系結(jié)構(gòu)設(shè)計(jì),真正實(shí)現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存放。
物理數(shù)據(jù)模型的內(nèi)容包括確定所有的表和列,定義外鍵用于確認(rèn)表之間的關(guān)系,基于用戶的需求可能要進(jìn)行反范式化等內(nèi)容。
SCD的常用處理方式?
slowly changing dimensions緩慢變化維度
不記錄歷史變化信息
添加列來(lái)記錄歷史變化
新插入數(shù)據(jù)行,并添加對(duì)應(yīng)標(biāo)識(shí)字段來(lái)記錄歷史數(shù)據(jù)。拉鏈表。
元數(shù)據(jù)的理解?
https://www.jianshu.com/p/f7c26b4ebe3c
狹義來(lái)講就是用來(lái)描述數(shù)據(jù)的數(shù)據(jù)
廣義來(lái)看,除了業(yè)務(wù)邏輯直接讀寫處理的業(yè)務(wù)數(shù)據(jù),所有其他用來(lái)維護(hù)整個(gè)系統(tǒng)運(yùn)轉(zhuǎn)所需要的數(shù)據(jù),都可以較為元數(shù)據(jù)。
定義:元數(shù)據(jù)metadata是關(guān)于數(shù)據(jù)的數(shù)據(jù)。在數(shù)倉(cāng)系統(tǒng)中,元數(shù)據(jù)可以幫助數(shù)據(jù)倉(cāng)庫(kù)管理員和數(shù)據(jù)倉(cāng)庫(kù)開發(fā)人員方便的找到他們所關(guān)心的數(shù)據(jù);元數(shù)據(jù)是描述數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部數(shù)據(jù)的結(jié)構(gòu)和建立方法的數(shù)據(jù)。按照用途可分為:技術(shù)元數(shù)據(jù)、業(yè)務(wù)元數(shù)據(jù)。
技術(shù)元數(shù)據(jù)
存儲(chǔ)關(guān)于數(shù)據(jù)倉(cāng)庫(kù)技術(shù)細(xì)節(jié)的數(shù)據(jù),用于開發(fā)和管理數(shù)據(jù)倉(cāng)庫(kù)使用的數(shù)據(jù)
數(shù)據(jù)倉(cāng)庫(kù)結(jié)構(gòu)的描述,包括數(shù)據(jù)模式、視圖、維、層次結(jié)構(gòu)和導(dǎo)出數(shù)據(jù)的定義,以及數(shù)據(jù)集市的位置和內(nèi)容
業(yè)務(wù)系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)集市的體系結(jié)構(gòu)和模式
由操作環(huán)境到數(shù)據(jù)倉(cāng)庫(kù)環(huán)境的映射,包括元數(shù)據(jù)和他們的內(nèi)容、數(shù)據(jù)提取、轉(zhuǎn)換規(guī)則和數(shù)據(jù)刷新規(guī)則、權(quán)限等。
業(yè)務(wù)元數(shù)據(jù)
從業(yè)務(wù)角度描述了數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù),他提供了介于使用者和實(shí)際系統(tǒng)之間的語(yǔ)義層,使不懂計(jì)算機(jī)技術(shù)的業(yè)務(wù)人員也能讀懂?dāng)?shù)倉(cāng)中的數(shù)據(jù)。
企業(yè)概念模型:表示企業(yè)數(shù)據(jù)模型的高層信息。整個(gè)企業(yè)業(yè)務(wù)概念和相互關(guān)系。以這個(gè)企業(yè)模型為基礎(chǔ),不懂sql的人也能做到心中有數(shù)
多維數(shù)據(jù)模型。告訴業(yè)務(wù)分析人員在數(shù)據(jù)集市中有哪些維、維的類別、數(shù)據(jù)立方體以及數(shù)據(jù)集市中的聚合規(guī)則。
業(yè)務(wù)概念模型和物理數(shù)據(jù)之間的依賴。業(yè)務(wù)視圖和實(shí)際數(shù)倉(cāng)的表、字段、維的對(duì)應(yīng)關(guān)系也應(yīng)該在元數(shù)據(jù)知識(shí)庫(kù)中有所體現(xiàn)。
元數(shù)據(jù)管理系統(tǒng)?
元數(shù)據(jù)管理往往容易被忽視,但是元數(shù)據(jù)管理是不可或缺的。一方面元數(shù)據(jù)為數(shù)據(jù)需求方提供了完整的數(shù)倉(cāng)使用文檔,幫助他們能自主快速的獲取數(shù)據(jù);另一方面數(shù)倉(cāng)團(tuán)隊(duì)可以從日常的數(shù)據(jù)解釋中解脫出來(lái),無(wú)論是對(duì)后期的迭代更新還是維護(hù),都有很大的好處。元數(shù)據(jù)管理可以讓數(shù)據(jù)倉(cāng)庫(kù)的應(yīng)用和維護(hù)更加的高效。
元數(shù)據(jù)管理功能
數(shù)據(jù)地圖:以拓?fù)鋱D的形式對(duì)數(shù)據(jù)系統(tǒng)的各類數(shù)據(jù)實(shí)體、數(shù)據(jù)處理過(guò)程元數(shù)據(jù)進(jìn)行分層次的圖形化展示,并通過(guò)不同層次的圖形展現(xiàn)。
元數(shù)據(jù)分析:血緣分析、影響分析、實(shí)體關(guān)聯(lián)分析、實(shí)體差異分析、指標(biāo)一致性分析。
輔助應(yīng)用優(yōu)化:結(jié)合元數(shù)據(jù)分析功能,可以對(duì)數(shù)據(jù)系統(tǒng)的應(yīng)用進(jìn)行優(yōu)化。
輔助安全管理:采用合理的安全管理機(jī)制來(lái)保障系統(tǒng)的數(shù)據(jù)安全;對(duì)數(shù)據(jù)系統(tǒng)的數(shù)據(jù)訪問(wèn)和功能使用進(jìn)行有效監(jiān)控。
基于元數(shù)據(jù)的開發(fā)管理:通過(guò)元數(shù)據(jù)管理系統(tǒng)規(guī)范日常開發(fā)的工作流程
元數(shù)據(jù)管理標(biāo)準(zhǔn)
對(duì)于相對(duì)簡(jiǎn)單的環(huán)境,按照通用的元數(shù)據(jù)管理標(biāo)準(zhǔn)建立一個(gè)集中式的元數(shù)據(jù)知識(shí)庫(kù)
對(duì)于比較復(fù)雜的環(huán)境,分別建立各部分的元數(shù)據(jù)管理系統(tǒng),形成分布式元數(shù)據(jù)知識(shí)庫(kù),然后通過(guò)建立標(biāo)準(zhǔn)的元數(shù)據(jù)交換格式,實(shí)現(xiàn)元數(shù)據(jù)的集成管理。
數(shù)倉(cāng)如何確定主題域?
https://www.jianshu.com/p/708f5606dd01
主題
主題是在較高層次上將數(shù)據(jù)進(jìn)行綜合、歸類和分析利用的一個(gè)抽象概念,每一個(gè)主題基本對(duì)應(yīng)一個(gè)宏觀的分析領(lǐng)域。在邏輯意義上,它是對(duì)企業(yè)中某一宏觀分析領(lǐng)域所涉及的分析對(duì)象。
面向主題的數(shù)據(jù)組織方式,就是在較高層次上對(duì)分析對(duì)象數(shù)據(jù)的一個(gè)完整并且一致的描述,能刻畫各個(gè)分析對(duì)象所涉及的企業(yè)各項(xiàng)數(shù)據(jù),以及數(shù)據(jù)之間的聯(lián)系。
主題是根據(jù)分析的要求來(lái)確定的。
主題域
從數(shù)據(jù)角度看(集合論)
主題語(yǔ)通常是聯(lián)系較為緊密的數(shù)據(jù)主題的集合。可以根據(jù)業(yè)務(wù)的關(guān)注點(diǎn),將這些數(shù)據(jù)主題劃分到不同的主題域。主題域的確定由最終用戶和數(shù)倉(cāng)設(shè)計(jì)人員共同完成。
從需要建設(shè)的數(shù)倉(cāng)主題看(邊界論)
主題域是對(duì)某個(gè)主題進(jìn)行分析后確定的主題的邊界。
數(shù)倉(cāng)建設(shè)過(guò)程中,需要對(duì)主題進(jìn)行分析,確定主題所涉及到的表、字段、維度等界限。
確定主題內(nèi)容
數(shù)倉(cāng)主題定義好以后,數(shù)倉(cāng)中的邏輯模型也就基本成形了,需要在主題的邏輯關(guān)系中列出屬性和系統(tǒng)相關(guān)行為。此階段需要定義好數(shù)據(jù)倉(cāng)庫(kù)的存儲(chǔ)結(jié)構(gòu),向主題模型中添加所需要的信息和能充分代表主題的屬性組。
如何控制數(shù)據(jù)質(zhì)量?
校驗(yàn)機(jī)制,每天進(jìn)行數(shù)據(jù)量的比對(duì) select count(*),早發(fā)現(xiàn),早修復(fù)
數(shù)據(jù)內(nèi)容的比對(duì),抽樣比對(duì)
復(fù)盤、每月做一次全量
如何做數(shù)據(jù)治理?
https://www.jianshu.com/p/44d7618f32b6
數(shù)據(jù)治理不僅需要完善的保障機(jī)制,還需要理解具體的治理內(nèi)容,比如數(shù)據(jù)應(yīng)該怎么進(jìn)行規(guī)范,元數(shù)據(jù)該怎么來(lái)管理,每個(gè)過(guò)程需要那些系統(tǒng)或者工具來(lái)配合?
數(shù)據(jù)治理領(lǐng)域包括但不限于以下內(nèi)容:數(shù)據(jù)標(biāo)準(zhǔn)、元數(shù)據(jù)、數(shù)據(jù)模型、數(shù)據(jù)分布、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)交換、數(shù)據(jù)聲明周期管理、數(shù)據(jù)質(zhì)量、數(shù)據(jù)安全以及數(shù)據(jù)共享服務(wù)。
模型設(shè)計(jì)的思路?業(yè)務(wù)驅(qū)動(dòng)?數(shù)據(jù)驅(qū)動(dòng)?
構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)有兩種方式:自上而下、自下而上
Bill Inmon推崇自上而下的方式,一個(gè)企業(yè)建立唯一的數(shù)據(jù)中心,數(shù)據(jù)是經(jīng)過(guò)整合、清洗、去掉臟數(shù)據(jù)、標(biāo)準(zhǔn)的、能夠提供統(tǒng)一的視圖。要從整個(gè)企業(yè)的環(huán)境入手,建立數(shù)據(jù)倉(cāng)庫(kù),要做很全面的設(shè)計(jì)。偏數(shù)據(jù)驅(qū)動(dòng)
Ralph Kimball推崇自下而上的方式,認(rèn)為數(shù)據(jù)倉(cāng)庫(kù)應(yīng)該按照實(shí)際的應(yīng)用需求,架子啊需要的數(shù)據(jù),不需要的數(shù)據(jù)不要加載到數(shù)據(jù)倉(cāng)庫(kù)中。這種方式建設(shè)周期短,用戶能很快看到結(jié)果。偏業(yè)務(wù)驅(qū)動(dòng)
數(shù)據(jù)質(zhì)量管理
https://blog.csdn.net/kuangfeng88588/article/details/99085074
數(shù)據(jù)質(zhì)量管理是對(duì)數(shù)據(jù)從計(jì)劃、獲取、存儲(chǔ)、共享、維護(hù)、應(yīng)用、消亡生命周期的每個(gè)階段里可能引發(fā)的數(shù)據(jù)質(zhì)量問(wèn)題,進(jìn)行識(shí)別、度量、監(jiān)控、預(yù)警等,通過(guò)改善了提高組織的管理水平使數(shù)據(jù)質(zhì)量進(jìn)一步提高。
數(shù)據(jù)質(zhì)量管理是一個(gè)集方法論、技術(shù)、業(yè)務(wù)和管理為一體的解決方案。放過(guò)有效的數(shù)據(jù)質(zhì)量控制手段,進(jìn)行數(shù)據(jù)的管理和控制,消除數(shù)據(jù)質(zhì)量問(wèn)題,從而提高企業(yè)數(shù)據(jù)變現(xiàn)的能力。
會(huì)遇到的數(shù)據(jù)質(zhì)量問(wèn)題:數(shù)據(jù)真實(shí)性、數(shù)據(jù)準(zhǔn)確性、數(shù)據(jù)一致性、數(shù)據(jù)完整性、數(shù)據(jù)唯一性、數(shù)據(jù)關(guān)聯(lián)性、數(shù)據(jù)及時(shí)性
什么是數(shù)據(jù)模型?
數(shù)據(jù)模型就是數(shù)據(jù)組織和存儲(chǔ)的方法,通過(guò)抽象的實(shí)體以及實(shí)體間聯(lián)系的形式來(lái)表達(dá)現(xiàn)實(shí)世界中事務(wù)的相互關(guān)系的一種映射,他強(qiáng)調(diào)從業(yè)務(wù)、數(shù)據(jù)存取和使用角度合理的存儲(chǔ)數(shù)據(jù)。
為什么需要數(shù)據(jù)倉(cāng)庫(kù)建模?
數(shù)倉(cāng)建模需要按照一定的數(shù)據(jù)模型,對(duì)整個(gè)企業(yè)的數(shù)據(jù)進(jìn)行采集,整理,提供跨部門、完全一致的報(bào)表數(shù)據(jù)。
合適的數(shù)據(jù)模型,對(duì)于大數(shù)據(jù)處理來(lái)講,可以獲得得更好的性能、成本、效率和質(zhì)量。良好的模型可以幫助我們快速查詢數(shù)據(jù),減少不必要的數(shù)據(jù)冗余,提高用戶的使用效率。
數(shù)據(jù)建模進(jìn)行全方面的業(yè)務(wù)梳理,改進(jìn)業(yè)務(wù)流程,消滅信息孤島,更好的推進(jìn)數(shù)倉(cāng)系統(tǒng)的建設(shè)。
OLAP和OLTP的模型方法的選擇?
OLTP系統(tǒng)是操作事物型系統(tǒng),主要數(shù)據(jù)操作是隨機(jī)讀寫,主要采用滿足3NF的實(shí)體關(guān)系模型存儲(chǔ)數(shù)據(jù),在事物處理中解決數(shù)據(jù)的冗余和一致性問(wèn)題。
OLAP系統(tǒng)是分析型系統(tǒng),主要數(shù)據(jù)操作是批量讀寫,不需要關(guān)注事務(wù)處理的一致性,主要關(guān)注數(shù)據(jù)的整合,以及復(fù)雜大數(shù)據(jù)量的查詢和處理的性能。
3范式?
每個(gè)屬性值唯一,不具有多義性
每個(gè)非主屬性必須完全依賴于整個(gè)主鍵,而非主鍵的一部分
每個(gè)非主屬性不能依賴于其他關(guān)系中的屬性
數(shù)據(jù)倉(cāng)庫(kù)建模方法?
有四種模型:ER模型、維度模型、Data Vault模型、Anchor模型。用的較多的是維度模型和ER模型。
ER模型
ER模型用實(shí)體關(guān)系模型描述企業(yè)業(yè)務(wù),在范式理論上滿足3NF。數(shù)倉(cāng)中的3NF是站在企業(yè)角度面向主題的抽象,而不是針對(duì)某個(gè)具體業(yè)務(wù)流程的實(shí)體對(duì)象關(guān)系的抽象。
采用ER模型建設(shè)數(shù)據(jù)倉(cāng)庫(kù)模型的出發(fā)點(diǎn)是整合數(shù)據(jù),將各個(gè)系統(tǒng)中的數(shù)據(jù)按照主題進(jìn)行相似性整合,并進(jìn)行一致性處理。
ER模型特點(diǎn):
需要全方位了解企業(yè)業(yè)務(wù)數(shù)據(jù)
實(shí)施周期較長(zhǎng)
對(duì)建模人員要求教高
維度建模
維度建模按照事實(shí)表和維度表來(lái)構(gòu)建數(shù)倉(cāng)。
維度建模從分析決策的需求出發(fā)構(gòu)建模型,為分析需求服務(wù)。重點(diǎn)關(guān)注用戶如何快速的完成數(shù)據(jù)分析,可以直觀的反應(yīng)業(yè)務(wù)模型中的業(yè)務(wù)問(wèn)題,需要大量的數(shù)據(jù)預(yù)處理、數(shù)據(jù)冗余,有較好的大規(guī)模復(fù)雜查詢的響應(yīng)性能。
事實(shí)表
發(fā)生在現(xiàn)實(shí)世界中的操作性事件,其產(chǎn)生的可度量數(shù)值,存儲(chǔ)在事實(shí)表中。從最細(xì)粒度級(jí)別來(lái)看,事實(shí)表的一行對(duì)應(yīng)一個(gè)度量事件。事實(shí)表表示對(duì)分析主題的度量。‘
事實(shí)表中包含了與各個(gè)維度表相關(guān)聯(lián)的外鍵,可與維度表關(guān)聯(lián)。事實(shí)表的度量通常是數(shù)值類型,且記錄數(shù)不斷增加,表數(shù)據(jù)量迅速增長(zhǎng)。
維度表
維度表示分析數(shù)據(jù)時(shí)所用的環(huán)境。
每個(gè)維度表都包含單獨(dú)的主鍵列。維度表行的描述環(huán)境應(yīng)該與事實(shí)表行完全對(duì)應(yīng)。維度表通常比較寬,是扁平型的非規(guī)范表,包含大量的低粒度的文本屬性。
注意
事實(shí)表的設(shè)計(jì)是以能夠正確記錄歷史信息為準(zhǔn)則
維度表的設(shè)計(jì)是以能夠以合適的角度來(lái)聚合主題內(nèi)容為準(zhǔn)則
維度建模的三種模式
星形模型:以事實(shí)表為中心,所有的維度直接連接在事實(shí)表上。由一個(gè)事實(shí)表和一組維度表組成。
雪花模型:是對(duì)星形模型的擴(kuò)展。雪花模型的維度表可以擁有更細(xì)的維度,比星形更規(guī)范一點(diǎn)。維護(hù)成本較高,且查詢是要關(guān)聯(lián)多層維表,性能較低
星座模型:基于多張事實(shí)表,多張事實(shí)表共享維度信息
維度建模步驟:
選擇業(yè)務(wù)過(guò)程
選擇粒度
選定事實(shí)表
選擇維度
事實(shí)表的類型?
事實(shí)表有:事務(wù)事實(shí)表、周期快照事實(shí)表、累積快照事實(shí)表、非事實(shí)事實(shí)表
事務(wù)事實(shí)表
事務(wù)事實(shí)表記錄的是事務(wù)層面的事實(shí),保存的是最原子的數(shù)據(jù),也稱“原子事實(shí)表”。事務(wù)事實(shí)表中的數(shù)據(jù)在事務(wù)事件發(fā)生后產(chǎn)生,數(shù)據(jù)的粒度通常是每個(gè)事務(wù)記錄一條記錄。
周期快照事實(shí)表
以具有規(guī)律性的、可預(yù)見的時(shí)間間隔來(lái)記錄事實(shí)。它統(tǒng)計(jì)的是間隔周期內(nèi)的度量統(tǒng)計(jì),每個(gè)時(shí)間段一條記錄,是在事務(wù)事實(shí)表之上建立的聚集表。
累積快照事實(shí)表
累積快照表記錄的不確定的周期的數(shù)據(jù)。代表的是完全覆蓋一個(gè)事務(wù)或產(chǎn)品的生命周期的時(shí)間跨度,通常具有多個(gè)日期字段,用來(lái)記錄整個(gè)生命周期中的關(guān)鍵時(shí)間點(diǎn)。

非事實(shí)型事實(shí)表
在維度建模的數(shù)據(jù)倉(cāng)庫(kù)中,有一種事實(shí)表叫Factless Fact Table,中文一般翻譯為“非事實(shí)型事實(shí)表”。在事實(shí)表中,通常會(huì)保存十個(gè)左右的維度外鍵和多個(gè)度量事實(shí),度量事實(shí)是事實(shí)表的關(guān)鍵所在。在非事實(shí)型事實(shí)表中沒(méi)有這些度量事實(shí),只有多個(gè)維度外鍵。非事實(shí)型事實(shí)表通常用來(lái)跟蹤一些事件或者說(shuō)明某些活動(dòng)的范圍。下面舉例來(lái)進(jìn)行說(shuō)明。
第一類非事實(shí)型事實(shí)表是用來(lái)跟蹤事件的事實(shí)表。例如:學(xué)生注冊(cè)事件,學(xué)校需要對(duì)學(xué)生按學(xué)期進(jìn)行跟蹤。維度表包括學(xué)期維度、課程維度、系維度、學(xué)生維度、注冊(cè)專業(yè)維度和取得學(xué)分維度,而事實(shí)表是由這些維度的主鍵組成,事實(shí)只有注冊(cè)數(shù),并且恒為1。這樣的事實(shí)表可以回答大量關(guān)于大學(xué)開課注冊(cè)方面的問(wèn)題,主要是回答各種情況下的注冊(cè)數(shù)。
第二類非事實(shí)型事實(shí)表是用來(lái)說(shuō)明某些活動(dòng)范圍的事實(shí)表。例如:促銷范圍事實(shí)表。通常銷售事實(shí)表可以回答如促銷商品的銷售情況,但是對(duì)于那些沒(méi)有銷售出去的促銷商品沒(méi)法回答。這時(shí),通過(guò)建立促銷范圍事實(shí)表,將商場(chǎng)需要促銷的商品單獨(dú)建立事實(shí)表保存。然后,通過(guò)這個(gè)促銷范圍事實(shí)表和銷售事實(shí)表即可得出哪些促銷商品沒(méi)有銷售出去。這樣的促銷范圍事實(shí)表只是用來(lái)說(shuō)明促銷活動(dòng)的范圍,其中沒(méi)有任何事實(shí)度量。
事實(shí)表中通常要保留度量事實(shí)和多個(gè)維度外鍵,度量事實(shí)是事實(shí)表的關(guān)鍵所在。
非事實(shí)表中沒(méi)有這些度量事實(shí),只有多個(gè)維度外鍵。非事實(shí)型事實(shí)表通常用來(lái)跟蹤一些事件或說(shuō)明某些活動(dòng)的范圍。
第一類非事實(shí)型事實(shí)表是用來(lái)跟蹤事件的事實(shí)表。例如:學(xué)生注冊(cè)事件。
第二類非事實(shí)型事實(shí)表是用來(lái)說(shuō)明某些活動(dòng)范圍的事實(shí)表。例如:促銷范圍事實(shí)表。
數(shù)倉(cāng)架構(gòu)為什么要分層?
分層可以清晰數(shù)據(jù)結(jié)構(gòu),使用時(shí)更好的定位和理解
方便追蹤數(shù)據(jù)的血緣關(guān)系
規(guī)范數(shù)據(jù)分層,可以開發(fā)一些通用的中間層數(shù)據(jù),能夠減少極大的重復(fù)計(jì)算
把復(fù)雜問(wèn)題簡(jiǎn)單化
屏蔽原始數(shù)據(jù)的異常。不必改一次業(yè)務(wù)就重新接入數(shù)據(jù)
數(shù)據(jù)分層思想?
理論上數(shù)據(jù)分為:操作數(shù)據(jù)層、數(shù)據(jù)倉(cāng)庫(kù)層、數(shù)據(jù)服務(wù)層。可根據(jù)需要添加新的層次,滿足不同的業(yè)務(wù)需求。
操作數(shù)據(jù)層ODS
Operate Data Store操作數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)源中的數(shù)據(jù)經(jīng)過(guò)ETL后裝入ODS層。
ODS層數(shù)據(jù)的來(lái)源一般有:業(yè)務(wù)數(shù)據(jù)庫(kù)、日志、抓取等。
數(shù)據(jù)倉(cāng)庫(kù)層DW
根據(jù)ODS層中的數(shù)據(jù)按照主題建立各種數(shù)據(jù)模型。
DW通常有:DWD、DWB、DWS
DWD: data warehouse detail細(xì)節(jié)數(shù)據(jù)層,是業(yè)務(wù)層和數(shù)據(jù)倉(cāng)庫(kù)的隔離層。
DWB: data warehouse base基礎(chǔ)數(shù)據(jù)層,存儲(chǔ)的是客觀數(shù)據(jù),一般用作于中間層。
DWS: data warehouse service服務(wù)數(shù)據(jù)層,整合匯總分析某個(gè)主題域的服務(wù)數(shù)據(jù)。一般是大寬表。
數(shù)據(jù)服務(wù)層/應(yīng)用層ADS
該層主要提供數(shù)據(jù)產(chǎn)品和數(shù)據(jù)分析使用的數(shù)據(jù),一般會(huì)放在ES、Mysql系統(tǒng)中供線上系統(tǒng)使用
數(shù)倉(cāng)架構(gòu)進(jìn)化
經(jīng)典數(shù)倉(cāng)架構(gòu):使用傳統(tǒng)工具來(lái)建設(shè)數(shù)倉(cāng)
離線大數(shù)據(jù)架構(gòu):開始使用大數(shù)據(jù)工具來(lái)替代經(jīng)典數(shù)倉(cāng)中的傳統(tǒng)工具
Lambda架構(gòu):在離線大數(shù)據(jù)架構(gòu)的基礎(chǔ)上,使用流處理技術(shù)直接完成實(shí)時(shí)性較高的指標(biāo)計(jì)算
Kappa:實(shí)時(shí)處理變成了主要的部分,出現(xiàn)了以實(shí)時(shí)處理為核心的kappa架構(gòu)
離線大數(shù)據(jù)架構(gòu)
數(shù)據(jù)源通過(guò)離線的方式導(dǎo)入離線數(shù)倉(cāng)中。下游應(yīng)用根據(jù)業(yè)務(wù)需求選擇獲取數(shù)據(jù)的方式
Lambda架構(gòu)
在離線數(shù)倉(cāng)的基礎(chǔ)上增加了實(shí)時(shí)計(jì)算的鏈路,并對(duì)數(shù)據(jù)源進(jìn)行流式改造,實(shí)時(shí)計(jì)算去訂閱消息隊(duì)列,并推送到下游的數(shù)據(jù)服務(wù)中去。
Lambda架構(gòu)問(wèn)題:同樣的需求需要開發(fā)兩套一樣的代碼;資源占用增多
Kappa架構(gòu)
kappa架構(gòu)可以認(rèn)為是lambda架構(gòu)的簡(jiǎn)化版,移除了lambda架構(gòu)中的批處理部分。
在kappa架構(gòu)中,需求修改或者歷史數(shù)據(jù)重新處理都通過(guò)上游重放完成
kappa架構(gòu)最大的問(wèn)題是流式重新處理歷史數(shù)據(jù)的吞吐能力會(huì)低于批處理,但可以通過(guò)增加計(jì)算資源來(lái)彌補(bǔ)
總結(jié)
真實(shí)場(chǎng)景中,是lambda架構(gòu)和kappa架構(gòu)的混合。大部分實(shí)時(shí)指標(biāo)通過(guò)kappa架構(gòu)計(jì)算,少量關(guān)鍵指標(biāo)用lambda架構(gòu)批量計(jì)算
隨著數(shù)據(jù)多樣性的發(fā)展,數(shù)據(jù)庫(kù)這種提前規(guī)定schema的模式顯得力不從心。這時(shí)出現(xiàn)了數(shù)據(jù)湖技術(shù),把原始數(shù)據(jù)全部緩存到某個(gè)大數(shù)據(jù)存儲(chǔ)上,后續(xù)分析時(shí)根據(jù)需求去解析原始數(shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)倉(cāng)庫(kù)模式是schema on write,數(shù)據(jù)湖模式是schema on read
OLAP簡(jiǎn)介
OLAP(On-line Analytical Processing),聯(lián)機(jī)分析處理,其主要的功能在于方便大規(guī)模數(shù)據(jù)分析及統(tǒng)計(jì)計(jì)算,對(duì)決策提供參考和支持。
特點(diǎn):數(shù)據(jù)量大、高速響應(yīng)、靈活交互、多維分析
OLAP分類
存儲(chǔ)類型分類
ROLAP(RelationalOLAP)
MOLAP(MultimensionalOLAP)
HOLAP(HybridOLAP)
處理類型分類
MPP架構(gòu)
搜索引擎架構(gòu)
預(yù)處理架構(gòu)
開源OLAP解決方案
《你需要的不是實(shí)時(shí)數(shù)倉(cāng) | 你需要的是一款強(qiáng)大的OLAP數(shù)據(jù)庫(kù)(上)》
《你需要的不是實(shí)時(shí)數(shù)倉(cāng) | 你需要的是一款強(qiáng)大的OLAP數(shù)據(jù)庫(kù)(下)》
Persto、SparkSQL、Impala等MPP架構(gòu)和ROLAP的引擎
Druid和Kylin等預(yù)處理架構(gòu)和MOLAP的引擎
ES這種搜索引擎架構(gòu)
ClickHouse及IndexR這種列式數(shù)據(jù)庫(kù)
OLAP引擎
Presto
Facebook開發(fā)的分布式大數(shù)據(jù)SQL查詢引擎,專門進(jìn)行快速數(shù)據(jù)分析
特點(diǎn)
可以將多個(gè)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行合并,可以跨越整個(gè)組織進(jìn)行分析
直接從HDFS讀取數(shù)據(jù),在使用前不需要大量的ETL操作
查詢?cè)?/strong>
完全基于內(nèi)存的并行計(jì)算
流水線
本地化計(jì)算
動(dòng)態(tài)編譯執(zhí)行計(jì)劃
小心使用內(nèi)存和數(shù)據(jù)結(jié)構(gòu)
類BlinkDB的近似查詢
GC控制
Druid
Druid是一個(gè)用于實(shí)時(shí)查詢和分析的分布式實(shí)時(shí)處理系統(tǒng),主要用于廣告分析,互聯(lián)網(wǎng)廣告監(jiān)控、度量和網(wǎng)絡(luò)監(jiān)控
特點(diǎn)
快速的交互式查詢——Druid的低延遲數(shù)據(jù)攝取架構(gòu)允許事件在它們創(chuàng)建后毫秒內(nèi)可被查詢到。
高可用性——Druid的數(shù)據(jù)在系統(tǒng)更新時(shí)依然可用,規(guī)模的擴(kuò)大和縮小都不會(huì)造成數(shù)據(jù)丟失;
可擴(kuò)展——Druid已實(shí)現(xiàn)每天能夠處理數(shù)十億事件和TB級(jí)數(shù)據(jù)。
為分析而設(shè)計(jì)——Druid是為OLAP工作流的探索性分析而構(gòu)建,它支持各種過(guò)濾、聚合和查詢
應(yīng)用場(chǎng)景
需要實(shí)時(shí)查詢分析
具有大量數(shù)據(jù)時(shí),如每天數(shù)億事件的新增、每天數(shù)10T數(shù)據(jù)的增加;
需要一個(gè)高可用、高容錯(cuò)、高性能數(shù)據(jù)庫(kù)時(shí)。
需要交互式聚合和快速探究大量數(shù)據(jù)時(shí)
Kylin
Kylin是提供與Hadoop之上的SQL查詢接口及多維分析能力以支持超大規(guī)模數(shù)據(jù)
特點(diǎn)
用戶為百億以上數(shù)據(jù)集定義數(shù)據(jù)模型并構(gòu)建立方體
亞秒級(jí)的查詢速度,同時(shí)支持高并發(fā)
為Hadoop提供標(biāo)準(zhǔn)SQL支持大部分查詢功能
提供與BI工具,如Tableau的整合能力
友好的web界面以管理,監(jiān)控和使用立方體
項(xiàng)目及立方體級(jí)別的訪問(wèn)控制安全
--end--
掃描下方二維碼 添加好友,備注【交流】 可私聊交流,也可進(jìn)資源豐富學(xué)習(xí)群 更文不易,點(diǎn)個(gè)“在看”支持一下??
