中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

解析業(yè)務數(shù)據(jù)的特征——《企業(yè)大數(shù)據(jù)實踐路線》

2019-02-26    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

我們今天的內(nèi)容是解析業(yè)務數(shù)據(jù)的特征。我們已經(jīng)知道了數(shù)據(jù)從哪里來,也知道有什么數(shù)據(jù),現(xiàn)在我們需要去分析一下這些數(shù)據(jù)的特征是什么,想想能在這些數(shù)據(jù)上做什么文章。

業(yè)務數(shù)據(jù)的分類

首先我們可以了解一下業(yè)務數(shù)據(jù)的分類,其實我們在之前已經(jīng)說過了,一個是交互數(shù)據(jù),一個是底層數(shù)據(jù),還有一個是業(yè)務數(shù)據(jù)。交互數(shù)據(jù)主要是我們在業(yè)務使用過程中出現(xiàn)了一些交互性的數(shù)據(jù),比如說用戶的登錄、注銷、閱讀、點贊這些行為數(shù)據(jù)。那么底層數(shù)據(jù)指的是什么呢?主要是我們服務器的日志、業(yè)務代碼的日志、調(diào)試信息等等,這些信息是底層數(shù)據(jù),還包括更硬核一點的就是我們系統(tǒng)的監(jiān)控信息,CPU的占用率,內(nèi)存的占用率,磁盤IO的變化,網(wǎng)絡流量的變化等等。還有一塊就是我們業(yè)務數(shù)據(jù),業(yè)務數(shù)據(jù)主要是我們核心數(shù)據(jù),比如說像商品信息、文章信息、交易訂單數(shù)據(jù)、會員數(shù)據(jù)等等。

 

 

我們要去分析三類數(shù)據(jù)有什么樣的特征。一個就是底層數(shù)據(jù)大部分是日志數(shù)據(jù),不能講100%吧,講95%以上的底層數(shù)據(jù)都是日志,或者是以日志形式表達的這樣一些數(shù)據(jù)。所以我們在利用底層數(shù)據(jù)的時候會有大量精力需要用在梳理出格式和對應的字段內(nèi)容,更集中化收集下。這是我們在底層數(shù)據(jù)處理遇到的最大問題。一是你以什么樣的合理方式把這些底層數(shù)據(jù)搜集上來,二是說梳理上來的數(shù)據(jù)需要進行數(shù)據(jù)清洗。

 

 

在交互數(shù)據(jù)上我們會遇到幾個問題,第一個就是日志類型和數(shù)據(jù)庫內(nèi)容混雜,結構和非結構數(shù)據(jù)混雜。而且交互數(shù)據(jù)還會產(chǎn)生一個問題,它涉及到的關聯(lián)數(shù)據(jù)非常多,比如說你的一段交互內(nèi)容可能會有一行日志,但是這個日志背后有一篇文章,可能有一個用戶,甚至有一條評論,可能還有一些其他更深層次的一些關聯(lián)信息,這些信息的關聯(lián)就是很麻煩,因為相對于說在底層數(shù)據(jù)的處理上,只需要把日志拆開,一個字段一個字段去了解它的含義。交互數(shù)據(jù)拆開之后還要思索它的關聯(lián),然后還會產(chǎn)生不同業(yè)務系統(tǒng)的關聯(lián),這是交互數(shù)據(jù)帶來的問題。

業(yè)務數(shù)據(jù)這一塊,通常是跟用戶有非常深度的關聯(lián)關系,而且對安全性的要求非常高。這就給很多企業(yè)數(shù)據(jù)上云帶來一些問題,企業(yè)甚至會選擇一個混合云的架構或者是私有云的架構,然后所有的操作全在自己的私有云上去完成,這是它的物理特性。那么它的邏輯特性是什么呢?這些業(yè)務數(shù)據(jù)的關聯(lián),深度很深,舉個例子,一個用戶的消費記錄可能只有一行信息,但是這個消費記錄代表的含義可能會涉及到商品信息,商品信息后面還會關聯(lián)到這個商品當時的營銷計劃,還會關聯(lián)這個用戶賬戶的現(xiàn)金變動或者是交互余額的變動,關聯(lián)發(fā)貨的清單或者是物流信息流轉等等。僅僅只是一個消費記錄單能關聯(lián)出來或者是帶出來的數(shù)據(jù)維度非常之多,所以這是業(yè)務數(shù)據(jù)一個表現(xiàn)特性。相對于交互數(shù)據(jù)的關聯(lián)來說,它是層次更深一點,交互數(shù)據(jù)它關聯(lián)的主要是橫向,扁平化的,就是不會有太深層次的關聯(lián),而業(yè)務數(shù)據(jù)會往下探,下鉆,然后產(chǎn)生更多維度的深層次關聯(lián)。這是我們業(yè)務數(shù)據(jù)的特征。

