您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“數(shù)據(jù)倉庫架構及組件選型的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“數(shù)據(jù)倉庫架構及組件選型的方法是什么”吧!
關于數(shù)據(jù)倉庫,有一種簡單粗暴的說法,就是“任何數(shù)據(jù)倉庫都是通過數(shù)據(jù)集成工具連接一端的原始數(shù)據(jù)和另一端的分析界面的數(shù)據(jù)庫”。
數(shù)據(jù)倉庫用來管理企業(yè)龐大的數(shù)據(jù)集,提供轉(zhuǎn)換數(shù)據(jù)、移動數(shù)據(jù)并將其呈現(xiàn)給終端用戶的存儲機制。許多架構方法以這樣或那樣的方式擴展數(shù)據(jù)倉庫的能力,我們講集中討論最本質(zhì)的問題,在不考慮過多技術細節(jié)的情況下,整個層次架構可以被劃分為4層:
原始數(shù)據(jù)層(數(shù)據(jù)源)
數(shù)據(jù)倉庫架構形態(tài)
數(shù)據(jù)的采集、收集、清洗和轉(zhuǎn)換
應用分析層
大多數(shù)情況下,數(shù)據(jù)倉庫是一個關系型數(shù)據(jù)庫,包含了允許多維數(shù)據(jù)的模塊,或者分為多個易于訪問的多主題信息域,最簡單的數(shù)據(jù)倉庫只有一層架構。
單層架構就以為著數(shù)據(jù)倉庫與分析接口直接連接(直連),終端用戶可以直接查詢。但簡單有其弊端和適用性:
傳統(tǒng)上數(shù)據(jù)倉庫的存儲從 100GB 起,直連可能會導致數(shù)據(jù)查詢處理速度慢,因為要直接從數(shù)據(jù)倉庫查詢準確的數(shù)據(jù),或者是準確的輸入,過程中要過濾掉很多非必要數(shù)據(jù),這對數(shù)據(jù)庫以及前端BI工具的性能要求相當高,基本性能不會太高。
另外,在處理復雜維度分析時性能也受限,由于其緩慢性和不可預測性,很少應用在大型數(shù)據(jù)平臺。要執(zhí)行高級數(shù)據(jù)查詢,數(shù)據(jù)倉庫應該在低級實例下被擴展從而簡化數(shù)據(jù)查詢。
兩層架構就是在前端應用層和 EDW 層增加了數(shù)據(jù)集市層。數(shù)據(jù)集市是包含特定主題域信息的低級別存儲庫。簡而言之,它是一個在特定主題(例如銷售、運營、市場等)下延伸了 EDW 的較小數(shù)據(jù)庫。
這種方式解決了部門級數(shù)據(jù)查詢和分析的問題,每個部門都更容易訪問到所需數(shù)據(jù),因為每個集市僅包含給定域信息,另外,數(shù)據(jù)集市限制了終端用戶對數(shù)據(jù)的訪問范圍,設置了一道數(shù)據(jù)權限。但是創(chuàng)建數(shù)據(jù)集市層需要額外的硬件資源,并集成它與數(shù)據(jù)平臺其他的數(shù)據(jù)庫。
在數(shù)據(jù)集市層之上,我們通常會使用聯(lián)機分析(OLAP)處理多維數(shù)據(jù)集(cube)。OLAP 數(shù)據(jù)集是一類從多維度描述數(shù)據(jù)的特定數(shù)據(jù)庫。關系型數(shù)據(jù)庫只能表示二維數(shù)據(jù),而 OLAP 允許在多維度下編譯數(shù)據(jù)并且在維度之間移動。
OLAP專用于維度建模數(shù)據(jù)的分析,然后通過BI將OLAP的結果以圖表的方式展現(xiàn)出來。
OLAP 的業(yè)務價值在于允許對數(shù)據(jù)進行切片、切片以多維度分析,以提供對所有企業(yè)數(shù)據(jù)或特定數(shù)據(jù)集市的訪問,現(xiàn)在基本已成為主流的架構應用。
以下這張架構圖使用最廣泛的體系結構,它由頂層、中層和底層組成。
底層: 數(shù)據(jù)倉庫服務器的數(shù)據(jù)庫作為底層,通常是一個關系數(shù)據(jù)庫系統(tǒng),使用后端工具將數(shù)據(jù)清理、轉(zhuǎn)換并加載到該層。
中間層: 數(shù)據(jù)倉庫中的中間層是使用ROLAP或MOLAP模型實現(xiàn)的OLAP服務器。對于用戶,此應用程序?qū)语@示數(shù)據(jù)庫的抽象視圖,這一層還充當最終用戶和數(shù)據(jù)庫之間的中介。
頂層: 頂層是前端應用層,連接數(shù)據(jù)倉庫并從數(shù)據(jù)倉庫獲取數(shù)據(jù)或者API,通常的應用包括數(shù)據(jù)查詢、報表制作、BI數(shù)據(jù)分析、數(shù)據(jù)挖掘還有一些其他的應用開發(fā)。
從功能應用和技術架構來展開,以下是一張中大型企業(yè)的很詳細的數(shù)據(jù)倉庫架構圖了。
數(shù)據(jù)倉庫的4層核心組件: 底層源數(shù)據(jù)庫(數(shù)據(jù)存儲方案)、ETL、前端應用、還有OLAP服務。
底層的數(shù)據(jù)倉庫服務器通常是一個關系數(shù)據(jù)庫系統(tǒng)(各種表關聯(lián)的sql統(tǒng)計會更方便一些,非關系型數(shù)據(jù)庫目前在這方面還是有所區(qū)別)。常用的方案有Oracle、db2、sqlserve 還有essbase、greenplum、teredata等數(shù)據(jù)倉庫專業(yè)解決方案。
1、采用傳統(tǒng)關系型數(shù)據(jù)庫,或經(jīng)過功能擴展的MPP數(shù)據(jù)庫
① 傳統(tǒng)的關系型數(shù)據(jù)庫有:oracle、mysql、DB2
② 大規(guī)模并行處理數(shù)據(jù)庫:Vertica、Teradata(商業(yè))、Greenplum (開源)
Teradata老江湖了,銀行業(yè)使用較多,但成本也是真的貴,目前我們做項目較多的是用Greenplum,算是業(yè)界最快和最高性價比的高端數(shù)據(jù)倉庫解決方案,Greenplum是基于PostgreSQL的,于2015年開源。我知道的國內(nèi)四大行有3家在用,5大物流公司有4家在用,不少公司在從Teradata 遷移到 GP。
2、大數(shù)據(jù)平臺架構:Hadoop+Hive
這套方案有多通用不用多說了,通常是這樣的組合:TB級數(shù)據(jù)用PG,百TB級數(shù)據(jù)用GP,PB級i上數(shù)據(jù)用Hadoop。
下面整理了一張傳統(tǒng)數(shù)據(jù)倉庫架構、GP還有Hadoop大數(shù)據(jù)平臺的對比圖。
數(shù)據(jù)來源、轉(zhuǎn)換和遷移工具用于執(zhí)行將數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)倉庫中的統(tǒng)一格式所需的所有轉(zhuǎn)換、摘要和所有更改,它們也稱為提取、轉(zhuǎn)換和加載工具。 其功能包括:
1、抽取
全量抽?。哼m用于數(shù)據(jù)量小且不容易判斷其數(shù)據(jù)發(fā)生改變的諸如關系表,維度表,配置表等
增量抽取:適用于數(shù)據(jù)量大,為了節(jié)省抽取時間而采用的抽取策略
2、清洗
空值處理:將空值替換為特定值或直接過濾掉
驗證數(shù)據(jù)正確性:把不符合業(yè)務含義的數(shù)據(jù)做統(tǒng)一處理
規(guī)范數(shù)據(jù)格式:比如把所有日期都規(guī)范成YYYY-MM-DD的格式
數(shù)據(jù)轉(zhuǎn)碼:把一個源數(shù)據(jù)中用編碼表示的字段通過關聯(lián)編碼表轉(zhuǎn)換成代表其真實意義的值
數(shù)據(jù)標準統(tǒng)一:比如在源數(shù)據(jù)中表示男女的方式有很多種,在抽取的時候直接根據(jù)模型中定義的值做轉(zhuǎn)化。
3、轉(zhuǎn)化和加載
轉(zhuǎn)換:用ODS中的增量或者全量數(shù)據(jù)來刷新DW中的表
加載:每insert數(shù)據(jù)到一張表都可以稱為數(shù)據(jù)加載
關于ETL工具的選型,這里羅列了一張對比表,基本囊括常用的ETL工具。
數(shù)據(jù)倉庫平臺的搭建,最終是為了梳理出有用數(shù)據(jù)、提供有價值信息,幫助業(yè)務做出正確決策。
前端應用工具主要就是和數(shù)據(jù)倉庫不同環(huán)節(jié)的數(shù)據(jù)交互,這些應用一般可以分為4類:
數(shù)據(jù)查詢和報表工具
BI即席分析工具
數(shù)據(jù)挖掘工具
各種基于數(shù)據(jù)倉庫或數(shù)據(jù)集市的應用開發(fā)工具
其中數(shù)據(jù)分析工具主要針對OLAP服務器,報表工具、數(shù)據(jù)挖掘工具主要針對數(shù)據(jù)倉庫。
1、數(shù)據(jù)查詢和報表工具
通常用來生成一些固定類報表,自動化報表,支持打印和計算等大批量批處理作業(yè)。
流行的報表工具,在舊數(shù)據(jù)倉庫時代主要是IBM的BO、Oracle的BIEE、還有微軟和cognos,整體打包在數(shù)據(jù)倉庫解決方案里,報表作為一個組件存在。但是隨著傳統(tǒng)型數(shù)倉,架構重成本貴,很多公司在項目上會自己考慮設計架構,而不是直接強套昂貴的解決方案,包括很多開源組件/平臺的使用。
有關報表工具,現(xiàn)在項目上用的比較多的是帆軟FineReport,針對不同企業(yè)數(shù)倉架構以及報表需求的適用性較廣。比如對接各種數(shù)據(jù)庫直接生成報表;對采集整理后的數(shù)據(jù)進行多維報表展現(xiàn),支撐業(yè)務分析報表;對接集團性數(shù)據(jù)倉庫,構建數(shù)據(jù)中心平臺,形成決策分析平臺。
FineReport功能架構
2、BI即席分析工具
BI一般都集成了OLAP服務器和報表展示功能。分析型BI基于多維數(shù)據(jù)庫的概念,能多維視角分析數(shù)據(jù),通常是從數(shù)據(jù)倉庫中抽取詳細數(shù)據(jù)的一個子集并經(jīng)過必要的聚集存儲到OLAP存儲器中供前端BI分析工具讀取。
BI在前端通過拖拽數(shù)據(jù)字段,多維度實施展現(xiàn)數(shù)據(jù),最終生成各種分析報告。常用的BI工具有PowerBI、Tableau、FineBI,還有開源的superset。個人使用多用前兩者,企業(yè)項目上選型多用FineBI,因為要考慮性能、服務方案等。剩余就是自研或者開源,superset算是比較公認的開源BI。
FineBI架構
BI工具做什么的不多說了,在項目選型的時候主要考慮上手難度(考慮沒技術基礎的業(yè)務用),數(shù)據(jù)處理性能,其他就是技術選型的事,還有成本。
3、數(shù)據(jù)挖掘工具
OLAP是將數(shù)據(jù)多維視角呈現(xiàn)分析,數(shù)據(jù)挖掘則是應用的算法來揭示數(shù)據(jù)的規(guī)律性,比如相關性、模式和趨勢等。數(shù)據(jù)挖掘工具就是做這個的,它能讓一些算法和過程自動化。
舉個例子,比如銀行里數(shù)據(jù)倉庫以面向“客戶”為主題進行數(shù)據(jù)的存儲,OLAP可以實現(xiàn)數(shù)據(jù)按照客戶的基本信息、儲蓄賬戶信息、歷史余額信息、銀行交易日志等,以報表或者可視化的方式呈現(xiàn)分析,多方面掌握客戶動態(tài),發(fā)現(xiàn)數(shù)據(jù)的問題,更好的針對不同類型用戶進行特定性營銷。而數(shù)據(jù)挖掘則是通過歷史數(shù)據(jù)建立模型,在擬合歷史的基礎上,分析未來趨勢,判斷哪些因素的改變將很可能意味著客戶的最終流失,進而避免其發(fā)生。
常用的數(shù)據(jù)挖掘工具,R、Python還有SPSS,基本都是開源個人可用的。和BI和報表不同,市面上少有為客戶提供定制化數(shù)據(jù)分析和挖掘的商業(yè)工具或者項目服務,因為行業(yè)性太強,需要非常熟悉業(yè)務、數(shù)據(jù)、平臺,所以我見過基本都是自己養(yǎng)數(shù)據(jù)分析團隊或者挖這類的人才。
4、應用開發(fā)
以上報表型、分析型的數(shù)據(jù)產(chǎn)品,但也會有延申出來的各種特定業(yè)務的數(shù)據(jù)決策系統(tǒng),比如銀行業(yè)基于管理層監(jiān)控的的行長駕駛艙、零售業(yè)基于門店數(shù)據(jù)經(jīng)營的決策系統(tǒng),以及電商平臺的營銷參謀(輸入營銷目標及參數(shù),比如要開展雙十一母嬰市場的促銷活動,系統(tǒng)可以基于以往海量數(shù)據(jù)計算出應該選擇什么品類的商品,在什么用戶群中,以什么形式開展活動效果會更佳),都是基于這樣的邏輯——基于業(yè)務深度應用。此時數(shù)倉就是提供一個服務平臺的角色,比如現(xiàn)在很火的數(shù)據(jù)中臺也大體是這個邏輯,將數(shù)據(jù)服務化,具體不懂就不班門弄斧了。
這樣的服務,當然需要自己開發(fā)。
在這三層之間其實還有中間層OLAP服務器,典型實現(xiàn)為ROLAP模型或MOLAP模型?,F(xiàn)在很多成熟的BI工具都是集成了OLAP服務器的,所以通常我們只需要選擇ETL工具以及存儲方案和可視化BI方案即可,所以OLAP本文也就不多講了。
到此,相信大家對“數(shù)據(jù)倉庫架構及組件選型的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。