權威定義:數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策。
1)數(shù)據(jù)倉庫是用于支持決策、面向分析型數(shù)據(jù)處理;
2)對多個異構的數(shù)據(jù)源有效集成,集成后按照主題進行重組,并包含歷史數(shù)據(jù),而且存放在數(shù)據(jù)倉庫中的數(shù)據(jù)一般不再修改。
面對大數(shù)據(jù)的多樣性,在存儲和處理這些大數(shù)據(jù)時,我們就必須要知道兩個重要的技術。分別是:數(shù)據(jù)倉庫技術、Hadoop。當數(shù)據(jù)為結(jié)構化數(shù)據(jù),來自傳統(tǒng)的數(shù)據(jù)源,則采用數(shù)據(jù)倉庫技術來存儲和處理這些數(shù)據(jù),如下圖:2、數(shù)據(jù)倉庫和數(shù)據(jù)庫的區(qū)別?1)數(shù)據(jù)庫是面向事務處理的,數(shù)據(jù)是由日常的業(yè)務產(chǎn)生的,并且是頻繁更新的;數(shù)據(jù)倉庫是面向主題的,數(shù)據(jù)來源多樣化,經(jīng)過一定的規(guī)則轉(zhuǎn)換得到的,用于分析和決策;2)數(shù)據(jù)庫一般用來存儲當前事務性數(shù)據(jù),如交易數(shù)據(jù);數(shù)據(jù)倉庫一般存儲的是歷史數(shù)據(jù);3)數(shù)據(jù)庫設計一般符合三范式,有最大的精確度和最小的冗余度,有利于數(shù)據(jù)的插入;數(shù)據(jù)倉庫設計一般不符合三范式,有利于查詢。3、如何構建數(shù)據(jù)倉庫?
數(shù)據(jù)倉庫模型的選擇是靈活的,不局限與某種模型方法;數(shù)據(jù)倉庫數(shù)據(jù)是靈活的,以實際需求場景為導向;數(shù)倉設計要兼顧靈活性、可擴展性、要考慮技術可靠性和實現(xiàn)成本。1)調(diào)研:業(yè)務調(diào)研、需求調(diào)研、數(shù)據(jù)調(diào)研2)劃分主題域:通過業(yè)務調(diào)研、需求調(diào)研、數(shù)據(jù)調(diào)研最終確定主題域總線矩陣:把總線架構列表形成矩陣形式,行表示業(yè)務處理過程,即事實,列表示一致性的維度,在交叉點上打上標記表示該業(yè)務處理過程與該維度相關(交叉探查)數(shù)據(jù)中臺是通過數(shù)據(jù)技術,對海量數(shù)據(jù)進行采集、計算、存儲、加工,同時統(tǒng)一標準和口徑。數(shù)據(jù)中臺把數(shù)據(jù)統(tǒng)一之后,會形成標準數(shù)據(jù),再進行存儲,形成大數(shù)據(jù)資產(chǎn)層,進而為客戶提供高效服務。這些服務和企業(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ù)中臺更加側(cè)重于“復用”和“業(yè)務”。5、數(shù)據(jù)中臺、數(shù)據(jù)倉庫、大數(shù)據(jù)平臺、數(shù)據(jù)湖的關鍵區(qū)別是什么?數(shù)據(jù)平臺:提供的是計算和存儲能力數(shù)據(jù)倉庫:利用數(shù)據(jù)平臺提供的計算和存儲能力,在一套方法論的指導下建設的一整套的數(shù)據(jù)表數(shù)據(jù)中臺:包含了數(shù)據(jù)平臺和數(shù)據(jù)倉庫的所有內(nèi)容,將其打包,并且以更加整合以及更加產(chǎn)品化的方式對外提供服務和價值數(shù)據(jù)湖:一個存儲企業(yè)各種各樣原始數(shù)據(jù)的大型倉庫,包括結(jié)構化和非結(jié)構化數(shù)據(jù),其中湖里的數(shù)據(jù)可供存取、處理、分析和傳輸數(shù)據(jù)平臺:為業(yè)務提供數(shù)據(jù)主要方式是提供數(shù)據(jù)集數(shù)據(jù)倉庫:相對具體的功能概念是存儲和管理一個或多個主題數(shù)據(jù)的集合,為業(yè)務提供服務的方式主要是分析報表數(shù)據(jù)中臺:企業(yè)級的邏輯概念,體現(xiàn)企業(yè)數(shù)據(jù)產(chǎn)生價值的能力,為業(yè)務提供服務的主要方式是數(shù)據(jù)API數(shù)據(jù)湖:數(shù)據(jù)倉庫的數(shù)據(jù)來源總的來說,數(shù)據(jù)中臺距離業(yè)務更近,數(shù)據(jù)復用能力更強,能為業(yè)務提供速度更快的服務,數(shù)據(jù)中臺在數(shù)據(jù)倉庫和數(shù)據(jù)平臺的基礎上,將數(shù)據(jù)生產(chǎn)為一個個數(shù)據(jù)API服務,以更高效的方式提供給業(yè)務。數(shù)據(jù)中臺可以建立在數(shù)據(jù)倉庫和數(shù)據(jù)平臺之上,是加速企業(yè)從數(shù)據(jù)到業(yè)務價值的過程的中間層。6、大數(shù)據(jù)有哪些相關的系統(tǒng)?數(shù)倉設計中心:按照主題域、業(yè)務過程,分層的設計方式,以維度建模作為基本理論依據(jù),按照維度、度量設計模型,確保模型、字段有統(tǒng)一的命名規(guī)范數(shù)據(jù)資產(chǎn)中心:梳理數(shù)據(jù)資產(chǎn),基于數(shù)據(jù)血緣,數(shù)據(jù)的訪問熱度,做成本的治理數(shù)據(jù)質(zhì)量中心:通過豐富的稽查監(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ù)中臺在企業(yè)落地實踐時,結(jié)合技術、產(chǎn)品、數(shù)據(jù)、服務、運營等方面,逐步開展相關工作1)理現(xiàn)狀:了解業(yè)務現(xiàn)狀、數(shù)據(jù)現(xiàn)狀、IT現(xiàn)狀、現(xiàn)有的組織架構2)定架構:確認業(yè)務架構、技術架構、應用架構、組織架構3)建資產(chǎn):建立貼近數(shù)據(jù)層、統(tǒng)一數(shù)倉層、標簽數(shù)據(jù)層、應用數(shù)據(jù)層4)用數(shù)據(jù):對數(shù)據(jù)進行輸出、應用5)數(shù)據(jù)運營:持續(xù)運營、持續(xù)迭代中臺建設需要有全員共識,由管理層從上往下推進,由技術和業(yè)務人員去執(zhí)行和落地是一個漫長的過程,在實施數(shù)據(jù)中臺時,最困難的地方就是需要有人推動。8、數(shù)據(jù)倉庫最重要的是什么?
個人認為是數(shù)據(jù)集成和數(shù)據(jù)質(zhì)量!企業(yè)的數(shù)據(jù)通常存儲在多個異構數(shù)據(jù)庫中,要進行分析,必須對數(shù)據(jù)進行一致性整合,整合后才能對數(shù)據(jù)進行分析挖掘出潛在的價值;數(shù)據(jù)質(zhì)量必須有保障,數(shù)據(jù)質(zhì)量不過關,別人怎么會使用你的數(shù)據(jù)?9、概念模型、邏輯模型、物理模型分別介紹一下?
1)概念模型CDM:概念模型是最終用戶對數(shù)據(jù)存儲的看法,反映了最終用戶綜合性的信息需求,以數(shù)據(jù)類的方式描述企業(yè)級的數(shù)據(jù)需求概念模型的內(nèi)容包括重要的實體與實體之間的關系,在概念模型中不包含實體的屬性,也不包含定義實體的主鍵概念模型的目的是統(tǒng)一業(yè)務概念,作為業(yè)務人員和技術人員之間的溝通橋梁,確定不同實體之間的最高層次的關系2)邏輯模型LDM:邏輯模型反映的是系統(tǒng)分析人員對數(shù)據(jù)存儲的觀點,是對概念模型的進一步分解和細化,邏輯模型是根據(jù)業(yè)務規(guī)則確定的,關于業(yè)務對象,業(yè)務對象的數(shù)據(jù)項以及業(yè)務對象之間關系的基本藍圖邏輯模型的內(nèi)容包括所有的實體和關系,確定每個實體的屬性,定義每個實體的主鍵,指定實體的外鍵,需要進行范式化處理邏輯模型的目標是盡可能詳細的描述數(shù)據(jù),并不考慮物理上如何實現(xiàn)3)物理模型PDM:物理模型是在邏輯模型的基礎上,考慮各種具體的技術實現(xiàn)因素,進行數(shù)據(jù)體系結(jié)構設計,真正實現(xiàn)數(shù)據(jù)在數(shù)據(jù)倉庫中的存放物理模型的內(nèi)容包括確定所有的表和列,定義外鍵用確認表之間的關系,基于用戶的需求可能要進行反范式化等內(nèi)容10、SCD常用的處理方式有哪些?
slowly changing dimensions 緩慢變化維度1)直接覆蓋:不記錄歷史數(shù)據(jù),薪數(shù)據(jù)覆蓋舊數(shù)據(jù)2)新加一行數(shù)據(jù)(縱向擴展):使用代理主鍵+生效失效時間或者是代理主鍵+生效失效標識(保存多條記錄,直接新添一條記錄,同時保留原有記錄,并用單獨的專用字段保存)3)新加兩個字段(橫向擴展):一個是previous,一個是current,每次更新只更新這兩個值,但是這樣職能保留最近兩次的變化(添加歷史列,用不同的字段保存變化痕跡,因為只保存兩次變化記錄,使用與變化不超過兩次的維度)11、怎么理解元數(shù)據(jù)?
描述 '數(shù)據(jù)'背后的業(yè)務含義。
主題定義:每段 ETL、表背后的歸屬業(yè)務主題。
業(yè)務描述:每段代碼實現(xiàn)的具體業(yè)務邏輯。
標準指標:類似于 BI 中的語義層、數(shù)倉中的一致性事實;將分析中的指標進行規(guī)范化。
標準維度:同標準指標,對分析的各維度定義實現(xiàn)規(guī)范化、標準化。
不斷的進行維護且與業(yè)務方進行溝通確認。
數(shù)據(jù)源元數(shù)據(jù):例如:數(shù)據(jù)源的 IP、端口、數(shù)據(jù)庫類型;數(shù)據(jù)獲取的方式;數(shù)據(jù)存儲的結(jié)構;原數(shù)據(jù)各列的定義及 key 指對應的值。根據(jù) ETL 目的的不同,可以分為兩類:數(shù)據(jù)清洗元數(shù)據(jù);數(shù)據(jù)處理元數(shù)據(jù)。
數(shù)據(jù)清洗,主要目的是為了解決掉臟數(shù)據(jù)及規(guī)范數(shù)據(jù)格式;因此此處元數(shù)據(jù)主要為:各表各列的'正確'數(shù)據(jù)規(guī)則;默認數(shù)據(jù)類型的'正確'規(guī)則。
數(shù)據(jù)處理,例如常見的表輸入表輸出;非結(jié)構化數(shù)據(jù)結(jié)構化;特殊字段的拆分等。源數(shù)據(jù)到數(shù)倉、數(shù)據(jù)集市層的各類規(guī)則。比如內(nèi)容、清理、數(shù)據(jù)刷新規(guī)則。
數(shù)據(jù)倉庫元數(shù)據(jù):數(shù)據(jù)倉庫結(jié)構的描述,包括倉庫模式、視圖、維、層次結(jié)構及數(shù)據(jù)集市的位置和內(nèi)容;業(yè)務系統(tǒng)、數(shù)據(jù)倉庫和數(shù)據(jù)集市的體系結(jié)構和模式等。匯總用的算法、包括各類度量和維度定義算法。數(shù)據(jù)粒度、主題領域、聚集、匯總、預定義的查詢與報告。管理領域相關,包括管理流程、人員組織、角色職責等。12、數(shù)倉如何確定主題域?
主題是在較高層次上將數(shù)據(jù)進行綜合、歸類和分析利用的一個抽象概念,每一個主題基本對應一個宏觀的分析領域,在邏輯意義上,他是對企業(yè)中某一宏觀分析領域所涉及的分析對象。面向主題的數(shù)據(jù)組織方式,就是在較高層次上對分析對象的數(shù)據(jù)的一個完整并且一致的描述,能刻畫各個分析對象所涉及的企業(yè)各項數(shù)據(jù),以及數(shù)據(jù)之間的聯(lián)系。主題域通常是聯(lián)系較為機密的數(shù)據(jù)主題的集合,可以根據(jù)業(yè)務的關注度,將這些數(shù)據(jù)主題劃分到不同的主題域(也就是說對某個主題進行分析后確定的主題的邊界)。1、按照業(yè)務或者業(yè)務過程劃分:比如一個靠銷售廣告位置的門戶網(wǎng)站主題域可能會有廣告域,客戶域等,而廣告域可能就會有廣告的庫存,銷售分析、內(nèi)部投放分析等主題;2、根據(jù)需求方劃分:比如需求方為財務部,就可以設定對應的財務主題域,而財務主題域里面可能就會有員工工資分析,投資回報比分析等主題;3、按照功能或者應用劃分::比如微信中的朋友圈數(shù)據(jù)域、群聊數(shù)據(jù)域等,而朋友圈數(shù)據(jù)域可能就會有用戶動態(tài)信息主題、廣告主題等;4、按照部門劃分:比如可能會有運營域、技術域等,運營域中可能會有工資支出分析、活動宣傳效果分析等主題;總而言之,切入的出發(fā)點邏輯不一樣,就可以存在不同的劃分邏輯。在建設過程中可采用迭代方式,不糾結(jié)于一次完成所有主題的抽象,可先從明確定義的主題開始,后續(xù)逐步歸納總結(jié)成自身行業(yè)的標準模型。13、如何控制數(shù)據(jù)質(zhì)量?
1)校驗機制,每天對比數(shù)據(jù)量,比如count()早發(fā)現(xiàn),早修復2)數(shù)據(jù)內(nèi)容的比對,抽樣對比14、模型設計的思路?業(yè)務驅(qū)動?數(shù)據(jù)驅(qū)動?
構建數(shù)據(jù)倉庫有兩種方式:自上而下、自下而上Bill Inmon推崇自上而下的方式(這里的上指的是數(shù)據(jù)源出發(fā)),一個企業(yè)建立唯一的數(shù)據(jù)中心,數(shù)據(jù)是經(jīng)過整合、清洗、去掉臟數(shù)據(jù)、標準的、能夠提供統(tǒng)一的視圖。要從整個企業(yè)的環(huán)境入手,建立數(shù)據(jù)倉庫,要做很全面的設計。偏數(shù)據(jù)驅(qū)動Ralph Kimball推崇自下而上的方式(這里的下指的是從業(yè)務需求出發(fā)),認為數(shù)據(jù)倉庫應該按照實際的應用需求,架子啊需要的數(shù)據(jù),不需要的數(shù)據(jù)不要加載到數(shù)據(jù)倉庫中。這種方式建設周期短,用戶能很快看到結(jié)果。偏業(yè)務驅(qū)動15、為什么需要數(shù)據(jù)倉庫建模?
數(shù)倉建模需要按照一定的數(shù)據(jù)模型,對整個企業(yè)的數(shù)據(jù)進行采集,整理,提供跨部門、完全一致的報表數(shù)據(jù)。合適的數(shù)據(jù)模型,對于大數(shù)據(jù)處理來講,可以獲得得更好的性能、成本、效率和質(zhì)量。良好的模型可以幫助我們快速查詢數(shù)據(jù),減少不必要的數(shù)據(jù)冗余,提高用戶的使用效率。數(shù)據(jù)建模進行全方面的業(yè)務梳理,改進業(yè)務流程,消滅信息孤島,更好的推進數(shù)倉系統(tǒng)的建設。16、數(shù)據(jù)倉庫建模方法有哪些?
維度建模按數(shù)據(jù)組織類型劃分可分為星型模型、雪花模型、星座模型。選擇業(yè)務處理過程 > 定義粒度 > 選擇維度 > 確定事實星型模型主要是維表和事實表,以事實表為中心,所有維度直接關聯(lián)在事實表上,呈星型分布。雪花模型,在星型模型的基礎上,維度表上又關聯(lián)了其他維度表。這種模型維護成本高,性能方面也較差,所以一般不建議使用。尤其是基于hadoop體系構建數(shù)倉,減少join就是減少shuffle,性能差距會很大。星型模型可以理解為,一個事實表關聯(lián)多個維度表,雪花模型可以理解為一個事實表關聯(lián)多個維度表,維度表再關聯(lián)維度表。星座模型,是對星型模型的擴展延伸,多張事實表共享維度表。星座模型是很多數(shù)據(jù)倉庫的常態(tài),因為很多數(shù)據(jù)倉庫都是多個事實表的。所以星座模型只反映是否有多個事實表,他們之間是否共享一些維度表。即實體關系(ER)模型,數(shù)據(jù)倉庫之父Immon提出的,從全企業(yè)的高度設計一個3NF模型,用實體加關系描述的數(shù)據(jù)模型描述企業(yè)業(yè)務架構,在范式理論上符合3NF。此建模方法,對建模人員的能力要求非常高。特點:設計思路自上而下,適合上游基礎數(shù)據(jù)存儲,同一份數(shù)據(jù)只存儲一份,沒有數(shù)據(jù)冗余,方便解耦,易維護,缺點是開發(fā)周期一般比較長,維護成本高。DataVault由Hub(關鍵核心業(yè)務實體)、Link(關系)、Satellite(實體屬性) 三部分組成 ,是Dan Linstedt發(fā)起創(chuàng)建的一種模型方法論,它是在ER關系模型上的衍生,同時設計的出發(fā)點也是為了實現(xiàn)數(shù)據(jù)的整合,并非為數(shù)據(jù)決策分析直接使用。高度可擴展的模型,所有的擴展只是添加而不是修改,因此它將模型規(guī)范到6NF,基本變成了K-V結(jié)構模型。企業(yè)很少使用。17、數(shù)倉架構為什么要分層?
分層可以清晰數(shù)據(jù)結(jié)構,使用時更好的定位和理解
方便追蹤數(shù)據(jù)的血緣關系
規(guī)范數(shù)據(jù)分層,可以開發(fā)一些通用的中間層數(shù)據(jù),能夠減少極大的重復計算
把復雜的問題簡單化
屏蔽原始數(shù)據(jù)的異常,下游任務沒有感知異常