常見的Web應用工作流分析

 

 

我們可以通過一個具體的例子來解析一下,一個常見的WEB應用的工作流。用戶的流量過來,然后到負載均衡或者是CDN或者是服務器前端入口HTTP或者是HTTPS一個入口。然后這些入口把流量分發(fā)給到WEB服務器,Nginx或者是別的一些服務端。然后服務端后再對各個語言的應用進行工作,把響應傳回去,在這個工作過程中我們還會涉及到數(shù)據(jù)庫、中間件、緩存,這些操作又會關聯(lián)服務器底層數(shù)據(jù),這是整個深層次的過程。

我們可以通過這樣的方式去拆解每個環(huán)節(jié)對應的數(shù)據(jù)。用戶環(huán)節(jié)我們能拿到的數(shù)據(jù)是瀏覽器,因為我這個例子是WEB應用,所以他能拿到的是瀏覽器信息,像負載均衡、CDN、前端入口等等。像我們WEB服務器可以拿到的日志就是網(wǎng)站的訪問日志。數(shù)據(jù)庫,中間件或者是緩存RDS,能拿到的數(shù)據(jù)是什么呢,一個是核心服務的日志或者是監(jiān)控數(shù)據(jù)。像RDS就是能拿到具體的監(jiān)控數(shù)據(jù),中間件是本身自己可能,看這個是使用什么樣的中間件,常規(guī)的中間件它自己會有一部分日志會流轉出來,或者也可以定向去采集它都可以的。

最后一部分,我們能在服務器底層能拿到什么樣的數(shù)據(jù)呢?也就是服務器的運營日志,可能是操作系統(tǒng)級的運營日志。還能拿到我們服務器的監(jiān)控數(shù)據(jù),服務器可以通過給它裝一個監(jiān)控工具,客戶端,然后可以把這些屬于搜集上報到工具中去。

這是非常常見的WEB應用的工作流,那么這個工作流背后我們要去思考的是,具體能拿到什么數(shù)據(jù)呢?以案例來看,能夠拿到服務器訪問日志、CDN的日志、數(shù)據(jù)庫的數(shù)據(jù)等,這一塊是我們放在阿里云的SLS也就是日志服務里面的應用日志,也就是我們在開發(fā)過程中我們特別埋了一些點,取了一些日志,這個日志我們存在了阿里云的SLS里面。

在大數(shù)據(jù)方面,我個人有一個感觸,大數(shù)據(jù)轉型一定要有懂業(yè)務的人來推動,由技術人員推動的大數(shù)據(jù)轉型往往都不落地。這并不是否定技術人員的能力,而是說一個純粹的技術人員來推動的大數(shù)據(jù),往往找不到合適的場景,就會把整個業(yè)務或者是公司的轉型方向帶偏了,可能追求的東西很有技術價值但是不一定有商業(yè)價值,這是一個很大的忌諱,這是我這幾年的最大感觸。很多公司喊著要做大數(shù)據(jù)轉型,但是最后主導都是說找一個什么大數(shù)據(jù)工程師或者是架構師幫你做方案,最后落地完了之后做跟沒做沒兩樣,這也不是我們想達到的效果。

我舉一個很有代表性的板塊給大家來看一下,就是我們的客戶端信息能夠搜集到哪些呢?比如說像我們?yōu)g覽器品牌,像你用的是火狐,Google還是IE還是別的什么品牌的瀏覽器,你是在請求的時候是可以看出來的,因為現(xiàn)在瀏覽器都在構造請求頭的時候都會把自己的品牌加進去,這個是一定會有的一個東西,除非黑客,黑客通過TCP直接構建請求的,他可以把這些信息抹掉或者是刻意偽造一下,這個主要是用來像爬蟲采集,可能會出現(xiàn)這種情況,但是也都有一定的能識別出來的,稍微有一點點經(jīng)驗的人都可以看到,哪一些請求是采集,哪一些是正常訪問。然后客戶端另一個情況是,早期服務器的訪問日志來看,能夠看到的信息其實不多,但是近幾年來發(fā)現(xiàn)看到的信息越來越多了,能看到我們的系統(tǒng)版本IOS是幾點零或者是window的什么版本或者安卓什么版本,現(xiàn)在還可以看到我們客戶端是用什么設備請求的,這個可能是它直接通過IOS或者是安卓這樣一個平臺來告訴你,我是什么樣類型的一個設備,也有可能他把設備類型直接寫在請求頭里面了。

