設(shè)計大數(shù)據(jù)系統(tǒng)架構(gòu)的分析
大數(shù)據(jù)的系統(tǒng)架構(gòu)設(shè)計主要包含3個方面ETL設(shè)計、ODS層、OLAP(聯(lián)機分析處理),重點對ETL和OLAP進行分析:
一、ETL設(shè)計
ETL是將各個不同的業(yè)務(wù)系統(tǒng)的數(shù)據(jù)經(jīng)過抽取(Extrace)、清洗轉(zhuǎn)換(Transform)之后加載(Load)到數(shù)據(jù)倉庫的過程,目的是將分散、零亂、標準不統(tǒng)一的數(shù)據(jù)整合到一起、為企業(yè)決策提供分析依據(jù)。例如集團公司下有多個業(yè)務(wù)線B2C官網(wǎng)、天貓京東等第三方平臺下單用戶統(tǒng)一到一個系統(tǒng)中。
ETL實現(xiàn)方式有三種:
1、借助ETL工具實現(xiàn),Informatica、Kettle、Oracle的OWB、SQL server 2000的DTS。借助工具可以快速建立ETL工程,不需要復雜的工作,但是在提高速度和降低靈活性的同時也缺少了靈活性。
2、通過SQL方式實現(xiàn),優(yōu)點是靈活但是對技術(shù)要求較高,工作量大。
3、ETL工具和SQL相結(jié)合,綜合兩種方式可以極大的提高ETL的開發(fā)速度和效率。
數(shù)據(jù)抽取
1、與存放DW的數(shù)據(jù)庫相同數(shù)據(jù)源的處理情況下,部分ETL工具有提供數(shù)據(jù)庫連接功能,DW數(shù)據(jù)庫服務(wù)器和原業(yè)務(wù)系統(tǒng)之間建立鏈接關(guān)系通過SQL查詢語句直接訪問。
2、與DW數(shù)據(jù)庫系統(tǒng)不同數(shù)據(jù)源可以通過ODBC(開發(fā)數(shù)據(jù)庫鏈接,解決異構(gòu)數(shù)據(jù)庫共享而產(chǎn)生)的方式建立數(shù)據(jù)庫鏈接。也可以通過工具將元數(shù)據(jù)導出為.txt或.xls文件,也可以通過程序接口完成。如果是通過把元數(shù)據(jù)做成文件的形式,需要捋清業(yè)務(wù)類型和加載周期,不同業(yè)務(wù)類型對應(yīng)不同業(yè)務(wù)線。
3、對于數(shù)據(jù)量大的系統(tǒng),必須考慮增量抽取,同時業(yè)務(wù)系統(tǒng)數(shù)據(jù)量每天每小時每分鐘都在不停的增加。業(yè)務(wù)系統(tǒng)記錄下業(yè)務(wù)發(fā)生的時間作為時間戳,這個時間戳可以作為增量標志,每次抽取之前判斷ODS中記錄的時間,根據(jù)這個時間戳來抽取數(shù)據(jù)。
數(shù)據(jù)清洗
數(shù)據(jù)清洗就是過濾掉不符合要求的數(shù)據(jù),不符合要求的數(shù)據(jù)包括:不完整數(shù)據(jù)、錯誤數(shù)據(jù)、重復數(shù)據(jù)。對于各種不符合要求的數(shù)據(jù)有不同的處理方式。
1、不完整數(shù)據(jù)如果是重要關(guān)鍵的數(shù)據(jù),可以補齊的記錄,由業(yè)務(wù)部門補齊之后在寫入數(shù)據(jù)倉庫。如果是少量非關(guān)鍵數(shù)據(jù)缺失可以忽略。有些非關(guān)鍵數(shù)據(jù)可以通過后期替換或賦值(回歸模型、決策樹模型、貝葉斯定理、隨機森林等預測缺失值的最近替代量)來彌補。
2、重復數(shù)據(jù)的清洗是一個反復的過程,在整理出一批重復數(shù)據(jù)之后,需要業(yè)務(wù)部門確定排除,同時也可以作為將來驗證數(shù)據(jù)的依據(jù)。所有工作的前提是保證不能把有效數(shù)據(jù)過濾。
3、錯誤數(shù)據(jù)分為兩種,一種是字符錯誤錯誤,例如字符串數(shù)據(jù)后面有一個回車操作,日期格式不正確等。另外一種是業(yè)務(wù)數(shù)據(jù)錯誤,例如兩個不同平臺的訂單混亂在一起。對于第一種錯誤數(shù)據(jù)通過SQL語句修正,第二種數(shù)據(jù)就需要由業(yè)務(wù)人員進行判斷。
數(shù)據(jù)轉(zhuǎn)換
需要從多個不同的業(yè)務(wù)系統(tǒng)抽取,各個不同的業(yè)務(wù)數(shù)據(jù)涉及到不同數(shù)據(jù)粒度、商務(wù)規(guī)則。
1、不一致數(shù)據(jù)轉(zhuǎn)換是一個整合過程,例如同一張訂單在CRM系統(tǒng)和結(jié)算系統(tǒng)中不同的編碼,在抽取之后需要轉(zhuǎn)換成統(tǒng)一的編碼。
2、數(shù)據(jù)粒度的轉(zhuǎn)換,不同系統(tǒng)之間的數(shù)據(jù)維度明細不一致。數(shù)據(jù)粒度影響著數(shù)據(jù)倉庫中的數(shù)據(jù)量大小,也影響著可以查詢到的數(shù)據(jù)類型。在數(shù)據(jù)量大小和查詢詳細程度之間要做出權(quán)衡。
3、商務(wù)規(guī)則不一致,不同的企業(yè)、不同的系統(tǒng)之間會有不同的數(shù)據(jù)指標。
二、ODS層設(shè)計
ODS,可操作數(shù)據(jù)庫,是存儲整個數(shù)據(jù)倉庫數(shù)據(jù)的地方,元數(shù)據(jù)經(jīng)過ETL抽取之后再到OLAP分析庫,ODS設(shè)計與DW設(shè)計著眼點不同。
步驟一:數(shù)據(jù)調(diào)研。
步驟二:確定數(shù)據(jù)范圍,在數(shù)據(jù)調(diào)研的基礎(chǔ)對ODS進行主題劃分,需要綜合各種業(yè)務(wù)系統(tǒng)的信息模型,進行宏觀歸并。
步驟三:定義主題元素,定義數(shù)據(jù)維度(數(shù)據(jù)維度名稱、維度成員、維度層次、維度成員之間隸屬關(guān)系)、度量、數(shù)據(jù)粒度、存儲期限。
三、OLAP設(shè)計
在介紹OLAP之前,我們需要知道OLAP(聯(lián)機分析處理)與OLTP(聯(lián)機事物處理)的區(qū)別,OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要是基本的、日常的業(yè)務(wù)處理。OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復雜的分析操作,側(cè)重點是決策支持,提供直觀易懂的查詢結(jié)果。
OLAP通過多維度來分析數(shù)據(jù),維度分析方式有鉆取、切片和切塊、旋轉(zhuǎn)。
鉆?。菏歉淖兙S的層次,變換分析的粒度。包括向下鉆取和向上鉆取,向上鉆取是在某一維上將低層次的細節(jié)概況到高層次的匯總數(shù)據(jù),或者減少維數(shù);向下則是從匯總數(shù)據(jù)深入到細節(jié)數(shù)據(jù)進行觀察或增加新維。
切片和切塊:在一部分維上選定值后,關(guān)心度量數(shù)據(jù)在剩余維上的分布。如果剩余的維只有兩個,則是切片;多個則是切塊。
旋轉(zhuǎn):在變換維的方向之后,在表格中重新安排維的放置,如進行行列互換。
OLAP的關(guān)鍵幾個概念。
主題:全部數(shù)據(jù)對象的一個子集,它代表了某一條業(yè)務(wù)分支或者業(yè)務(wù)過程,一般而言創(chuàng)建主題是為了按照業(yè)務(wù)對象或者業(yè)務(wù)過程進行管理。
指標:指標是說明總體數(shù)量特征的概念,如GMV、在網(wǎng)用戶數(shù)等。
維度:觀察數(shù)據(jù)的特定角度,考慮為題時的一類屬性,屬性集合構(gòu)成一個維度(如地域維度、時間維度、部門維度)。
維度層次:按業(yè)務(wù)的組織結(jié)構(gòu)表達數(shù)據(jù)的等級關(guān)系。數(shù)據(jù)的某個特定角度下還可以存在細節(jié)程度不同的各個描述方面,如時間維度下的:日期、月份、季度等。
定時查詢:在定制好OLAP查詢后、根據(jù)用戶設(shè)定的查詢條件和查詢時間定時的執(zhí)行查詢,并可將查詢結(jié)果保存以便用戶查看。
即時查詢:定制好OLAP查詢后,用戶觸發(fā)該查詢方式,同時可以任意更改查詢的條件值,但查詢的結(jié)果是不能更改的。
數(shù)據(jù)行過濾:通過設(shè)定某列數(shù)據(jù)的顯示范圍,過濾掉不滿足的數(shù)據(jù)顯示,達到對數(shù)據(jù)過濾的目的。
數(shù)據(jù)警告:通過對數(shù)據(jù)閾值的設(shè)定,對滿足閾值設(shè)定的數(shù)據(jù)進行特殊標識,達到對異常數(shù)據(jù)報警的效果。
大數(shù)據(jù)架構(gòu)設(shè)計的關(guān)鍵首要是要滿足業(yè)務(wù)需求,提煉業(yè)務(wù)需求的非功能特性,提出針對性的架構(gòu)設(shè)計方案。作業(yè)自主研發(fā)能力有限的企業(yè),在大數(shù)據(jù)系統(tǒng)建設(shè)中首要是合理的選擇技術(shù)組件,如果科技力量更強可以考慮參與開源社區(qū)對組件的優(yōu)化完善等工作中。大數(shù)據(jù)系統(tǒng)架構(gòu)如何設(shè)計?中琛魔方大數(shù)據(jù)表示大數(shù)據(jù)系統(tǒng)在深度自學習外,未來將通過逐步開放合作理念,對接外部第三方平臺,盡可能覆蓋用戶線上線下全生命周期行為軌跡,掌握用戶各行為觸點數(shù)據(jù),結(jié)合機器自學習功能,從根本上提升產(chǎn)品銷售能力和客戶全方位體驗感知。