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

熱線電話:13121318867

登錄
首頁精彩閱讀應(yīng)對數(shù)據(jù)快速變化的難題
應(yīng)對數(shù)據(jù)快速變化的難題
2014-10-09
收藏
         當(dāng)我們開始深入調(diào)查分析一個企業(yè)的數(shù)據(jù)管理架構(gòu)時,這是一項不可避免的步驟。

以下是我的理由:過去應(yīng)用程序通常是用一個操作數(shù)據(jù)庫組建來編寫的。應(yīng)用程序開發(fā)人員很少擔(dān)心分析是如何進行的——過去,這由其他人負責(zé)。他們只編寫操作應(yīng)用程序。

       但是數(shù)據(jù)已經(jīng)變成了新型財富,而且應(yīng)用程序開發(fā)人員也已經(jīng)意識到如今應(yīng)用程序需要與快速數(shù)據(jù)流和分析進行交互充分利用可用數(shù)據(jù)。這就是高速數(shù)據(jù)的來 源以及為什么我說這是不可避免的。這些從EMC Digital Universe的報告和Mary Meeker在2013年的Internet Trends報告中都能體現(xiàn)出來。

       因此,如果你正在建立類似這些運行在數(shù)據(jù)流之上的數(shù)據(jù)驅(qū)動應(yīng)用程序,你會需要什么呢?在與人們協(xié)作建立這些應(yīng)用程序中,一般可以歸結(jié)出五項需求并使之正確。當(dāng)然,你可以給出一些,然后人們來做。但是還是要讓應(yīng)用程序需求來驅(qū)動決策,而非受制于你所選擇的數(shù)據(jù)管理技術(shù)。

Fast Data應(yīng)用程序的五項需求:


獲取數(shù)據(jù)與交互

       如今很多有價值的數(shù)據(jù)的運行速度正在加快,它們以更多的來源和更快的頻率進入。這些數(shù)據(jù)源通常是任何正在建立的數(shù)據(jù)管道的核心。但是,僅僅是調(diào)查這些數(shù)據(jù)是不夠的。記住,應(yīng)用程序面對的是數(shù)據(jù)流,而且在另一端的事物通常在尋找的是某些交互的形式。

比如:VoltDB正推動大量的智能電網(wǎng)應(yīng)用程序,包括一項在UK部署5300萬個儀表的計劃(接入UK電網(wǎng))。當(dāng)你擁有如此大量的儀表且每秒有多個傳感器讀數(shù)的時候,你就會面臨嚴(yán)峻的數(shù)據(jù)獲取挑戰(zhàn)。此外,每個讀數(shù)需要檢查確定傳感器的狀態(tài)以及是否需要交互。


對每個事件作出決策

       使用其他數(shù)據(jù)來決定如何回應(yīng)以上交互所描述的提升——它提供了你做決策所急需的語境。需要用一定數(shù)量的存儲數(shù)據(jù)來做出這些決策。如果一個事件的發(fā)生僅限于其表面意義,那你就會錯失事件發(fā)生的語境。要有能力來做出更好的決策,因為你對整個應(yīng)用程序可能了解的東西會是迷失的。

比如:當(dāng)我能夠?qū)⒁粋€儀表的讀數(shù)與其他十個連接相同變壓器的儀表讀數(shù)進行對比來確定變壓器問題,而不是僅僅是從一個位于家中的儀表進行判斷的時候,我們的傳感器讀數(shù)會變得信息更加豐富且有價值。

這里有另外一個例子可能會更為貼切。一位女士在商店購買香蕉。如果我們給出其他顧客在購買了香蕉的同時還購買了些什么的建議,這可能會是及時的建 議,但并不一定相關(guān);即,我們并不知道她購買香蕉是否是用來制作香蕉面包,或僅僅是作為水果。因此,如果我們是基于購買聚合數(shù)據(jù)給她提供的建議,那么這些 建議會是相關(guān)的,但是可能并不具備個性化。我們的建議需要語境才能具有相關(guān)性,他們需要及時且有用,并且還需要滿足顧客的個性需求。要滿足這三點——不加 權(quán)衡的做這些——我們需要在語境條件下在每個事件上加以行動,例如,存儲數(shù)據(jù)。獲取數(shù)據(jù)種子或是與其進行交互的能力意味著我們能夠準(zhǔn)確知道顧客想要什么, 在確切的時刻了解他/她的需求。


用實時分析為高速數(shù)據(jù)提供可視性

        可以給大家講一個故事。記得在2011年首屆JasperWorld會議上。講述如何利用VoltDB來查看高速數(shù)據(jù)的集合和儀表盤。觀眾問:“當(dāng)然,你讓數(shù)據(jù)移動的那么快,那么你打算怎樣做來搞清楚它呢?”

但是要能夠理解高速數(shù)據(jù)超出了一個人查看儀表盤的范圍。有一樣?xùn)|西讓高速數(shù)據(jù)應(yīng)用程序與老派的OLTP比起來顯得與眾不同,就是在決策流程中引入了 實時分析。通過在高速數(shù)據(jù)引擎內(nèi)運行這些分析,會給操作決策提供信息。在進行決策的時候,此功能不僅僅是將單一事件納入語境,它讓決策信息更加充分。在大 數(shù)據(jù)中,甚至在生活中,語境就是一切。

