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

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)據(jù)統(tǒng)一的七原則
數(shù)據(jù)統(tǒng)一的七原則
2017-11-27
收藏

數(shù)據(jù)統(tǒng)一的七原則

“所有的可規(guī)?;到y(tǒng),都必須自動進行絕大多數(shù)的操作。”

? “‘模式為先’(schema-first)的產(chǎn)品永遠(yuǎn)無法規(guī)?;?。唯一的選擇是采用‘模式為后’(schema-last)的產(chǎn)品?!?
? “需要進行具體的域操作時,只有協(xié)作性的系統(tǒng)才可實現(xiàn)規(guī)?;!?
? “為了實現(xiàn)可規(guī)模化,任何的統(tǒng)一計算必須在多個核心和多個處理器上運行。”
? “盡管存在第四條原則,但真正的可擴展應(yīng)用需要復(fù)雜性低于N ** 2的并行算法?!?
? “規(guī)則系統(tǒng)實現(xiàn)是無法規(guī)模化的。只有機器學(xué)習(xí)系統(tǒng)才能將規(guī)模擴展到大公司所需要的程度。”
? “必須支持實時增量統(tǒng)一?!?

數(shù)據(jù)統(tǒng)一可以說是數(shù)據(jù)分析領(lǐng)域的一個長期挑戰(zhàn)。雖然聯(lián)合式的方法獲得了一些青睞,但絕大部分的數(shù)據(jù)分析從業(yè)者希望在分析之前,所有數(shù)據(jù)都能在同一個地方呈現(xiàn)出來。這意味著,來自不同實體的數(shù)據(jù)必須統(tǒng)一起來,而問題就出在這個地方。

