摘 要:在數(shù)據(jù)化戰(zhàn)略的支持下,淘寶網(wǎng)在龐大的數(shù)據(jù)平臺上構(gòu)建起了一個具有針對性的數(shù)據(jù)倉庫,為能夠有條不紊的運營提供了條件,亦成了淘寶網(wǎng)在市場競爭中的重要工具之一。為了使數(shù)據(jù)化策略能夠為更多企業(yè)的發(fā)展提供幫助,本文以淘寶網(wǎng)為例,對數(shù)據(jù)平臺以及數(shù)據(jù)倉庫的開發(fā)和設(shè)計進行了詳細討論,希望能夠為現(xiàn)代企業(yè)運營和管理中數(shù)據(jù)化戰(zhàn)略的實施提供有益參考。
關(guān)鍵詞:淘寶網(wǎng);數(shù)據(jù)倉庫;數(shù)據(jù)平臺
Discussing on Data Platform and Data Warehouse Construction
___A Case Study in Taobao
Abstract:With the support of digital strategy,the taobao in the huge data platform to build a data warehouse with pertinence,offers can in an orderly way of operating conditions,also become taobao one of the important tools in the market competition.In order to make the digital strategy can provide help for the development of more business,Based on taobao,for example,the data platform and the development and design of data warehouse are discussed in detail,hope to be able to for the modern enterprise operation and management to provide the beneficial reference to the implementation of the strategy of digital.
Key words:Taobao;Data warehouse;Data platform
中圖分類號:TP311.13
隨著數(shù)字時代的到來,許多現(xiàn)代化企業(yè)已經(jīng)將其運營和發(fā)展的眼光投向了網(wǎng)絡(luò)。淘寶網(wǎng)作為目前最成功的網(wǎng)購平臺和電子商務(wù)時代的最杰出代表,其數(shù)據(jù)化戰(zhàn)略的成功實施為自己創(chuàng)造出龐大的社會財富,同時亦為其它企業(yè)的發(fā)展指明了方向。
1 相關(guān)技術(shù)介紹
1.1 數(shù)據(jù)倉庫。所謂數(shù)據(jù)倉庫(DW)其實是一個專門為解決數(shù)據(jù)供給問題而存在的數(shù)據(jù)集成環(huán)境,在企業(yè)的運營中數(shù)據(jù)倉庫直接服務(wù)于決策支持系統(tǒng),為其提供聯(lián)機分析應(yīng)用數(shù)據(jù)源。在實際的應(yīng)用中,數(shù)據(jù)倉庫可以體現(xiàn)出以下特征[1]:(1)具有針對性。數(shù)據(jù)倉庫不同于操作型數(shù)據(jù)庫,它在進行數(shù)據(jù)的存放時需要將數(shù)據(jù)根據(jù)某種主題域組織起來,即將企業(yè)的管理和業(yè)務(wù)上的信息在集中、歸納、分類和分析的基礎(chǔ)上進行存儲和調(diào)用;(2)具有集成性。數(shù)據(jù)倉庫中數(shù)據(jù)的來源非常廣泛,它會對企業(yè)運營中的所有分散數(shù)據(jù)信息進行抽取和清理加工,在消除這些數(shù)據(jù)中的不規(guī)則部分后構(gòu)建起一個透明的、具有統(tǒng)一特質(zhì)的企業(yè)信息網(wǎng);(3)具有穩(wěn)定性。數(shù)據(jù)倉庫的最主要功能是通過過濾和篩選為企業(yè)的決策提供有效的數(shù)據(jù),這類數(shù)據(jù)在進入數(shù)據(jù)倉庫后往往會被永久的保存下來。這就決定了數(shù)據(jù)倉庫中的數(shù)據(jù)始終在不斷的擴充,而很少進行刪除或修改。
1.2 云梯系統(tǒng)平臺?!霸铺莘植际轿募到y(tǒng)”(HDFS)是淘寶網(wǎng)為其運營專門構(gòu)建起的系統(tǒng)平臺,它是基于Hadoop平臺的個性化延伸[2],其理念與MapReduce和Google的文件系統(tǒng)較為相似但又有著明顯的不同:首先,云梯系統(tǒng)的設(shè)計是基于通用硬件的,因此其運行環(huán)境要求非常簡單。再者,云梯系統(tǒng)的分布式算法將訪問和存儲分攤到了大量的廉價服務(wù)器之中,這不但提高了其運行效率同時也通過不斷的復制備份增強了其安全性。加之云梯兼具了高度的容錯功能和數(shù)據(jù)存儲功能,所以目前已經(jīng)為很多網(wǎng)絡(luò)服務(wù)平臺和大型存儲系統(tǒng)所應(yīng)用。
1.3 HIVE查詢語言。HIVE是基于淘寶云梯(HDFS)的數(shù)據(jù)倉庫工具,它不但能夠?qū)ο到y(tǒng)數(shù)據(jù)進行有效的反應(yīng)和查詢,同時還能夠根據(jù)數(shù)據(jù)的文本文件將其制成二維表,而在應(yīng)對SQL語言時也可將其轉(zhuǎn)換為Hadoop可以識別的程序,同時HIVE語言還具有操作簡單、成本低廉等諸多優(yōu)勢,因而非常符合大型數(shù)據(jù)倉庫的使用需求[3]。淘寶網(wǎng)HIVE的應(yīng)用有效的提升了用戶的可操作性,同時也保證了數(shù)據(jù)分析的間接性和準確性。
1.4 ETL介紹。所謂ETL就是Extract-Transform-Load的縮寫,即對數(shù)據(jù)的抽取、轉(zhuǎn)換和裝載等問題的描述,它通過數(shù)據(jù)過濾的條件制定直接關(guān)系到數(shù)據(jù)在使用中的實際價值,是源數(shù)據(jù)進入數(shù)據(jù)倉庫的重要轉(zhuǎn)變過程。因而ETL是整個數(shù)據(jù)倉庫的核心部分。
2 淘寶網(wǎng)的數(shù)據(jù)特征分析
淘寶網(wǎng)發(fā)展至今已經(jīng)不僅僅是一個互聯(lián)網(wǎng)公司,它同時也發(fā)展成了我國目前最大的網(wǎng)絡(luò)交易平臺。因此,淘寶網(wǎng)的信息數(shù)據(jù)不但具有交易業(yè)務(wù)數(shù)據(jù)的特征同時也兼?zhèn)淞嘶ヂ?lián)網(wǎng)數(shù)據(jù)的相關(guān)特點,我們在討論其數(shù)據(jù)特征時必須將二者結(jié)合到一起:(1)龐大的數(shù)據(jù)量。從操作上看,淘寶網(wǎng)用戶在登錄淘寶網(wǎng)站后無論是否進行了交易,只要進行了某種操作如跳換界面、交易、咨詢等都會產(chǎn)生相應(yīng)的用戶點擊日志。從2012年的數(shù)據(jù)來看,淘寶網(wǎng)平均會出現(xiàn)33億/日的日志點擊量,其數(shù)值是驚人的。而今淘寶網(wǎng)的數(shù)據(jù)存儲總量為50PB,隨著電子商務(wù)的不斷發(fā)展淘寶網(wǎng)所要負擔的數(shù)據(jù)量必然繼續(xù)上升;(2)繁多的數(shù)據(jù)種類。同上所述,淘寶網(wǎng)既是一間互聯(lián)網(wǎng)公司又是一個大型的網(wǎng)絡(luò)交易平臺,因而其需要應(yīng)對結(jié)構(gòu)化和非結(jié)構(gòu)化兩種數(shù)據(jù)。所謂結(jié)構(gòu)化數(shù)據(jù)指的是用戶、商品以及交易的相關(guān)信息,而非結(jié)構(gòu)化數(shù)據(jù)所指的是用戶瀏覽網(wǎng)頁時操作所帶來的文本信息。兩種數(shù)據(jù)在處理中的解析程序和采集程序截然不同,需要區(qū)分對待;(3)數(shù)據(jù)價值密度低。數(shù)據(jù)的價值密度與數(shù)據(jù)的總量成反比,數(shù)據(jù)量越大數(shù)據(jù)的價值密度就越低。以用戶的日志數(shù)據(jù)為例,淘寶網(wǎng)每天需要承載33億的日志點擊,要對這一龐大數(shù)據(jù)進行區(qū)分以確定用戶的動作已經(jīng)成為了淘寶網(wǎng)在運作上一個較大的負擔。
3 基于淘寶網(wǎng)特征的數(shù)據(jù)倉庫設(shè)計
3.1 云梯計算存儲平臺。數(shù)據(jù)的可靠性直接決定了企業(yè)決策的準確性,因而為了提高數(shù)據(jù)的準確性便設(shè)置了3個文件副本,即每份數(shù)據(jù)都有三個作為備份的副本。但是,這樣就產(chǎn)生了一個問題:一份數(shù)據(jù)的存儲需要耗損三倍的空間。
基于此,淘寶云梯推出來一款全新的組件----HDFS Raid(云梯軟件容錯組建),利用軟件容錯功能,用戶通過對云梯目錄或目錄內(nèi)容進行容錯,就可以在確保數(shù)據(jù)可靠性的同時有效降低副本數(shù)。這種方案摒棄了簡單的復制備份手法,將多個數(shù)據(jù)的block(模塊)進行合并和分類,形成parity blocks(同等模塊),繼而增強數(shù)據(jù)的可靠性[4]。這樣一來就可以在有效減少了以往的副本數(shù)量、釋放存儲空間的同時達到預(yù)期的效果。
3.2 數(shù)據(jù)層次結(jié)構(gòu)劃分。數(shù)據(jù)層次的劃分實質(zhì)上就是對構(gòu)成數(shù)據(jù)倉庫的源數(shù)據(jù)進行分類處理,這一過程必須嚴格遵照ETL的規(guī)則進行----源數(shù)據(jù)只有經(jīng)過過濾和整理之后才能最終進入數(shù)據(jù)倉庫成為企業(yè)運作中的數(shù)據(jù)支持。我們在對數(shù)據(jù)進行分層定義時可以根據(jù)卸載方式將其分為全量數(shù)據(jù)和增量數(shù)據(jù),而根據(jù)數(shù)據(jù)的來源則可以將其分為內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)兩類[5]。這里我們主要分析的是根據(jù)數(shù)據(jù)來源進行的數(shù)據(jù)層次結(jié)構(gòu)劃分。內(nèi)部數(shù)據(jù)是淘寶網(wǎng)在多年的經(jīng)營和發(fā)展中透過自身的運營而不斷積累下的數(shù)據(jù),其中包括業(yè)務(wù)數(shù)據(jù)、員工信息、財務(wù)管理數(shù)據(jù)、財務(wù)信息、核算數(shù)據(jù)等等。需要注意的是,這些內(nèi)部數(shù)據(jù)在生成中不僅限于電子化數(shù)據(jù),還有相當一部分屬于非電子數(shù)據(jù),這就需要企業(yè)及時的進行數(shù)據(jù)填充,使其轉(zhuǎn)化為可以存儲于數(shù)據(jù)倉庫并通過計算機系統(tǒng)對企業(yè)營運進行支持的可用數(shù)據(jù)源。與內(nèi)部數(shù)據(jù)不同,外部數(shù)據(jù)的生成大多不與淘寶網(wǎng)自身的運營產(chǎn)生聯(lián)系,這些數(shù)據(jù)多來源于第三方,如向艾銳數(shù)據(jù)公司和新浪微博等第三方機構(gòu)通過購買手段取得的數(shù)據(jù)信息[6]。這些數(shù)據(jù)的獲取難度大且成本高,因而淘寶網(wǎng)在運營中僅會將非常重要的外部信息作為自身數(shù)據(jù)倉庫的補充。由此可見,內(nèi)部數(shù)據(jù)是淘寶網(wǎng)在營運中的主要數(shù)據(jù)源,而外部數(shù)據(jù)僅作為必要補充而存在。這就決定了數(shù)據(jù)倉庫設(shè)計中接口的定義要求,源數(shù)據(jù)必須按照接口定義獲取系統(tǒng)數(shù)據(jù)并輸出固定長度的文本文件。
3.3 ETL設(shè)計。ETL設(shè)計是整個數(shù)據(jù)倉庫設(shè)計的核心所在,直接關(guān)系到數(shù)據(jù)庫最終的應(yīng)用能力。針對ETL的設(shè)計主要分為數(shù)據(jù)抽取、數(shù)據(jù)清洗轉(zhuǎn)換以及質(zhì)量控制三個方面,接下來筆者將做詳細的闡述:
3.3.1 數(shù)據(jù)抽取。在數(shù)據(jù)抽取方面,根據(jù)上文所述以卸載方式進行劃分的數(shù)據(jù)層次結(jié)構(gòu)可將數(shù)據(jù)抽取分為增量抽取和全量抽取兩種方式,如圖1所示為數(shù)據(jù)抽取框架結(jié)構(gòu)圖[7]。
圖1 數(shù)據(jù)抽取框架
在增量同步的數(shù)據(jù)抽取模式中,TimeTunnel作為一個數(shù)據(jù)交換的平臺能夠同步實現(xiàn)網(wǎng)站服務(wù)器與日志數(shù)據(jù)的交換,并且兼?zhèn)鋽?shù)據(jù)發(fā)布和數(shù)據(jù)訂閱等服務(wù)。而Dbsync則可以將數(shù)據(jù)同步與網(wǎng)站的數(shù)據(jù)抽取整合到一起,通過對數(shù)據(jù)的分析繼而完成數(shù)據(jù)庫的操作,使之與云梯同步,完成數(shù)據(jù)抽取。在全量同步的數(shù)據(jù)抽取模式中,DataX在數(shù)據(jù)倉庫和文件之間搭建起了一個可以直接進行交換的橋梁。在進行數(shù)據(jù)的加載過程中利用內(nèi)存緩存數(shù)據(jù)完成了高效的數(shù)據(jù)交換。
3.3.2 數(shù)據(jù)清洗轉(zhuǎn)換。在數(shù)據(jù)進入數(shù)據(jù)倉庫之前對其進行清理的作用在于去除其中多余的、沒有必要的垃圾數(shù)據(jù)。而這一過程需要通過HIVE查詢語言編寫的SQL代碼完成,其步驟主要包括以下幾點:(1)根據(jù)需求進行模型設(shè)計,確定數(shù)據(jù)清洗轉(zhuǎn)換條件;(2)進行SDM(信息通道)設(shè)計;(3)確定轉(zhuǎn)換規(guī)則并編寫HIVE SQL代碼。
3.3.3 ETL數(shù)據(jù)質(zhì)量控制。數(shù)據(jù)質(zhì)量直接關(guān)系到數(shù)據(jù)倉庫的利用價值,也是ETL設(shè)計的重中之重,該部分ETL需要依靠其完整性對字段級、記錄級和表級等多個層次的數(shù)據(jù)進行質(zhì)量監(jiān)控。這一手段不僅可以確保了業(yè)務(wù)數(shù)據(jù)在數(shù)據(jù)倉庫加載過程中的準確性,同時也能完成對其質(zhì)量的評估:(1)在數(shù)據(jù)的抽取和傳送階段。由于源數(shù)據(jù)在進入數(shù)據(jù)倉庫時必須通過標準接口,這就保證了輸入數(shù)據(jù)與數(shù)據(jù)倉庫內(nèi)數(shù)據(jù)類型的一致;(2)在數(shù)據(jù)加載階段,在DATAX的支持下調(diào)度系統(tǒng)更能夠根據(jù)DATAX加載過程中產(chǎn)生的日志數(shù)據(jù)的特質(zhì)對數(shù)據(jù)的正確性進行判斷,繼而準確的完成數(shù)據(jù)文件到云梯的加載工作[8];(3)在數(shù)據(jù)轉(zhuǎn)換的階段。云梯平臺下的數(shù)據(jù)轉(zhuǎn)換是在其內(nèi)部完成的,因此在轉(zhuǎn)換過程中云梯會從數(shù)據(jù)角度、業(yè)務(wù)角度等多方面對數(shù)據(jù)進行反驗證,以確保其準確性。正是通過ETL多重繁瑣的校驗和監(jiān)測才確保了數(shù)據(jù)在進入數(shù)據(jù)倉庫時的高準確度和高質(zhì)量,繼而提高了數(shù)據(jù)倉庫的利用效果。
4 數(shù)據(jù)平臺及數(shù)據(jù)庫在淘寶網(wǎng)上的實際應(yīng)用
在完成數(shù)據(jù)平臺及數(shù)據(jù)庫的相關(guān)設(shè)計后我們便要將理論性設(shè)計轉(zhuǎn)化為實際應(yīng)用,并在根據(jù)需要進行系統(tǒng)各個部分的編碼工作。
4.1 ETL過程實現(xiàn)。對ETL的數(shù)據(jù)抽取實際上就是將淘寶業(yè)務(wù)系統(tǒng)的數(shù)據(jù)通過DATAX抽取工具應(yīng)用到云梯上去,這一工作我們要用到的數(shù)據(jù)庫為Mysql或Oracle。其中,DATAX是一種集成于ETL的較為常見的數(shù)據(jù)處理工具,如圖2為DATAX在應(yīng)用于淘寶網(wǎng)時對旺旺消息表數(shù)據(jù)進行抽取配置的界面截圖:
圖2 數(shù)據(jù)抽取配置功能
在應(yīng)用DATAX完成相關(guān)配置后便可生成xml文件,完成程序編寫工作。需要注意的是,淘寶網(wǎng)在運行過程中需要抽取的數(shù)據(jù)非常龐大,因而為了確保工作的準確性和高效性必須將任務(wù)配置到ETL調(diào)度系統(tǒng)來完成數(shù)據(jù)抽取,如圖3為ETL調(diào)度任務(wù)的配置。
圖3 ETL調(diào)度任務(wù)配置
4.2 數(shù)據(jù)模型實現(xiàn)。淘寶網(wǎng)模型層的構(gòu)建和設(shè)計選用了PowerDesignerl6.0工具,并將電子商務(wù)行業(yè)分成了6部分,繼而形成了40余個實體表,如圖4為PowerDesigrierl6工具的用戶應(yīng)用界面。
圖4 用戶表物理表
在模型確立之后便可生成HVIE SQL語句并在IDE里執(zhí)行建表語句,如表1為設(shè)計的相關(guān)維度信息。
表1 用戶主表維表清單
4.3 PORTAL展現(xiàn)實現(xiàn)。在進行PORTAL展現(xiàn)時淘寶網(wǎng)數(shù)據(jù)庫采用了WEBX的開發(fā)框架和JBOSS服務(wù)器,并且在Eclipse開發(fā)工具的支持下利用了FLEX進行了效果展示。如圖5為淘寶網(wǎng)前端主面的實現(xiàn)。
圖5 Portal首頁
在完成主面設(shè)計的同時要完成安全管理界面的相關(guān)配置工作,而這一界面的設(shè)計是專門針對內(nèi)部管理人員對淘寶網(wǎng)進行操作控制而設(shè)計的,因而只有通過審核的用戶才能對其系統(tǒng)進行相關(guān)操作,如圖6為安全管理主要配置界面。
圖6 權(quán)限分配頁面
5 結(jié)束語
隨著市場經(jīng)濟的發(fā)展和網(wǎng)絡(luò)信息時代的來臨,企業(yè)間的商業(yè)競爭已經(jīng)延伸到了網(wǎng)絡(luò)領(lǐng)域,信息技術(shù)的戰(zhàn)爭愈演愈烈,而數(shù)據(jù)的掌控量和控制水平已經(jīng)切實的影響到了一個企業(yè)在商戰(zhàn)中的成敗。企業(yè)擁有的龐大數(shù)據(jù)已然成為了一個確保其持續(xù)發(fā)展的潛在利潤礦藏,因此只有利用先進技術(shù)充分挖掘出數(shù)據(jù)本身蘊含的巨大潛力才能確保企業(yè)的長盛不衰。本文以淘寶網(wǎng)的數(shù)據(jù)倉庫搭建作為例證對數(shù)據(jù)平臺和數(shù)據(jù)倉庫的設(shè)計和實現(xiàn)做了詳細的分析與研究,迎合了目前社會企業(yè)發(fā)展的趨勢,因而具有較高的實用性價值,筆者也希望本文能夠為今后電子商務(wù)的發(fā)展和社會經(jīng)濟的進步提供有益的幫助。
參考文獻:
[1](英)邁爾-公恩伯格,(英)庫克耶.大數(shù)據(jù)時代[M].杭州:浙江人民山版社,2013.
[2](美)懷特(White,T.).Hadoop權(quán)威指南(第2版)[M].北京:清華大學出版社,2011.
[3]趙歡.一個商業(yè)銀行數(shù)據(jù)倉庫系統(tǒng)模型設(shè)計與實現(xiàn)[D].上海復旦大學,2011.
[4]盧億雷.Hadoop在互聯(lián)網(wǎng)存儲中的應(yīng)用與挑戰(zhàn)[J].程序員,2013(02):48-51.
[5]陳紀英.大數(shù)據(jù)革命:信息時代尋寶指南——掘金大數(shù)據(jù)[J].中國新聞周刊,2013(03):48-54.
[6]郭斯杰,貲鴻飛,熊勁.互聯(lián)網(wǎng)海量數(shù)據(jù)存儲和處理技術(shù)綜述[J].信息技術(shù)快報,2009(05):1.
[7]乍品覺.大數(shù)據(jù)的魅力:通過數(shù)據(jù)互聯(lián)產(chǎn)生價值[J].周刊,2012(02):5-8.
[8]季顯武,田大鋼.基于Teradata數(shù)據(jù)倉庫的零售業(yè)商務(wù)智能模型[J].價值工程,2010(16):150-152.
作者簡介:田素端(1976-),女,河南南陽人,高級講師,1999年7月畢業(yè)于陜西師范大學,本科,碩士,從事計算機應(yīng)用技術(shù)專業(yè)的教學工作,主要研究方向:圖形圖像處理和數(shù)據(jù)庫技術(shù)。
作者單位:南京工程高等職業(yè)學校,南京 211135