有一些請求是我們客戶端故意附加給我們的,這個沒有什么實際用途,只是說我們在做開發(fā)的時候故意這樣去做的,最常見的是什么呢?最常見的是我們?nèi)タ次⑿诺恼埱,通過微信請求訪問你自己的頁面會給你附加一大堆的其他信息,這些信息可能并不是說對你完全有用的,但是會傳給你,具體怎么使用是你自己分辨的一個問題。或者說我們自己APP里面內(nèi)嵌的混合開發(fā)的H5頁面,那這些頁面也可以通過由APP客戶端去注入一些信息到請求頭里面去,這樣也可以把這些信息發(fā)到服務端,也可以在服務端進行搜集,這是客戶端上面能拿到的信息。

訪問信息能拿到數(shù)據(jù)有幾個呢?一塊是來源IP,這個是最最重要,你一個請求主要是基于互聯(lián)網(wǎng)請求,你過來一定會有來源IP,這個跑不掉的,無論你是通過代理還是不通過代理,你總歸會有一個來路,這個來源IP會幫我們分析很多問題,安全領域也好,大數(shù)據(jù)分析領域也好,它都很重要。第二個是我們的請求地址,就說這個IP發(fā)起的一個請求,請求的是什么樣的一個UIL,請求的是什么樣的頁面或者是接口都在訪問信息里面可以看到,還有一個請求時間,這個是也是挺重要的,服務器會記錄這個請求是什么時候發(fā)過來的,這主要是為了幫助我們做分析的時候把這個請求套路到時間點里面去。

我們還能拿到用戶信息,我們怎么去拿這個用戶信息把它記錄下來呢?一般來說就是說我們在幾個點,一個我們?yōu)g覽器里面可能會有一標志符等可以記錄用戶的UID信息或者是反查出來UID信息,或者是通過業(yè)務應用在工作過程中埋點,去產(chǎn)生這些東西。有了UID之后我們還可以搜集到更多的,其實這個用戶所有的信息其實都能拿到的像昵稱,性別等等更多信息。那么業(yè)務信息往往就是我們某一個請求發(fā)過來之后,具體對應的是什么業(yè)務的語言數(shù)據(jù)是可以通過業(yè)務信息這一塊分析出來的。比如說我一個安卓的手機,使用了Google的瀏覽器訪問了我的頁面,然后這里來源IP是多少多少,然后請求的地址是什么。請求的地址里面我們可以去拆分一下,在這里面找出我們的新聞標識。這是一種方式通過UIL去分析,這個就比較硬核一點,你需要對你的業(yè)務有非常多的了解,如果你的業(yè)務系統(tǒng)是由不同時間開發(fā)的,又是不同人開發(fā)的,然后業(yè)務系統(tǒng)又很復雜和龐大,這種方式可能就不太適用,因為你適配每一個請求地址的時候,你要寫的增值表達式或者是清洗的過程會很長。

還有一種就是我剛剛說的在應用工作過程中埋了點,把這個日志打出來了,這個是最簡單的,有了這個表示之后我們可以找到標題分類,這只是舉例子,如果你是一個電商可能通商品表示可以找到商品名、商品分類、商品描述等等,這也是我們業(yè)務信息的梳理。

數(shù)據(jù)開發(fā)的第一步

很多人說我大數(shù)據(jù)要去做開發(fā),要去入門,然后我從哪一步開始,其實我告訴大家,最簡單就是你先從梳理數(shù)據(jù)結構開始。你要有看數(shù)據(jù)結構的能力,你要很強的邏輯性和業(yè)務敏銳度,去把這些信息整合到一起。比如說我們的客戶單信息、訪問信息、用戶信息、業(yè)務信息這四塊都拉成了一張二維表,比如瀏覽器、設備、昵稱、性別,通過UIL的分析可以直達新聞的ID是多少,通過新聞ID可以找到標題,分類,內(nèi)容等等這些信息。