比如:繼續(xù)拿我們的智能儀表舉例,我聽說變壓器在故障前會顯示一個特定的趨勢。而且那種電子元器件類型的故障會非常明顯。因此,如果可能的話,我們 想在真的發(fā)生之前確認這些即將到來的故障。這就是實時分析注入決策流程的經(jīng)典案例。如果一個變壓器30分鐘的歷史數(shù)據(jù)顯示了這樣的趨勢,那么就關(guān)閉它并重 定電力。


將高速數(shù)據(jù)系統(tǒng)無縫集成到大數(shù)據(jù)存儲系統(tǒng)

        我們已經(jīng)明確地確信在涉及到21世紀(jì)的數(shù)據(jù)庫技術(shù)時,某一種方法并非萬靈丹。因此,當(dāng)某個快速操作數(shù)據(jù)庫正好適于用來勝任高速數(shù)據(jù)的工作,那么其他工具則最好是優(yōu)化用戶存儲和深入分析大數(shù)據(jù)處理。在這些系統(tǒng)間遷移數(shù)據(jù)是必要的需求。

       然而,這不僅僅是數(shù)據(jù)的遷移。除了純粹的數(shù)據(jù)遷移,還需要考慮大數(shù)據(jù)和高速數(shù)據(jù)的集成:

處理大系統(tǒng)導(dǎo)入能力和高速數(shù)據(jù)到達率之間的阻抗失配;

      系統(tǒng)間的可靠傳輸,包括持久性和緩沖,以及數(shù)據(jù)預(yù)處理,因此當(dāng)它到達數(shù)據(jù)湖就準(zhǔn)備好了被使用(集成,清洗,豐富)。

比如:來自于遍布整個國家的智能儀表的高速數(shù)據(jù)會迅速積累。這一歷史數(shù)據(jù)在展示季節(jié)性趨勢,還有諸如同比電網(wǎng)效率上有著明顯的價值。將這些數(shù)據(jù)遷移 至數(shù)據(jù)湖是至關(guān)重要的。但是,在數(shù)據(jù)到達數(shù)據(jù)湖之前會做有效性和安全性檢查并對數(shù)據(jù)進行清洗。越是將此更多的集成進數(shù)據(jù)管理產(chǎn)品,應(yīng)用程序所需要解決的問 題就會越少(“如果系統(tǒng)故障,我要如何保存數(shù)據(jù)?”“如果我的數(shù)據(jù)湖無法繼續(xù)獲取,我要從哪里溢出數(shù)據(jù)呢?”…)。


關(guān)閉數(shù)據(jù)循環(huán),從大數(shù)據(jù)系統(tǒng)為用戶和應(yīng)用程序快速提供分析結(jié)果和知識

       由BI報告生成并由數(shù)據(jù)專家分析的具有深刻洞察力的分析需要可操作化。這可以通過兩種方式來實現(xiàn):

       通過分析系統(tǒng)所能支持的更多的人或設(shè)備來讓BI報告更具消費性,采用從分析中獲得的情報并將其遷移進操作系統(tǒng)。


第一條很容易描述。報告系統(tǒng)(如數(shù)據(jù)倉庫Hadoop)在生成和計算報告方面做了不錯的工作。它們并不是設(shè)計用來在毫秒級延遲下提供這些報告給數(shù) 以千計的并發(fā)用戶的。要滿足此需求,很多客戶正在將這些分析結(jié)果遷移存儲至一個內(nèi)存操作組件,這樣就可以以高速數(shù)據(jù)的頻率和速度提供結(jié)果了。坦率的講,我 認為我們會在將來看到僅以此為目的的將這些分析存儲的內(nèi)存加速。


第二條則更為強大。我們從所有大數(shù)據(jù)處理中所獲得的知識應(yīng)該用于為決策提供信息。將這些知識遷移至可操作存儲便會有助于這些決策,由深入分析理解加以驅(qū)動,并為每個進入系統(tǒng)的事件可操作化。

比如:如果我們的系統(tǒng)到目前為止如所描述的工作,我們正在基于智能儀表和基于電網(wǎng)的讀數(shù)來進行可操作決策。我們正在使用來自當(dāng)前月的數(shù)據(jù)以訪問組件 趨勢,確定計費并提供電網(wǎng)管理。我們將數(shù)據(jù)導(dǎo)出至大數(shù)據(jù)系統(tǒng),在那里專家會探究季節(jié)性趨勢,并通過所收集的某些事件的數(shù)據(jù)來獲取信息。

我們說這些探索性分析已經(jīng)有所發(fā)現(xiàn),鑒于目前的電網(wǎng)規(guī)模,如果在夏末出現(xiàn)一個+10度的熱浪,電力就需要轉(zhuǎn)換或是從其他供應(yīng)商那里進行補充。這些知 識如今也可以用于我們的操作系統(tǒng),即如果我們遇到了+10度的熱浪,電網(wǎng)會根據(jù)當(dāng)前數(shù)據(jù)及歷史信息進行動態(tài)調(diào)整。我們已經(jīng)在電網(wǎng)內(nèi)部關(guān)閉了數(shù)據(jù)情報循環(huán)。


       最后,我已經(jīng)在實際部署中見到了這些需求。不,并不是每個客戶都希望馬上解決所有五個方面。但是通過我經(jīng)歷的幾乎每個談話過程,大多數(shù)觀點都包括在 最終需求文檔中。掩蓋這些需求是有風(fēng)險的;我要警告人們不要因為想當(dāng)然的認為“我只是現(xiàn)在必須擔(dān)心獲取”而在高速數(shù)據(jù)組件上做出戰(zhàn)術(shù)性的決策。這是一個確 定的五步路徑來反應(yīng)這一架構(gòu),并且可能要比實際情況要快得多。

數(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); }