在新白皮書《可規(guī)?;瘮?shù)據(jù)統(tǒng)一的七原則》中,著名計算機科學(xué)家、Tamr聯(lián)合創(chuàng)始人兼首席技術(shù)官邁克爾·斯通布雷克(Michael Stonebraker)以其獨特和直白的方式,探討了上述挑戰(zhàn)。
說到斯通布雷克這個人,他同時也是圖靈獎得主、麻省理工學(xué)院教授,以及大數(shù)據(jù)分析公司Vertica(這家公司已經(jīng)被惠普收購)的創(chuàng)始人。在那份白皮書的開頭,他對數(shù)據(jù)統(tǒng)一進行了一番闡述。他說,數(shù)據(jù)統(tǒng)一由七步組成,包括獲取、清洗、轉(zhuǎn)換、模式集成、重復(fù)數(shù)據(jù)刪除、分類和導(dǎo)出(但不要把這七步和七條原則搞混了)。
一般來說,企業(yè)主要使用兩種方法來實現(xiàn)數(shù)據(jù)統(tǒng)一,包括提取轉(zhuǎn)換加載(ETL)和主數(shù)據(jù)管理(MDM)。
斯通布雷克說,這兩種方法各有利弊。
ETL非常靈活,適合不同的數(shù)據(jù)來源,使程序員可以手動編寫轉(zhuǎn)換程序,確保源數(shù)據(jù)的模式與集中式數(shù)據(jù)倉庫項目采用的全局模式匹配。斯通布雷克說,由于自動化程度低,沒有多少公司的ETL帶寬能超過20個數(shù)據(jù)源。
至于MDM,它與ETL類似的地方在于,也預(yù)設(shè)了一個“主記錄”,每一個專門類別(比如客戶、部件和供應(yīng)商)的所有文件都應(yīng)該符合主記錄的格式。但和ETL不同,MDM不是使用手動定制腳本,而是依靠一套“模糊合并”規(guī)則,把所有不同的文件轉(zhuǎn)換成主格式。
但斯通布雷克說,不管是ETL還是MDM,都無法解決所有的數(shù)據(jù)統(tǒng)一難題,尤其是在數(shù)據(jù)量很大的情況下。針對這些限制,他提出了數(shù)據(jù)統(tǒng)一的七條原則。
由于當(dāng)今大數(shù)據(jù)集的龐大規(guī)模及其對程序員的苛刻要求,任何的可規(guī)?;瘮?shù)據(jù)統(tǒng)一項目都必須在很大程度上實現(xiàn)自動化,不能依靠手動編寫的程序。這催生了斯通布雷克的第一條原則:
“所有的可規(guī)?;到y(tǒng),都必須自動進行絕大多數(shù)的操作?!?
當(dāng)今數(shù)據(jù)的多樣性也催生出一個問題。比如,諾華制藥公司(Novartis)想把1萬名從事“濕性實驗”工作的科學(xué)家的實驗記錄統(tǒng)一起來,但遇到了全局模式問題。總之,靈活的“模式讀取”(Schema-On-Read)方法是解決數(shù)據(jù)多樣性問題的唯一方法。這催生了斯通布雷克的第二條原則:
“‘模式為先’(schema-first)的產(chǎn)品永遠(yuǎn)無法規(guī)?;?。唯一的選擇是采用‘模式為后’(schema-last)的產(chǎn)品?!?
雖然自動化是數(shù)據(jù)統(tǒng)一的關(guān)鍵因素,但人類專家的地位是肯定取代不了的。就諾華的那個例子而言,只有科學(xué)家本人才能證實特定的一個數(shù)據(jù)(比如新化合物的名字)是否準(zhǔn)確,有沒有拼寫錯誤。這催生了第三條原則:
“需要進行具體的域操作時,只有協(xié)作性的系統(tǒng)才可實現(xiàn)規(guī)?;!?
對大規(guī)模數(shù)據(jù)統(tǒng)一來說,可擴展性必不可少。當(dāng)數(shù)據(jù)集超過1000萬個文件時,單個計算核心根本處理不了,更別說單個芯片或者單個電腦。這催生了第四條原則:
“為了實現(xiàn)可規(guī)?;魏蔚慕y(tǒng)一計算必須在多個核心和多個處理器上運行?!?
聚類算法是數(shù)據(jù)統(tǒng)一和數(shù)據(jù)清洗工具的核心。雖然這些算法是并行的,但如果太復(fù)雜的話,就會耗費太多時間。這催生了第五條原則:
“盡管存在第四條原則,但真正的可擴展應(yīng)用需要復(fù)雜性低于N ** 2的并行算法。”
很多MDM產(chǎn)品采用基于規(guī)則的方法來確定轉(zhuǎn)換。但考慮到當(dāng)今企業(yè)試圖統(tǒng)一的數(shù)據(jù)體量和多樣性,這些方法行不通。這催生了第六條原則:
“規(guī)則系統(tǒng)實現(xiàn)是無法規(guī)模化的。只有機器學(xué)習(xí)系統(tǒng)才能將規(guī)模擴展到大公司所需要的程度?!?
最后,數(shù)據(jù)統(tǒng)一系統(tǒng)必須適應(yīng)客戶的工作方式。從技術(shù)上來說,雖然理論上可以靠“蠻力”更新每一條變化的記錄,但如果數(shù)據(jù)太多、變動頻繁,就會造成混亂。這催生了第七條也是最后一條原則:
“必須支持實時增量統(tǒng)一?!?

  斯通布雷克說,ETL方法不符合第一、第二和第三條原則,而MDM方法不符合第一、第二和第六條原則。在大數(shù)據(jù)領(lǐng)域非常流行的自助式數(shù)據(jù)準(zhǔn)備方法“至少”不符合第一和第三條原則。他還說,目前所有產(chǎn)品(ETL、MDM和自助式數(shù)據(jù)準(zhǔn)備)可能都不符合第五和第七條原則。

數(shù)據(jù)分析咨詢請掃描二維碼

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

數(shù)據(jù)分析師資訊
更多

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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見: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); }