這就是我們現(xiàn)在要做的第一步,先把這個表整出來,這是最重要的。因為你有了這張表之后,你才能去定向各個數(shù)據(jù)源去抽數(shù)據(jù),然后去拼成這張表,如果你連這張表都沒有,你根本不知道自己下一步怎么去執(zhí)行,這是大數(shù)據(jù)要落地,技術要去落地的第一步就是數(shù)據(jù)的搜集。

四塊基礎數(shù)據(jù)我們合并拼接成了一塊二維表,就是有點類似于電子表格或者是關系數(shù)據(jù)庫里面的一張表。但是這個是很初級的一個過程,你即便把它拼出來也不代表有什么用,比較淺。它背后還有東西,是什么?

第一個我們來看訪問信息,訪問信息里面有來源IP,有請求時間和請求地址。請求地址通過簡單的清洗,就把它分析出來它請求你是什么ID或者是什么業(yè)務系統(tǒng)等等信息。請求IP其實是可以做很多很多事情。比如說一個IP你可以通過反查知道,這個IP是屬于什么通訊服務商,電信移動聯(lián)通還是什么別的國家什么服務商,那么你還可以通過一個IP知道這個人大概的區(qū)屬位置,比如說他是中國的還是美國的,當然中國的IP是很全的,就是有商業(yè)版有非商業(yè)版,開源的一些IP地址庫,反正準確率都還行,如果說你有一些很嚴格的用途,你可以去找商業(yè)的版本去用。它可以通過IP地址第一能獲取到這個IP對應的是什么通訊服務商,比如說我今天給大家直播用的是中國電信的寬帶,那么中國電信的寬帶去訪問阿里云的官方網(wǎng)站,那么阿里云的官方網(wǎng)站生成一條日志看到我這個IP去查一下就知道,這個用戶的請求是從中國電信IP那兒過來的,能知道他的通信服務商。知道通信服務商之后,我們還能知道這個人的國家,因為IP地址是每個國家是有每個國家同的IP地址的區(qū)劃,這個大家學網(wǎng)絡課的時候都知道。那么基于這個國家之下,可能每個國家內(nèi)部針對各個IP段還有一些分配,這是一種。

第二種可能就是像BAT去做了一些IP地址的跟蹤識別。通過域名去把公網(wǎng)IP輸入進去能告訴你什么國家,是什么通信服務商。然后省市區(qū)縣這一塊可能就需要商業(yè)級別的數(shù)據(jù)庫來支持你。但是我們目前來看這個好像是開源免費的數(shù)據(jù)庫,你查出來也挺準的,至少省市是準的,但是區(qū)縣不一定是準的,但是前兩個一定是準的。

由此可見,從來源IP這個簡單的字段我們能分析內(nèi)容就很多了。那么我們通過用戶信息和業(yè)務信息又能分解出來什么東西呢?

左邊相當于是生成自清洗帶來一個數(shù)據(jù),就是你的額外數(shù)據(jù)。右邊這張表用戶信息和業(yè)務信息這兩張表,一個是用戶標識也就是我們常說的UID,一個是我們新聞標識,也就是我們信息ID。這兩塊ID能夠拼合成什么樣的數(shù)據(jù)或者能幫助我們帶來什么新的東西呢?

舉個例子,我可以通過關聯(lián)下鉆的方式去找到這個用戶以及這個ID關聯(lián)的信息。比如說這個用戶看在這篇新聞的同時,他發(fā)了評論,那你就能把他評論數(shù)據(jù)找出來,發(fā)了評論之后,他可能還收藏了這篇文章或者是點贊了這篇文章,也可以把收藏和點贊的數(shù)據(jù)關聯(lián)出來。這樣過程,前者可以通過一些輔助手段去解析我們字段把他拆解出一些更有用的信息,后者是通過我們業(yè)務邏輯去通過數(shù)據(jù)下鉆去找到深層次關聯(lián),這是我們數(shù)據(jù)背后就是兩種處理的方式,就是解析處理的兩種方式。目的是什么?目的是為了把我們的數(shù)據(jù)拆分的更細致,然后更全面,因為我們以前做大數(shù)據(jù)跟我們業(yè)務系統(tǒng)開發(fā)是完全不同的兩個概念。也就是說我們以前做開發(fā)的時候,涉及到數(shù)據(jù)庫,可能更多是為了讓查詢起來更快,或者讓它能夠不要爆發(fā)式增長,占用我磁盤IO,不要寫入太多的數(shù)據(jù),盡量能夠精簡,能夠通過一些別的方式關聯(lián)出來,就行了,也不要求說在我的數(shù)據(jù)庫里面要知道這個用戶,能實時知道在某一篇文章下的評論,這個可能是我們業(yè)務需要,不是我們的架構需要,所以我們在做架構的時候就把這一塊弱化掉了。因為我們做大數(shù)據(jù)的時候,我們要逆向思維,要把我們原來技術架構精簡掉的東西全部都找出來,然后推翻掉,然后重新給裝滿。所以我們通過這幾幅圖和背后的關聯(lián)關系,可以引申出來一個我們現(xiàn)在要說的,我剛剛通過這種方式為我的這張大表增添了幾個新的鏈,比如說像通信商和地址,就是通過IP地質(zhì)可以查到通信商和國家的。

