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

熱線電話:13121318867

登錄
首頁精彩閱讀面對(duì)大數(shù)據(jù)應(yīng)用的六大注意事項(xiàng)_數(shù)據(jù)分析師培訓(xùn)
面對(duì)大數(shù)據(jù)應(yīng)用的六大注意事項(xiàng)_數(shù)據(jù)分析師培訓(xùn)
2015-03-08
收藏

面對(duì)大數(shù)據(jù)應(yīng)用的六大注意事項(xiàng)_數(shù)據(jù)分析師培訓(xùn)


我們都知道,現(xiàn)在談?wù)摰?a target="_blank">大數(shù)據(jù),其最顯著的特征之一就是“大”,這簡單一個(gè)“大”字,就使得企業(yè)在面對(duì)大數(shù)據(jù)的時(shí)候開始不得不采用分布式的計(jì)算方式,還有一系列化繁為簡的計(jì)算方法。
  在處理大規(guī)模信息的時(shí)候,大數(shù)據(jù)的很多應(yīng)用程序出于對(duì)于彈性應(yīng)用的考慮,需要將數(shù)據(jù)復(fù)制到很多個(gè)不同的位置當(dāng)中,從而信息量開始變得越來越大,甚至是呈指數(shù)倍的增長。
  大數(shù)據(jù)的最重要屬性并不在于它的規(guī)模,而在于它將大作業(yè)分割成許多小作業(yè)的能力,它能夠?qū)⑻幚硪粋€(gè)任務(wù)的資源分散到多個(gè)位置變?yōu)椴⑿刑幚?。?dāng)我們面對(duì)大數(shù)據(jù)應(yīng)用以及分布式架構(gòu)應(yīng)用的時(shí)候,需要注意哪些問題呢?
  一、大數(shù)據(jù)應(yīng)用程序在彈性網(wǎng)絡(luò)當(dāng)中的作用
  我們知道,如果一組分布式計(jì)算資源需要通過互聯(lián)網(wǎng)進(jìn)行串通和協(xié)調(diào)時(shí),其應(yīng)用的可用性就變得非常重要了,一旦其中的網(wǎng)絡(luò)通訊環(huán)節(jié)出現(xiàn)問題,那么對(duì)于數(shù)據(jù)計(jì)算結(jié)果將會(huì)導(dǎo)致難以想象的災(zāi)難。
  其實(shí)對(duì)于現(xiàn)在的很多大數(shù)據(jù)應(yīng)用來說,大部分的網(wǎng)絡(luò)架構(gòu)安全性和穩(wěn)定性還是很高的,當(dāng)然,網(wǎng)絡(luò)和數(shù)據(jù)資源當(dāng)中的故障是不可避免的,雖然網(wǎng)絡(luò)的高度可用性也很重要,但是想要設(shè)計(jì)完美可用性是不可能的。
  對(duì)于企業(yè)的架構(gòu)師們來說,彈性網(wǎng)絡(luò)的解決方案是非常有效的解決方式之一,網(wǎng)絡(luò)的彈性取決于路徑多樣性和故障轉(zhuǎn)移兩大類。除了傳統(tǒng)的平均故障時(shí)間間隔方法,大數(shù)據(jù)網(wǎng)絡(luò)的真正設(shè)計(jì)標(biāo)準(zhǔn)一定要包含這些特性。
  二、大數(shù)據(jù)的“擁堵”問題
  眾所周知,之所以稱之為大數(shù)據(jù)技術(shù),數(shù)據(jù)量的龐大是一定的,然而,對(duì)于大數(shù)據(jù)應(yīng)用程序來說,不僅僅是規(guī)模大,對(duì)于數(shù)據(jù)的突發(fā)情況也是讓現(xiàn)在很多企業(yè)很頭疼的。
  在高流量時(shí)間段里,擁塞是一個(gè)嚴(yán)重的問題。然而,擁塞可能引起更多的隊(duì)列延遲時(shí)間和丟包率。此外,擁塞還可能觸發(fā)重轉(zhuǎn),這可能讓本身負(fù)載繁重的網(wǎng)絡(luò)無法承受。
  網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)時(shí)應(yīng)該盡可能減少擁塞點(diǎn)。按照可用性的設(shè)計(jì)標(biāo)準(zhǔn),減少擁塞要求網(wǎng)絡(luò)具有較高的路徑多樣性,這樣才能允許網(wǎng)絡(luò)將流量分散到大量不同的路徑上。
  三、網(wǎng)絡(luò)一致性比延遲更重要?
  這是一位業(yè)內(nèi)資深專家的看法,他指出,對(duì)于大部分大數(shù)據(jù)的應(yīng)用程序來說,網(wǎng)絡(luò)延遲其實(shí)并不算什么大事,如果計(jì)算時(shí)間的數(shù)量級(jí)為幾秒鐘或幾分鐘,那么即使網(wǎng)絡(luò)上出現(xiàn)較大延遲也是無所謂的。
  但是,大數(shù)據(jù)應(yīng)用一般都需要有較高的數(shù)據(jù)同步性,這種特性對(duì)于大數(shù)據(jù)服務(wù)的體驗(yàn)來說是非常重要的,因?yàn)樗馕吨鳂I(yè)是并行執(zhí)行的,而各個(gè)作業(yè)之間較大的性能差異可能會(huì)引發(fā)應(yīng)用程序的故障。
  四、未雨綢繆,數(shù)據(jù)未來的伸縮性
  我們先來看一組數(shù)字,許多人都知道雅虎在其大數(shù)據(jù)環(huán)境中運(yùn)行著超過42000個(gè)節(jié)點(diǎn),但是根據(jù)Hadoop Wizard的數(shù)據(jù),2013年大數(shù)據(jù)集群的平均節(jié)點(diǎn)數(shù)量只有100個(gè)。
  也就是說,其中的每一臺(tái)服務(wù)器即使配置了雙重冗余的話,那么支持整個(gè)集群也只需要4個(gè)接入交換機(jī),可伸縮性并不在于現(xiàn)在集群現(xiàn)在有多大規(guī)模,而是說如何平衡地?cái)U(kuò)展支持未來的部署規(guī)模。
  如果基礎(chǔ)架構(gòu)設(shè)計(jì)現(xiàn)在只適合小規(guī)模部署,那么這個(gè)架構(gòu)將如何隨著節(jié)點(diǎn)數(shù)量的增加而不斷進(jìn)化,可伸縮性并不在于絕對(duì)規(guī)模,而是更關(guān)注于實(shí)現(xiàn)足夠規(guī)模解決方案的路徑。
  五、通過網(wǎng)絡(luò)分割處理數(shù)據(jù)
  網(wǎng)絡(luò)分割技術(shù)是構(gòu)成大數(shù)據(jù)環(huán)境的重要組成部分,簡單來說,網(wǎng)絡(luò)分割技術(shù)可能意味著用戶需要將大量的數(shù)據(jù)和網(wǎng)絡(luò)流量進(jìn)行分離,這樣做的好處就是可以避免因?yàn)橥话l(fā)而產(chǎn)生的流量影響一些關(guān)鍵業(yè)務(wù)的正常運(yùn)行。
  此外,用戶還需要處理運(yùn)行多個(gè)作業(yè)的多個(gè)租戶,以滿足性能、合規(guī)性或?qū)徲?jì)的要求。[CDA數(shù)據(jù)分析師培訓(xùn)的]這些工作要求在一些場合中實(shí)現(xiàn)網(wǎng)絡(luò)負(fù)載的邏輯分離,一些場合則還要實(shí)現(xiàn)它們的物理分離。
  六、一切都離不開應(yīng)用感知能力
  大數(shù)據(jù)現(xiàn)在已經(jīng)成為了集群環(huán)境的標(biāo)志性詞語之一,通過不同應(yīng)用的不同需求,很多數(shù)據(jù)對(duì)于應(yīng)用的敏感性方面要求開始不斷提升,說白了就是一個(gè)網(wǎng)絡(luò)要支持多應(yīng)用程序和多租戶,它就必須要能夠區(qū)分自己的工作負(fù)載,并且要能夠正確處理各個(gè)工作負(fù)載,這點(diǎn)其實(shí)是很困難的。
  應(yīng)用程序的良好體驗(yàn)是由多方面因素組成的,網(wǎng)絡(luò)阻塞情況、網(wǎng)絡(luò)可擴(kuò)展性、大數(shù)據(jù)應(yīng)用技巧等等很多方面,用戶對(duì)于這些應(yīng)用和技巧的需求和前瞻選擇也是提升大數(shù)據(jù)體驗(yàn)的重要指標(biāo)之一。

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

若不方便掃碼,搜微信號(hào):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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) 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){ //倒計(jì)時(shí)完成 $(".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); }