99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁職業(yè)發(fā)展我所經歷的大數據平臺發(fā)展史:互聯網時代
我所經歷的大數據平臺發(fā)展史:互聯網時代
2016-03-19
收藏

我所經歷的大數據平臺發(fā)展史:互聯網時代

本篇幅將進入大家熟知的互聯網時代,數據平臺發(fā)展史僅是自己經歷過由傳統(tǒng)數據平臺到互聯網數據平臺發(fā)展一些簡單回憶,在這一篇章中將引用部分互聯網數據平臺架構,在這里僅作案例。

相信很多從傳統(tǒng)行業(yè)轉到互聯網時是各種不適應,適應短則幾個月,長則一年以上。進入到互聯網有種感覺,它是一個擅長制造流行新概念的行業(yè),“數據平臺“,”數據產品“也不幸免。數據平臺這詞Data PlatForm 也無從考究是從什么時間點被提出的,僅知道自己剛進互聯網時”數據平臺“ 這個詞狹義代指數據倉庫了。

08年左右的Data Platform還泛指數據倉庫,那時互聯網企業(yè)的數據倉庫剛興起沒幾年,在建設思路上還是以傳統(tǒng)數據平臺的第二、三代架構為參照物實施建設的。自己猜測那時很多互聯網企業(yè)也是使用Oracle、IBM、EMC 的軟硬件區(qū)做的各類系統(tǒng)的實施,自然數據平臺建設者都是來給電信、移動、制造業(yè)等各大數據倉庫實施的甲方、乙方各類牛人。

行業(yè)的差異性導致業(yè)務不同,影響到數據平臺源(數據源)的差異性、隨著信息化共享與服務的這個“神奇”互聯網行業(yè)快速發(fā)展,互聯網業(yè)務逐漸的重視數據,所以互聯網的從業(yè)者在看數據、使用數據的方式每一年也不同、大數據的各種技術也在快速更新中,各方面因素導致了互聯網數據平臺的建設、服務用戶特點、數據模型與非互聯網數據平臺有較為顯著差異。

\

數據源:

做數據的人,從非互聯網進入到互聯網最顯著的特點是面對的數據源類型忽然多了起來,在傳統(tǒng)企業(yè)數據人員面對的是結構化存儲數據,基本來自excel、表格、DB系統(tǒng)等,在數據的處理技術上與架構上是非常容易總結的,但是在互聯網因為業(yè)務獨特性導致了所接觸到的數據源特性多樣化,網站點擊日志、視頻、音頻、圖片數據等很多非結構化快速產生與保存,在這樣的數據源的多樣化與容量下采用傳統(tǒng)數據平臺技術來處理當然是有些力不從心了(備注:IBM的科學家分析員道格.萊尼的一份數據增長報告基礎上提出了大數據的4V特性 大數據4v特性網上概念很多大家可以問度娘)。

目前最火熱的移動互聯網,大家都在通過自己的手機、平板去訪問網站、購物等所以每個人都是數據的生產者,移動用戶在使用習慣上呈現移動化、碎片化,以至于業(yè)務特性、商業(yè)模式比傳統(tǒng)互聯網又有顯著差別, 用戶在不同位置需求是不同的、使用APP 也是不同的、手機終端類型也是多樣化。這些差異性也導致移動互聯網的數據與傳統(tǒng)的互聯網數據有一定的區(qū)別性。

例如買家通過Pc購物從瀏覽物品到支付可能在很短時間內完成,但是通過手購物碎片化就顯得多一些,可能在某個空余時間瀏覽物品,保存或放入購物車,等有時間在去做支付。大約在2009年到2012年之間做用戶行為分析感覺很多原有網頁端拍下物品去支付,逐漸轉為PC端下單通過移動端支付。

我在這里整理一個表格不同時代數據源的差異性(備注可能整理的有點不全):


\



\


該圖引用2013年“中國數據庫大會大數據的實踐與應用”

數據平臺的用戶:

總結下來互聯網的數據平臺“服務”方式迭代演進大約可以分為三個階段。

階段一 :

