在過(guò)去幾年中,企業(yè)已經(jīng)看到了大數(shù)據(jù)中隱藏著有價(jià)值的信息,這推動(dòng)著供應(yīng)商們積極地致力于開發(fā)技術(shù)(例如Hadoop、Map/Reduce、Dryad、Spark和Hbase)來(lái)有效地將大數(shù)據(jù)轉(zhuǎn)換成信息資產(chǎn)。而軟件定義網(wǎng)絡(luò)(SDN)的出現(xiàn)將能夠促進(jìn)這一過(guò)程。
構(gòu)成大數(shù)據(jù)的大部分?jǐn)?shù)據(jù)實(shí)際上是非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)可以通過(guò)傳統(tǒng)數(shù)據(jù)庫(kù)架構(gòu)來(lái)處理,非結(jié)構(gòu)化數(shù)據(jù)則很難應(yīng)對(duì)。舉例來(lái)說(shuō),視頻存儲(chǔ)。雖然視頻文件類型、文件大小和源IP地址都是結(jié)構(gòu)化地址,但視頻內(nèi)容卻是非結(jié)構(gòu)化的,沒有固定長(zhǎng)度的字段。現(xiàn)在,從大數(shù)據(jù)分析中獲取的大部分價(jià)值來(lái)自于對(duì)非結(jié)構(gòu)化數(shù)據(jù)的搜索和查詢能力,例如,通過(guò)使用面部視頻算法,從視頻中的成千上萬(wàn)個(gè)人中搜索出一個(gè)人。
為了實(shí)現(xiàn)這種搜索能力,我們需要能夠跨數(shù)千臺(tái)服務(wù)器集群(通過(guò)高速以太網(wǎng)連接)并行分析計(jì)算。從大數(shù)據(jù)挖掘出情報(bào)信息的過(guò)程基本上涉及三個(gè)步驟:1)將數(shù)據(jù)分到多個(gè)服務(wù)器節(jié)點(diǎn);2)并行分析每個(gè)數(shù)據(jù)塊;3)整合這些結(jié)果。
我們需要重復(fù)這些操作,直到完成對(duì)整個(gè)數(shù)據(jù)集的分析。
由于這些并行計(jì)算的拆分-合并的性質(zhì),大數(shù)據(jù)分析可能會(huì)給底層網(wǎng)絡(luò)帶來(lái)巨大的付丹。即使是世界上最大的服務(wù)器,數(shù)據(jù)處理速度只是和其網(wǎng)絡(luò)在服務(wù)器間傳輸數(shù)據(jù)的速度一樣。例如,對(duì)Facebook的研究發(fā)現(xiàn),在連續(xù)階段之間的數(shù)據(jù)傳輸占33%的總運(yùn)行時(shí)間,在很多情況下,通信階段占總運(yùn)行時(shí)間的50%以上。
通過(guò)解決這個(gè)瓶頸問(wèn)題,我們可以顯著加快大數(shù)據(jù)分析,其中有兩方面的含義:1)更好的集群利用率為管理基礎(chǔ)設(shè)施的云計(jì)算供應(yīng)商降低TCO;2)為租用基礎(chǔ)設(shè)施的客戶提供更快的作業(yè)完成時(shí)間以及實(shí)時(shí)分析結(jié)果。
我們需要的是一個(gè)智能網(wǎng)絡(luò),通過(guò)計(jì)算的每個(gè)階段,自適應(yīng)來(lái)調(diào)整拆分-合并階段中的數(shù)據(jù)傳輸要求,從而不僅提高了速度,而且提高了利用率。
SDN的作用
SDN就有可能為大數(shù)據(jù)分析構(gòu)建這個(gè)智能自適應(yīng)網(wǎng)絡(luò)。由于控制屏幕和數(shù)據(jù)屏幕的分離,SDN為軟件智能提供了良好定義的編程接口,用來(lái)編程網(wǎng)絡(luò)以滿足大數(shù)據(jù)的需求,這些網(wǎng)絡(luò)是高度可定制化的、可擴(kuò)展的和靈活的。
SDN可以按需配置網(wǎng)絡(luò),符合適當(dāng)?shù)囊?guī)模和形狀要求,要計(jì)算虛擬機(jī)可以彼此通信。這直接解決了大數(shù)據(jù)(大規(guī)模并行應(yīng)用程序)面臨的最大的挑戰(zhàn):較慢的處理速度。處理速度很慢,這是因?yàn)榇髷?shù)據(jù)應(yīng)用程序中的大多數(shù)計(jì)算虛擬機(jī)花了大量時(shí)間等待大量數(shù)據(jù)通過(guò)分散-聚集操作。通過(guò)SDN,網(wǎng)絡(luò)可以在分散-聚集操作期間,創(chuàng)建安全的路徑以及按需擴(kuò)展容量,從而顯著地減少了等待時(shí)間,加強(qiáng)了總體處理時(shí)間。
這種軟件智能基本上是了解應(yīng)用程序需要從網(wǎng)絡(luò)獲得什么,它可以為大數(shù)據(jù)應(yīng)用程序帶來(lái)極大的精確度和效率。原因主要有兩個(gè):1)良好定義的計(jì)算和通信模式,例如Hadoop的拆分-合并或者M(jìn)ap-Reduce范式;2)集中管理結(jié)構(gòu)讓我們可以利用應(yīng)用程序水平的信息,例如Hadoop Scheduler或者Hbase Master。
通過(guò)借助SDN控制器(對(duì)底層網(wǎng)絡(luò)有著全局視圖:網(wǎng)絡(luò)狀態(tài)、利用率等),這種軟件智能可以通過(guò)編程網(wǎng)絡(luò)準(zhǔn)確地解譯應(yīng)用程序需求。
SDN還提供了其他功能來(lái)協(xié)助大數(shù)據(jù)的管理、整合和分析。新的面向SDN的網(wǎng)絡(luò)協(xié)議包括OpenFlow和OpenStack,致力于讓網(wǎng)絡(luò)管理變得更加簡(jiǎn)單、更加靈活和高度自動(dòng)化。OpenStack減少了人力,來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)元素的設(shè)置和配置,而OpenFlow通過(guò)網(wǎng)絡(luò)自動(dòng)化來(lái)實(shí)現(xiàn)更大的靈活性,以支持?jǐn)?shù)據(jù)中心自動(dòng)化、BYOD、安全和應(yīng)用程序加速等。
另外,SDN在為大數(shù)據(jù)開發(fā)網(wǎng)絡(luò)基礎(chǔ)設(shè)施方面也發(fā)揮著關(guān)鍵作用,簡(jiǎn)化對(duì)數(shù)千交換機(jī)的管理,以及促進(jìn)供應(yīng)商之間互操作性,為加速網(wǎng)絡(luò)建設(shè)和應(yīng)用開發(fā)奠定基礎(chǔ)。OpenFlow能夠?qū)崿F(xiàn)這種互操作性,幫助企業(yè)避免專有解決方案的羈絆,致力于將大數(shù)據(jù)轉(zhuǎn)化為信息資本。
隨著大數(shù)據(jù)強(qiáng)大的影響力,以及大家逐漸意識(shí)到大數(shù)據(jù)的潛力,企業(yè)必須確保其網(wǎng)絡(luò)已經(jīng)擴(kuò)展為能夠適應(yīng)這些新興的需求,才能確保企業(yè)的長(zhǎng)期成功。很明顯,一個(gè)成功的解決方案將會(huì)利用兩個(gè)關(guān)鍵的要素:大數(shù)據(jù)應(yīng)用程序中的模式以及SDN提供的網(wǎng)絡(luò)可編程性。從這個(gè)角度來(lái)看,SDN無(wú)疑將發(fā)揮著重要的作用,來(lái)使網(wǎng)絡(luò)適應(yīng)更快更遠(yuǎn)的發(fā)展,推動(dòng)知識(shí)和創(chuàng)新的步伐。