因為PPT的行數(shù)限制,所以我畫了一個無窮大的符號在那里,就是說可以通過這些數(shù)據(jù)延伸出來找到更多的信息和數(shù)據(jù),它全部可以排在后面。那么有的同學可能會比較好奇,你干嘛一定要把一個數(shù)據(jù)全部聯(lián)想成一個扁平的東西。那是因為我們在實際操作過程中,大數(shù)據(jù)并不意味著一切都要不關聯(lián),然后全部都放再一個大表里面,這也不太現(xiàn)實。但是大數(shù)據(jù)講求的最重要的一個點是,你在某一個維度上你要盡量去全面和平衡,不要太去計較我們什么空間的占用,寫入的速度或者是會不會影響到什么索引,你所有的這些數(shù)據(jù)庫的思維都可以拋棄掉。因為大數(shù)據(jù)分析之間事情本身不像業(yè)務系統(tǒng),有那么高的實時性的要求或者說有那么高的業(yè)務可靠性上的要求。

我們通過對數(shù)據(jù)的拆分,多表打平成一張表。我們前面可能時間瀏覽器和設備這些都來源于日志,然后這一部分都是來源于日志,這兩個來源于清洗,昵稱、性別、新聞ID、標題分類這些來源于數(shù)據(jù)庫,這些來源于關聯(lián)查詢出來的一些數(shù)據(jù)等等。就這張表數(shù)據(jù)來源可以很多,但是最終一定要有一個結構化的東西去把它存下來,當然也有不結構化的數(shù)據(jù),但是因為我們今天說做大數(shù)據(jù),不是說你已經(jīng)是一個很成熟的公司在做這個事情,是我們很多公司是要轉型做這個事情,那你第一步只能從這個方式去開始。

這是我的一個感受,大數(shù)據(jù)第一步就是把破鏡圓回去,人家說破鏡重圓,因為鏡子裂了就沒有辦法再圓回去了,但是我們要做大數(shù)據(jù)規(guī)劃和架構的時候要有逆向思維,這個逆向思維,逆的是什么,逆的是我們傳統(tǒng)業(yè)務架構。我們要沿著這個鏡子原有痕跡把它拼回去,你不能說逆著逆著數(shù)據(jù)風馬牛不相及了,那也沒什么價值。所以我們要通過把割裂的數(shù)據(jù)關聯(lián)起來,數(shù)據(jù)是割裂的,但并不是沒有邏輯的。

很多人說我要去做大數(shù)據(jù)轉型了,第一步我先選一個平臺,云平臺還是開源平臺,然后再選一堆工具鏈,選完工具鏈之后我一百萬找?guī)讉大數(shù)據(jù)工程師,然后再如何如何。我見過太多的公司是這樣做,但做不成功。我覺得這是大家需要去規(guī)避的一個坑。大數(shù)據(jù)不是說你先去選一個平臺,一個工具,再招一堆人再來思考怎么去做,一定是先從業(yè)務出發(fā),把我們已有的這些東西全部思考清楚了,你再去找一個懂業(yè)務的人去推動它,帶著技術人員一起去做大數(shù)據(jù)轉型,這是我大數(shù)據(jù)從業(yè)這么多年的感受,分享給大家。

作者:阿里云MVP戚俊

標簽: Google web服務器 安全 大數(shù)據(jù) 大數(shù)據(jù)分析 代碼 電商 服務器 服務商 互聯(lián)網(wǎng) 數(shù)據(jù)分析 數(shù)據(jù)庫 通信 網(wǎng)絡 域名 轉型

版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:典型技術架構的分析和構建——《企業(yè)大數(shù)據(jù)實踐路線》

下一篇:DeepMind讓AI組隊踢足球學會“合作”,并開源訓練環(huán)境