約在2008年-2011年初的互聯網數據平臺,那時建設與使用上與非互聯網數據平臺有這蠻大的相似性,主要相似點在數據平臺的建設角色、與使用到的技術上。

\

 

 老板們、運營的需求主要是依賴于報表、分析報告、臨時需求、商業(yè)智能團隊的數據分析師去各種分析、臨時需求、挖掘,這些角色是數據平臺的適用方。
  ETL開發(fā)工程師、數據模型建模、數據架構師、報表設計人員 ,同時這些角色又是數據平臺數據建設與使用方。
  數據平臺的技術框架與工具實現主要有技術架構師、JAVA開發(fā)等。
  用戶面對是結構化的生產數據、PC端非結構化log等 數據。
  ELT的數據處理方式(備注在數據處理的方式上,由傳統(tǒng)企業(yè)的ETL 基本進化為ELT)。

現在的淘寶是從2004年開始構建自己的數據倉庫,2004年是采用DELL 的6650單節(jié)點、到2005年更換為 IBM 的P550 再到2008年的12節(jié)點 Rac 環(huán)境。在這段時間的在IBM、EMC、Oracle 身上的投入巨大(備注:對這段歷史有興趣可以去度娘:“【深度】解密阿里巴巴的技術發(fā)展路徑“),同時淘寶的數據集群也變?yōu)閲鴥茸畲蟮?a href='/map/shujucangku/' style='color:#000;font-size:inherit;'>數據倉庫集群。

 

\

 

 

\

 

我當時用Oracle 搭建的數據倉庫做臨時需求時,一個經過反復優(yōu)化的SQL語句在晚上9點放入能夠Running凌晨4點多而被電話中狂吼的DBA給kill掉,痛不欲生。

因為快速膨脹的數據量,在2010年開始考慮引進Greenplum 最為主平臺提供強大的計算能力,但沒想到快速爆炸的數據量讓我們在POC測試階段就把Greenplum的適合業(yè)務場景定位清楚了。

隨著2010年引入了hadoop&hive平臺進行新一代的數據平臺的構建,此時的Greenplum 因為優(yōu)秀的IO吞吐量以及有限的任務并發(fā)安排到了網站日志的處理以及給分析師提供的數據分析服務。

該階段的數據模型是根據業(yè)務的特性采用退化、扁平化的模型設計方式去構建的(備注:將會在模型篇章詳細講解)。

 

\

階段二:

互聯網的數據平臺除了受到技術、數據量的驅動外,同時還來自數據產品經理梳理用戶的需求按照產品的思維去構建并部署在了數據的平臺上?;ヂ摼W是一個擅長制造流程新概念的行業(yè)。約在2011年到2014 年左右,隨著數據平臺的建設逐漸的進入快速迭代期,數據產品、數據產品經理這兩個詞逐漸的升溫以及被廣泛得到認可(備注:數據產品相關內容個人會在數據產品系列中做深入分享),同時數據產品也隨著需求、平臺特性分為面向用戶級數據產品、面向平臺工具型產品兩個維度分別去建設數據平臺。

\

 

 企業(yè)各個主要角色都是數據平臺用戶。
 各類數據產品經理(偏業(yè)務數據產品、偏工具平臺數據產品)推進數據平臺的建設。
 分析師參與數據平臺直接建設比重增加。
 數據開發(fā)、數據模型角色都是數據平臺的建設者與使用者(備注:相對與傳統(tǒng)數據平臺的數據開發(fā)來說,逐漸忽略了數據質量的關注度,數據模型設計角色逐漸被弱化)。
 用戶面對是數據源多樣化,比如日志、生產數據庫的數據、視頻、音頻等非結構化數據 。
 原有ETL中部分數據轉換功能逐漸前置化,放到業(yè)務系統(tǒng)端進行(備注:部分原有在ETL階段需要數據標準化一些過程前置在業(yè)務系統(tǒng)數據產生階段進行,比如Log 日志。移動互聯網的日志標準化。

互聯網企業(yè)隨著數據更加逐漸被重視,分析師、數據開發(fā)在面對大量的數據需求、海量的臨時需求疲憊不堪,變成了資源的瓶頸,在當時的狀態(tài)傳統(tǒng)的各類的Report、Olap 工具都無法滿足互聯網行業(yè)個性化的數據需求。開始考慮把需求固定化變?yōu)橐粋€面向最終用戶自助式、半自助的產品來滿足快速獲取數據&分析的結果,當總結出的指標、分析方法(模型)、使用流程與工具有機的結合在一起時數據產品就誕生了(備注:當時為了設計一個數據產品曾經閱讀了某個部門的2000多個臨時需求與相關SQL)。

 

