各位朋友大家好,我是顧全,目前就職于HVR中國(guó)公司擔(dān)任大中華區(qū)技術(shù)總監(jiān)一職。非常高興今天能夠有機(jī)會(huì)和大家做個(gè)分享和交流。
先簡(jiǎn)單自我介紹一下。我是98年畢業(yè)于中國(guó)科學(xué)技術(shù)大學(xué),專(zhuān)業(yè)是計(jì)算機(jī)科學(xué)。畢業(yè)后先去AMD做了2年的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā),然后又做了2年的Oracle
ERP技術(shù)顧問(wèn),2003年我加入了Quest公司。主要負(fù)責(zé)APM和數(shù)據(jù)庫(kù)實(shí)時(shí)復(fù)制產(chǎn)品。應(yīng)該算是國(guó)內(nèi)最早接觸這種基于數(shù)據(jù)庫(kù)日志的復(fù)制技術(shù)的。在Quest工作的10年里也親手實(shí)施了大量的行業(yè)標(biāo)桿項(xiàng)目。
2013年我加入了SAP,主要負(fù)責(zé)的還是數(shù)據(jù)庫(kù)和BI產(chǎn)品,包括內(nèi)存計(jì)算技術(shù),預(yù)測(cè)分析技術(shù)等大數(shù)據(jù)解決方案。
今天是我第一次參加大數(shù)據(jù)雜談的活動(dòng),既然我們這是個(gè)大數(shù)據(jù)技術(shù)主題的群,我想我就還是從大數(shù)據(jù)談起。
大數(shù)據(jù)分析與傳統(tǒng)BI的區(qū)別
圖1 DT時(shí)代的背景
這個(gè)片子的內(nèi)容,我相信大家應(yīng)該都不陌生了。大數(shù)據(jù)的4個(gè)V(數(shù)據(jù)量,數(shù)據(jù)復(fù)雜性,數(shù)據(jù)產(chǎn)生速度和價(jià)值)最終能夠體現(xiàn)為價(jià)值,本質(zhì)上也是以分析為核心的,幫助企業(yè)提升業(yè)務(wù)洞察力,從而提高組織內(nèi)部甚至組織之間的協(xié)同能力。
大數(shù)據(jù)分析與傳統(tǒng)BI的最大的區(qū)別,我的理解有下面幾個(gè)方面:
1.預(yù)測(cè)性。各個(gè)大公司在推他們的大數(shù)據(jù)解決方案的時(shí)候都在強(qiáng)調(diào)他們的預(yù)測(cè)分析能力。
2.綜合性。傳統(tǒng)BI往往是主題分析,大數(shù)據(jù)分析往往是綜合性,跨域跨業(yè)務(wù)的分析。往往表現(xiàn)在不同數(shù)據(jù)之間發(fā)現(xiàn)內(nèi)含的相關(guān)性,從而總結(jié)提煉出新的知識(shí)和方法。
3.實(shí)現(xiàn)更高層次的資源整合,實(shí)現(xiàn)協(xié)同效應(yīng)。
這里我講個(gè)例子可能會(huì)更加容易理解。
圖2 利用大數(shù)據(jù)實(shí)現(xiàn)預(yù)測(cè)性維護(hù)
我們以航空產(chǎn)業(yè)為例。根據(jù)GE說(shuō)法,早在2013年他們生產(chǎn)的航空發(fā)動(dòng)機(jī)每天就會(huì)產(chǎn)生超過(guò)1TB的數(shù)據(jù),這是典型的物聯(lián)網(wǎng)數(shù)據(jù),也就是機(jī)器產(chǎn)生數(shù)據(jù)。這些裝配在航空發(fā)動(dòng)機(jī)上的各種傳感器無(wú)時(shí)無(wú)刻地產(chǎn)生海量的數(shù)據(jù)。
通過(guò)對(duì)這些數(shù)據(jù)的收集和分析,我們可以對(duì)飛機(jī)的“健康”狀況做出評(píng)估。這是實(shí)現(xiàn)預(yù)測(cè)性維護(hù)的基礎(chǔ),相比于規(guī)定每飛行多少小時(shí)或里程就必須進(jìn)行全面檢修一次來(lái)說(shuō),我想大家很容易理解這種預(yù)測(cè)性維護(hù)大大提高維護(hù)工作的精準(zhǔn)性同時(shí)也大幅度降低了維護(hù)成本。
我們現(xiàn)在假設(shè)一架飛機(jī)在北京飛往上海的過(guò)程中,我們的大數(shù)據(jù)分析給出警告說(shuō)左側(cè)的發(fā)動(dòng)機(jī)雖然仍在正常工作,但數(shù)據(jù)表明有潛在的風(fēng)險(xiǎn),這有可能是由于某個(gè)或某幾個(gè)零部件老化造成,那么接下來(lái)該怎么辦呢?立刻飛往修理廠(chǎng)進(jìn)行全面的檢查和維修么?如果這樣做的話(huà)可能成本還不如定期檢修來(lái)的低。
理想的做法是根據(jù)飛機(jī)的飛行計(jì)劃(下一站是上海,接下來(lái)可能是深圳…),上;蛘呱钲诟浇欠裼邢鄳(yīng)的零部件庫(kù)存以及技術(shù)人員信息(技能,時(shí)間安排),甚至還要考慮天氣和航空管制信息計(jì)算飛機(jī)晚點(diǎn)的風(fēng)險(xiǎn)來(lái)生成一個(gè)檢修計(jì)劃;然后根據(jù)計(jì)劃向相關(guān)供應(yīng)商,服務(wù)商下達(dá)采購(gòu)訂單。服務(wù)商接到訂單后立刻安排工單派出技術(shù)人員帶著零部件在指定時(shí)間到指定地點(diǎn)提供飛機(jī)的檢修服務(wù)。對(duì)于航空公司來(lái)說(shuō)提高了飛行的安全性的同時(shí),降低了整體的成本,故障在潛伏初期被發(fā)現(xiàn)并解決;對(duì)供應(yīng)商和服務(wù)商提升可客戶(hù)滿(mǎn)意度也降低了自己的維修成本。
這個(gè)故事是不是很棒?我認(rèn)為這將是其中一個(gè)大數(shù)據(jù)的未來(lái)發(fā)展方向,這里我們可以看到預(yù)測(cè)分析技術(shù)被多次運(yùn)用,分析的數(shù)據(jù)也呈現(xiàn)多元化態(tài)勢(shì),有些是自己的業(yè)務(wù)數(shù)據(jù)(航空公司內(nèi)部
ERP數(shù)據(jù),飛行計(jì)劃數(shù)據(jù),航空班組和地勤人員信息),有些是外部數(shù)據(jù)(天氣信息,航空管制信息,運(yùn)營(yíng)商庫(kù)存和技術(shù)服務(wù)人員信息),這些數(shù)據(jù)有些是物聯(lián)網(wǎng)產(chǎn)生的半結(jié)構(gòu)化甚至非結(jié)構(gòu)化數(shù)據(jù)。
通過(guò)這樣一套大數(shù)據(jù)應(yīng)用,飛機(jī)、機(jī)場(chǎng)、航空公司以及供應(yīng)商服務(wù)商被有機(jī)的整合到了一起,實(shí)現(xiàn)了更高層面的協(xié)同。
在數(shù)據(jù)集成上面臨的挑戰(zhàn)
為了實(shí)現(xiàn)上面的目標(biāo),各個(gè)公司在數(shù)據(jù)分析方面有各種各樣的技術(shù)創(chuàng)新我這里就不多談了,我主要想從數(shù)據(jù)集成角度來(lái)看看我們當(dāng)前還面臨著哪些挑戰(zhàn)。
首先就是數(shù)據(jù)的來(lái)源,這些數(shù)據(jù)根據(jù)其屬性我們可以分成以下4大類(lèi):
1.企業(yè)內(nèi)部業(yè)務(wù)系統(tǒng)數(shù)據(jù),這些數(shù)據(jù)往往是由OLTP業(yè)務(wù)系統(tǒng)產(chǎn)生,是存放在傳統(tǒng)的數(shù)據(jù)庫(kù)內(nèi),屬于結(jié)構(gòu)化數(shù)據(jù);
2.物聯(lián)網(wǎng)數(shù)據(jù),由機(jī)器產(chǎn)生,往往是定時(shí)生產(chǎn)一系列文件的方式,例如交通卡口的攝像頭拍的照片,飛機(jī)上傳感器采集到的運(yùn)行信息等。這些數(shù)據(jù)大部分是半結(jié)構(gòu)化甚至是非結(jié)構(gòu)化的數(shù)據(jù);
3.互聯(lián)網(wǎng)數(shù)據(jù),網(wǎng)站,微博,bbs等產(chǎn)生的數(shù)據(jù),以半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)為主;
4.其它組織的數(shù)據(jù),包括供應(yīng)商,客戶(hù),相關(guān)政府部門(mén)等等。這些以結(jié)構(gòu)化數(shù)據(jù)庫(kù)為主。
其次是數(shù)據(jù)的分析平臺(tái),現(xiàn)在各種新技術(shù)層出不窮,各大廠(chǎng)商都給出自己的大數(shù)據(jù)解決方案,例如以Hadoop為核心的,或者內(nèi)存計(jì)算技術(shù)為核心(如SAP的HANA)以及MPP架構(gòu)數(shù)據(jù)庫(kù)技術(shù)(如Teradata,Greenplum)。
這些技術(shù)各有其優(yōu)缺點(diǎn),越來(lái)越多的客戶(hù)在構(gòu)建自己的大數(shù)據(jù)解決方案時(shí)候往往也會(huì)綜合采用上述多種解決方案,而不是僅僅依賴(lài)單一的技術(shù)。我在這里就不展開(kāi)了。
圖3 數(shù)據(jù)湖
但是需要注意的是這些大數(shù)據(jù)平臺(tái)本身不是數(shù)據(jù)的來(lái)源,而是數(shù)據(jù)的存儲(chǔ)和處理平臺(tái)。隨著這些技術(shù)的發(fā)展,大數(shù)據(jù)平臺(tái)的吞吐能力越來(lái)越大,運(yùn)算效率越來(lái)越高,各大廠(chǎng)商都在強(qiáng)調(diào)自己的大數(shù)據(jù)實(shí)時(shí)處理能力,但是如果獲得的數(shù)據(jù)不是實(shí)時(shí),那么實(shí)時(shí)運(yùn)算也就失去了它的意義。所以作為大數(shù)據(jù)平臺(tái)的第一公里,數(shù)據(jù)集成技術(shù)也越來(lái)越受到業(yè)界的重視。
數(shù)據(jù)集成需要考慮的因素在這樣一個(gè)綜合性的環(huán)境里,數(shù)據(jù)集成需要考慮哪些方面的因素呢?
1.數(shù)據(jù)的實(shí)時(shí)捕獲
目前基于事務(wù)日志的數(shù)據(jù)捕獲已經(jīng)變得非常成熟,Oracle有OGG,DB2有CDC,SAPSybase有SRS,當(dāng)然也包括我們自己的HVR。
這種技術(shù)最大的好處就是對(duì)源數(shù)據(jù)庫(kù)系統(tǒng)影響較低,是一種非侵入式的數(shù)據(jù)捕獲方式;驹砭褪撬械年P(guān)系型數(shù)據(jù)庫(kù)基本上都會(huì)提供事務(wù)日志,并且事務(wù)日志會(huì)記錄所有的數(shù)據(jù)變化信息,數(shù)據(jù)庫(kù)的事務(wù)提交也往往以寫(xiě)入事務(wù)日志為標(biāo)志(此時(shí)數(shù)據(jù)庫(kù)可能只完成了buffer的修改,數(shù)據(jù)文件還未完成寫(xiě)入),通過(guò)分析日志我們客戶(hù)獲得全部的數(shù)據(jù)變化信息,并且這些信息天然就是增量的,按時(shí)間排序的,保證讀一致性和事務(wù)前后順序的。
2.異構(gòu)平臺(tái)支持
圖4 實(shí)時(shí)數(shù)據(jù)同步軟件
數(shù)據(jù)復(fù)制軟件不但要能夠支持傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)和各種大數(shù)據(jù)平臺(tái),還應(yīng)當(dāng)支持文件系統(tǒng)復(fù)制,支持云環(huán)境的部署。上面這個(gè)圖是目前我們的HVR可以支持的平臺(tái)。
3.數(shù)據(jù)壓縮
數(shù)據(jù)產(chǎn)生的源越來(lái)越復(fù)雜,企業(yè)可能需要在不同地點(diǎn)的數(shù)據(jù)中心之間,或者在本地系統(tǒng)和云上的系統(tǒng)之間進(jìn)行數(shù)據(jù)復(fù)制;有些數(shù)據(jù)可能由遍布全國(guó)的設(shè)備產(chǎn)生,例如移動(dòng)通訊基站,輸變電設(shè)施,石油鉆井平臺(tái)等;甚至數(shù)據(jù)產(chǎn)生的地點(diǎn)都不是固定的,例如上面例子里說(shuō)的飛機(jī),船舶;
數(shù)據(jù)壓縮能力可以幫助企業(yè)極大的節(jié)約運(yùn)營(yíng)過(guò)程中的網(wǎng)絡(luò)成本。目前我們HVR的壓縮算法對(duì)字符型數(shù)據(jù)可以實(shí)現(xiàn)超過(guò)95%倍以上的壓縮能力,對(duì)其它結(jié)構(gòu)化數(shù)據(jù)類(lèi)型也可以達(dá)到50%至80%的壓縮率。
打個(gè)比方,一個(gè)oracle數(shù)據(jù)庫(kù)產(chǎn)生1GB的redolog,需要復(fù)制的信息最多通常在30%左右,我們按照90%的綜合壓縮率來(lái)計(jì)算,實(shí)際需要占用網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量?jī)H僅有30M!
4.數(shù)據(jù)加密
遠(yuǎn)程數(shù)據(jù)復(fù)制場(chǎng)景尤其應(yīng)當(dāng)重視數(shù)據(jù)的安全性,防止數(shù)據(jù)在傳輸過(guò)程被竊取。
5.可管理性
這里涵蓋的內(nèi)容就比較廣泛了。
一個(gè)方面是架構(gòu)上:目前類(lèi)似的軟件絕大多都采用的點(diǎn)對(duì)點(diǎn)部署模式。一個(gè)典型的場(chǎng)景可能會(huì)是類(lèi)似下面的這個(gè)架構(gòu)圖。大家可以看到這種網(wǎng)站的數(shù)據(jù)復(fù)制模式邏輯上非常復(fù)雜,對(duì)安裝,部署,管理都帶來(lái)很大的難度。
圖5 軟件架構(gòu)
為了解決這個(gè)問(wèn)題,HVR提供一個(gè)hub-spoken的架構(gòu),類(lèi)似下圖:
圖6 hvr_integrate1
這樣的架構(gòu)使得軟件的部署和管理維護(hù)非常簡(jiǎn)單,在每個(gè)數(shù)據(jù)節(jié)點(diǎn)上只需要安裝啟動(dòng)hvr-listener服務(wù)即可,所有的配置,管理和監(jiān)控工作都在hub服務(wù)器上進(jìn)行,listener的工作行為由hub上的作業(yè)進(jìn)程調(diào)度和管理。
可管理性的另外一個(gè)方面就是監(jiān)控和歷史報(bào)表。
同樣得益于HVR精煉的架構(gòu)設(shè)計(jì),HVR可以方便地提供豐富的歷史數(shù)據(jù)報(bào)表,例如復(fù)制的延遲信息,復(fù)制的數(shù)據(jù)量,增改刪的記錄數(shù)等。HVR還提供了完善的監(jiān)控功能,當(dāng)有故障發(fā)生的時(shí)候可以自動(dòng)發(fā)送告警email到DBA的郵箱或者通過(guò)SNMP方式發(fā)送消息到監(jiān)控告警平臺(tái)上。
6.數(shù)據(jù)的轉(zhuǎn)換能力
圖7 傳統(tǒng)的數(shù)據(jù)整體(ETL)流程
上圖是傳統(tǒng)的商業(yè)智能領(lǐng)域通常使用的ETL方法。傳統(tǒng)的商業(yè)智能由于主要面向的是已知的問(wèn)題(主題),通常在數(shù)據(jù)倉(cāng)庫(kù)建設(shè)階段非常重要的就是數(shù)據(jù)模型設(shè)計(jì),從業(yè)務(wù)系統(tǒng)取得的數(shù)據(jù)需要經(jīng)過(guò)抽取(E),轉(zhuǎn)換(T)和加載(L)來(lái)完成。由于轉(zhuǎn)換的工作量有的時(shí)候相當(dāng)大,還會(huì)需要有個(gè)專(zhuān)門(mén)的數(shù)據(jù)庫(kù)來(lái)支撐,所以有的廠(chǎng)商提出了ELT的解決方案。不論是ETL還是ELT,一般的工作特點(diǎn)都是定時(shí)抽取,批量轉(zhuǎn)換和加載。數(shù)據(jù)倉(cāng)庫(kù)得到的數(shù)據(jù)是非實(shí)時(shí)的。
而大數(shù)據(jù)BI由于往往面對(duì)的是未知的問(wèn)題,需要通過(guò)更加廣泛的數(shù)據(jù)去探索和發(fā)現(xiàn)其中內(nèi)涵的相關(guān)性,大部分情況下難以實(shí)現(xiàn)預(yù)先的數(shù)據(jù)倉(cāng)庫(kù)模型定義。
但對(duì)數(shù)據(jù)依然需要做一些轉(zhuǎn)換工作。
例如1:數(shù)據(jù)的行級(jí)轉(zhuǎn)換
圖8 數(shù)據(jù)轉(zhuǎn)換
例如2:數(shù)據(jù)的軟刪除和時(shí)間戳轉(zhuǎn)換
圖9 軟刪除和時(shí)間戳轉(zhuǎn)換
大數(shù)據(jù)BI需要的不僅僅需要的是業(yè)務(wù)數(shù)據(jù)的結(jié)果,業(yè)務(wù)數(shù)據(jù)的變化過(guò)程可能更重要。
例如對(duì)于已經(jīng)刪除的數(shù)據(jù),生產(chǎn)系統(tǒng)可能不在需要這部分內(nèi)容,但是大數(shù)據(jù)分析依然需要,但是要通過(guò)標(biāo)記列來(lái)識(shí)別。甚至更進(jìn)一步,對(duì)所有的增改刪,大數(shù)據(jù)分析都需要保留其變化的每一步過(guò)程,并通過(guò)時(shí)間戳和操作類(lèi)型給予表示,當(dāng)然在此基礎(chǔ)上可能還會(huì)需要保留其它的相關(guān)信息,例如數(shù)據(jù)來(lái)源,業(yè)務(wù)發(fā)起用戶(hù)信息等等。
這種數(shù)據(jù)轉(zhuǎn)換其實(shí)不僅僅大數(shù)據(jù)BI需要,傳統(tǒng)的商業(yè)智能也能從中受益。一些簡(jiǎn)單的場(chǎng)景,數(shù)據(jù)的行級(jí)轉(zhuǎn)換已經(jīng)可以滿(mǎn)足業(yè)務(wù)要求。在一些大型的BI項(xiàng)目中,時(shí)間戳轉(zhuǎn)換結(jié)合ETL工具的方案可以幫助企業(yè)避免ETL工具在數(shù)據(jù)抽取時(shí)對(duì)生產(chǎn)造成的性能影響,也避免了對(duì)生產(chǎn)系統(tǒng)為了實(shí)現(xiàn)數(shù)據(jù)的增量抽取而不得不進(jìn)行的時(shí)間戳改造。
Q&A
Q1:對(duì)于異地雙活數(shù)據(jù)中心有什么好的建議嗎?數(shù)據(jù)實(shí)時(shí)速度有多快?
顧全:先回答上面這倆個(gè)問(wèn)題。正常情況下(也就是沒(méi)有明顯的系統(tǒng)瓶頸),數(shù)據(jù)的同步延遲時(shí)間是在秒級(jí),這可能受到網(wǎng)絡(luò)延遲,事務(wù)的大小,目標(biāo)數(shù)據(jù)庫(kù)性能的影響。對(duì)于兩地雙中心,我們也有成功的案例。根本的原則是避免兩地業(yè)務(wù)數(shù)據(jù)的沖突。例如,主鍵值的范圍劃分,使得正常情況下每個(gè)中心支撐的業(yè)務(wù)是被分區(qū)的。
Q2:傳統(tǒng)BI和大數(shù)據(jù)肯定是未來(lái)企業(yè)發(fā)展的兩方面,不能斷言到底大數(shù)據(jù)會(huì)不會(huì)替代傳統(tǒng)BI。那么問(wèn)題在這里,傳統(tǒng)BI肯定是企業(yè)著手做了很長(zhǎng)時(shí)間的工程了,培養(yǎng)的分析人員,數(shù)據(jù)倉(cāng)庫(kù)開(kāi)發(fā)員必然對(duì)企業(yè)的自有業(yè)務(wù)很精通,那么這些業(yè)務(wù)人員是否會(huì)有繼續(xù)往大數(shù)據(jù)項(xiàng)目上發(fā)展的可能呢,還是公司會(huì)另聘咨詢(xún)公司來(lái)做大數(shù)據(jù)項(xiàng)目??jī)烧叩谋壤,依你的?jīng)驗(yàn)會(huì)有多少分配?現(xiàn)在的大數(shù)據(jù)市場(chǎng)工具眼花繚亂,各有千秋,肯定不是每個(gè)工具都能適應(yīng)所有的項(xiàng)目工程。那么我們?cè)趺催x擇才能更快切入大數(shù)據(jù)領(lǐng)域。是否可以推薦系統(tǒng)的書(shū)或者您的博客?
顧全:這個(gè)問(wèn)題其實(shí)蠻大的,我不認(rèn)為大數(shù)據(jù)BI會(huì)完全取代傳統(tǒng)BI。傳統(tǒng)BI和大數(shù)據(jù)BI會(huì)有不同的側(cè)重點(diǎn),解決的問(wèn)題也是不完全相同的。但我相信,大數(shù)據(jù)的目標(biāo)是提高企業(yè)的業(yè)務(wù)洞察力,這個(gè)洞察力最終是要落在企業(yè)員工身上的。所以業(yè)務(wù)人員的培養(yǎng)是非常重要的。咨詢(xún)公司主要是扮演顧問(wèn)的角色,在大數(shù)據(jù)項(xiàng)目落地的過(guò)程中,可能根據(jù)企業(yè)具體情況,依然會(huì)需要系統(tǒng)集成商,方案供應(yīng)商,甚至軟件開(kāi)發(fā)商等多種伙伴的幫助。
Q3:基于行的復(fù)制,對(duì)批量更新和表更新操作有著天然的缺陷。你們的產(chǎn)品如何緩和批量更新的缺陷?DDL操作是否透明?
顧全:這個(gè)朋友說(shuō)的很對(duì)。這種復(fù)制技術(shù)應(yīng)該說(shuō)主要面對(duì)的是源端OLTP類(lèi)型的業(yè)務(wù)。但是批處理往往也是不可避免的。當(dāng)批處理的量較大的時(shí)候,往往目標(biāo)端數(shù)據(jù)入庫(kù)可能會(huì)產(chǎn)生一定的延遲,業(yè)務(wù)對(duì)這個(gè)延遲的忍受情況是不同的,數(shù)據(jù)規(guī)模也差異很大,對(duì)策可能也會(huì)不一樣。這個(gè)需要具體問(wèn)題具體分析了。
Q4:基于數(shù)據(jù)庫(kù)日志的大數(shù)據(jù)采集,更新和刪除往往怎么處理?
顧全:通常來(lái)說(shuō)可以采用我演講中提到的轉(zhuǎn)換示例2,也就是軟刪除或者時(shí)間戳轉(zhuǎn)換的方式來(lái)處理。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:數(shù)據(jù)庫(kù)復(fù)制技術(shù)在大數(shù)據(jù)BI上的應(yīng)用
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839319670.html