\

 

數據產品按照面向的功能與業(yè)務可以劃分為面向平臺級別的工具型產品、面向用戶端的業(yè)務級數據產品。按照用戶分類可以分為面向內部用戶數據產品,面向外部用戶個人數據產品、商戶(企業(yè))數據產品。

面向平臺級別有數據質量、元數據、調度、資管配置、數據同步分發(fā)等等。(備注:關于數據產品的發(fā)展與數據產品體系更多內容,請關注個人寫作“數據產品系列”)。

 

\

 

約2010-2012年的平臺結構:

 

\

 

約2012-2013年的平臺結構:

 

\

 

階段三:

互聯網業(yè)務的快速發(fā)展、大家已經從經營、分析的訴求重點轉為數據化的精細運營上,隨之而來的面臨創(chuàng)新壓力、如何做好精細化運營,數據平臺的用戶其聚焦在無法快速的響應日常需求其表現為做數據的已經無法滿足當前業(yè)務日益增長的數據需求、運營上精細化已經對數據的粒度要求由高匯總逐漸轉為過程化細粒度明細數據。

隨著數據應用的深入,用數據往往不知道數據的口徑與來源,加工數據的不知道業(yè)務含義,不同部門口徑又是不一樣,有的從交易來、有的從賬務來。這里數據使用與數據加工上就出現了”斷層”。有時在層級與功能部門前邊也可能存在一個斷層,對數據價值的內在衡量是不一樣的,角色不一樣,對于數據價值的的看法也就不同。

由于以上的種種問題,用數據的一些角色(分析師、運營或產品)會自己參與到從數據整理、加工、分析階段。當數據平臺變?yōu)樽杂扇_放,使用數據的人也參與到數據的體系建設時,基本會因為不專業(yè)型,導致數據質量問題、重復對分數據浪費存儲與資源、口徑多樣化等等原因。此時原有建設數據平臺的多個角色可能轉為對其它非專業(yè)做數據人員的培訓、咨詢與落地寫更加適合當前企業(yè)數據應用的一些方案等。例如原有的數據產品會加入更多的在原有的數據建設中才有的一些流程讓用戶來遵守(統(tǒng)一的數據搜集、數據標準化的前置)。舉例Log 埋點產品化、自動Report 的過程規(guī)范化(舉例說明:原有一些運營自己建立的一些報表可能sql有問題就直接放入報表生成器中了。更改流程第一步現在MQ中驗證完畢口徑后,通過元數據解析進入到報表生成器中)、基于元數據驅動的ETL流程化等等,因為偏自助式、服務化的一些數據產品建立也將會導致數據平臺迭代的演進。

\

 給用戶提供的各類豐富的分析、取數的產品,簡單上手的可以使用。

 原有ETL、數據模型角色轉為給用戶提供平臺、產品、數據培訓與使用咨詢。
數據分析師直接參與到數據平臺過程、數據產品的建設中去。
用戶面對是數據源多樣化,比如日志、生產數據庫的數據、視頻、音頻等非結構化數據 。

在互聯網這個大數據浪潮下,2016年以后數據平臺是如何去建設?如何服務業(yè)務?

\

 

企業(yè)的不同發(fā)展階段數據平臺該如何去建設的?這個大家是可以思考的。但是我相信互聯網企業(yè)是非常務實的,基本不會采用傳統(tǒng)企業(yè)的自上而下的建設方式,互聯網企業(yè)的業(yè)務快速變與迭代要求快速分析到數據,必須新業(yè)務數據迭代,老業(yè)務數據快速去雜。敏捷數據平臺或許是種不錯的選擇方法之一吧!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數1:配置參數 // 參數2:回調,回調的第一個參數驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }