
大數(shù)據(jù)計(jì)算是實(shí)現(xiàn)大數(shù)據(jù)“巨大價(jià)值”的必要手段,而計(jì)算系統(tǒng)是大數(shù)據(jù)計(jì)算的有效載體。試著從系統(tǒng)角度審視大數(shù)據(jù)計(jì)算,透過大數(shù)據(jù)的體量巨大、速度極快、模態(tài)多樣、真?zhèn)坞y辨等宏觀特征,針對批量計(jì)算、流式計(jì)算、大圖計(jì)算等計(jì)算形式,分別探討大數(shù)據(jù)計(jì)算的典型特征,論述了這些特征給大數(shù)據(jù)計(jì)算系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)帶來的技術(shù)挑戰(zhàn),進(jìn)而梳理了為了應(yīng)對這些挑戰(zhàn)所取得的研究成果,最后從系統(tǒng)角度指出未來大數(shù)據(jù)計(jì)算可能的一些研究方向。
1 引言
大數(shù)據(jù)已成為當(dāng)前社會各界關(guān)注的焦點(diǎn)[1~4]。從一般意義上講,大數(shù)據(jù)是指在可容忍的時間內(nèi),無法用現(xiàn)有信息技術(shù)和軟硬件工具對其進(jìn)行感知、獲取、管理、處理和服務(wù)的數(shù)據(jù)集合。大數(shù)據(jù)呈現(xiàn)出多種鮮明特征[3~8],在數(shù)據(jù)量方面,體量巨大,當(dāng)前全球所擁有的數(shù)據(jù)總量已經(jīng)遠(yuǎn)遠(yuǎn)超過歷史上的任何時期,更為重要的是,數(shù)據(jù)量的增加速度呈現(xiàn)出倍增趨勢;在數(shù)據(jù)速率方面,速度極快,數(shù)據(jù)產(chǎn)生、傳播的速度更快,在不同時空中流轉(zhuǎn),呈現(xiàn)出鮮明的流式特征,更為重要的是,數(shù)據(jù)價(jià)值的有效時間急劇減少,也要求越來越高的數(shù)據(jù)計(jì)算和使用能力;在數(shù)據(jù)復(fù)雜性方面,模態(tài)多樣,種類繁多,在編碼方式、存儲格式、應(yīng)用特征等多個方面也存在多層次、多方面的差異性,結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)并存;在數(shù)據(jù)價(jià)值方面,價(jià)值稀疏,真?zhèn)坞y辨,但價(jià)值總量巨大,隨著數(shù)據(jù)規(guī)模的不斷增大,隱含于大數(shù)據(jù)中的知識也隨之增多,但這些知識隱含程度很深,對發(fā)現(xiàn)這些知識的方式、方法提出了更高的要求。此外,大數(shù)據(jù)還呈現(xiàn)出個性化、不完備化、交叉復(fù)用等諸多鮮明特征。
大數(shù)據(jù)蘊(yùn)含大信息,大信息提煉大知識,大知識將在更高的層面、更廣的視角、更大的范圍幫助用戶提高洞察力、提升決策力,將為人類社會創(chuàng)造前所未有的大價(jià)值。但與此同時,這些總量極大的價(jià)值往往隱藏在大數(shù)據(jù)中,表現(xiàn)出價(jià)值密度極低、分布極其不規(guī)律、信息隱藏程度極深、真?zhèn)涡畔⒔豢椈旌习l(fā)現(xiàn)有用價(jià)值極其困難的鮮明特性,這些特征必然為大數(shù)據(jù)的計(jì)算帶來前所未有的挑戰(zhàn)和機(jī)遇。
大數(shù)據(jù)計(jì)算是發(fā)現(xiàn)信息、挖掘知識、滿足應(yīng)用的必要途徑,也是大數(shù)據(jù)從收集、傳輸、存儲、計(jì)算到應(yīng)用等整個生命周期中最關(guān)鍵、最核心的環(huán)節(jié),只有有效的大數(shù)據(jù)計(jì)算,才能滿足大數(shù)據(jù)的上層應(yīng)用需要,才能挖掘出大數(shù)據(jù)的內(nèi)在價(jià)值,才能使大數(shù)據(jù)具有意義。大數(shù)據(jù)計(jì)算系統(tǒng)是實(shí)現(xiàn)大數(shù)據(jù)科學(xué)計(jì)算的基礎(chǔ)平臺。對于規(guī)模巨大、價(jià)值稀疏、結(jié)構(gòu)復(fù)雜、時效性強(qiáng)的大數(shù)據(jù),其計(jì)算亦面臨不同于傳統(tǒng)數(shù)據(jù)計(jì)算的諸多新挑戰(zhàn),如計(jì)算復(fù)雜度高、任務(wù)周期長、數(shù)據(jù)實(shí)時性強(qiáng)、計(jì)算通用性差等。大數(shù)據(jù)及其計(jì)算的這些挑戰(zhàn)對大數(shù)據(jù)計(jì)算系統(tǒng)的系統(tǒng)架構(gòu)、計(jì)算框架、處理方法等提出了新的挑戰(zhàn)。同時,大數(shù)據(jù)時代出現(xiàn)了很多新的應(yīng)用需求,如面向社交媒體的大圖關(guān)系分析與發(fā)現(xiàn),需要結(jié)合具體的應(yīng)用場景,開展針對性的關(guān)于計(jì)算模式的研究。
為了滿足和適應(yīng)大數(shù)據(jù)計(jì)算的需要,隨著大數(shù)據(jù)及相關(guān)技術(shù)的全面和深入發(fā)展,大數(shù)據(jù)計(jì)算模式也呈現(xiàn)出多樣化、專業(yè)化特征,以滿足不同領(lǐng)域大數(shù)據(jù)應(yīng)用范式的要求。本文首先針對大數(shù)據(jù)計(jì)算的3種代表性模式進(jìn)行了深入的分析,主要包括大數(shù)據(jù)批量計(jì)算、流式計(jì)算和交互計(jì)算,對其中各計(jì)算模式的基本概念、典型特征和技術(shù)挑戰(zhàn)進(jìn)行了系統(tǒng)的歸納和分類。其次,分別針對這3種計(jì)算模式中當(dāng)前具有廣泛代表性的系統(tǒng)進(jìn)行了具體實(shí)例分析。再次,從系統(tǒng)的角度,對3種計(jì)算模式的未來研究方向和重點(diǎn)進(jìn)行了初步分析。最后,對全文進(jìn)行了總結(jié)。
2 大數(shù)據(jù)計(jì)算模式
大數(shù)據(jù)計(jì)算模式主要包括批量計(jì)算、流式計(jì)算、交互計(jì)算3種。其中,交互計(jì)算需要在計(jì)算過程中與用戶進(jìn)行互動,才能進(jìn)行后續(xù)的計(jì)算動作,可以把交互計(jì)算看作批量計(jì)算的一種特殊形式。本文不再對交互計(jì)算進(jìn)行深入分析。大圖計(jì)算本屬于批量計(jì)算范疇,但隨著互聯(lián)網(wǎng)應(yīng)用的發(fā)展,其重要性日益凸顯,并且因其各個節(jié)點(diǎn)的關(guān)聯(lián)緊密性而具有不同于其他普通批量計(jì)算的顯著特征。本文對大圖計(jì)算進(jìn)行單獨(dú)討論。
2.1 批量計(jì)算的特征及挑戰(zhàn)
大數(shù)據(jù)批量計(jì)算[9~13](big databatch computing)是大數(shù)據(jù)計(jì)算的一種主要計(jì)算模式,當(dāng)前階段,大多數(shù)應(yīng)用場景均通過批量計(jì)算模式實(shí)現(xiàn)。同時,批量計(jì)算也可以同其他計(jì)算模式進(jìn)一步結(jié)合起來,以完成對數(shù)據(jù)的進(jìn)一步處理。在大數(shù)據(jù)批量計(jì)算環(huán)境中,其計(jì)算架構(gòu)如圖1所示。數(shù)據(jù)通過多個數(shù)據(jù)源進(jìn)行收集,按照與應(yīng)用場景所需要的方式進(jìn)行組織,在各種外存存儲介質(zhì)(如硬盤、磁帶等)上靜態(tài)地存儲起來。當(dāng)需要進(jìn)行數(shù)據(jù)計(jì)算時,開啟數(shù)據(jù)的計(jì)算過程,進(jìn)行數(shù)據(jù)的集中處理,數(shù)據(jù)被處理完后,計(jì)算過程也隨之結(jié)束。在數(shù)據(jù)的計(jì)算過程中,數(shù)據(jù)的計(jì)算順序、計(jì)算速度等各種因素可以有效控制,也可以有選擇地、重復(fù)地進(jìn)行部分?jǐn)?shù)據(jù)的重計(jì)算。數(shù)據(jù)的計(jì)算結(jié)果是確定、準(zhǔn)確、全面、可重現(xiàn)的,但數(shù)據(jù)的計(jì)算時延往往較長,往往在數(shù)分鐘到數(shù)小時之間??梢姡瑢τ谙却鎯笥?jì)算的實(shí)時性要求不高,同時,對于數(shù)據(jù)的準(zhǔn)確性、全面性更為重要的應(yīng)用場景,批量計(jì)算模式更加適合。
大數(shù)據(jù)批量計(jì)算場景通常呈現(xiàn)出以下典型特征及挑戰(zhàn)。
數(shù)據(jù)體量巨大,數(shù)據(jù)量從TB級別躍升到PB級別,甚至更高。數(shù)據(jù)往往以靜態(tài)的形式在硬盤等外部存儲介質(zhì)上永久存儲,一次寫入,很少再進(jìn)行更新,存儲時間長,可以重復(fù)多次利用,但很難對其進(jìn)行移動和備份。面向如此體量的數(shù)據(jù),需要在數(shù)據(jù)的組織方式、計(jì)算形式等方面根據(jù)具體的應(yīng)用場景,構(gòu)建一個高效、分布式的大數(shù)據(jù)計(jì)算系統(tǒng),以滿足對相關(guān)數(shù)據(jù)的并行、分布式處理要求。
數(shù)據(jù)精確度高,批量數(shù)據(jù)通常是從應(yīng)用中沉淀下來的,對于了解上次應(yīng)用的各種內(nèi)在關(guān)系、潛在邏輯以及預(yù)測未來發(fā)展都很關(guān)鍵。需要對其中所有數(shù)據(jù)進(jìn)行全量式的計(jì)算,數(shù)據(jù)處理結(jié)果的精度要求較高。為了滿足如此高的數(shù)據(jù)精度,需要在數(shù)據(jù)處理效率和數(shù)據(jù)處理結(jié)果精度等方面進(jìn)行權(quán)衡,在數(shù)據(jù)的單次處理和再現(xiàn)方面進(jìn)行權(quán)衡。
數(shù)據(jù)價(jià)值稀疏,在數(shù)據(jù)的收集過程中,往往需要盡可能全面、密集地進(jìn)行數(shù)據(jù)收集,避免任何有價(jià)值數(shù)據(jù)的遺失。隨著數(shù)據(jù)收集工具和方法的不斷進(jìn)步,數(shù)據(jù)收集面和收集頻率的不斷增廣和增加,數(shù)據(jù)價(jià)值的稀疏程度也急劇增強(qiáng)。因此,需要通過合理的計(jì)算架構(gòu)和高效的數(shù)據(jù)處理算法才能從大量的數(shù)據(jù)中抽取少數(shù)有用的價(jià)值。此外,批量數(shù)據(jù)處理往往比較耗時,而且不提供用戶與系統(tǒng)的交互手段,當(dāng)發(fā)現(xiàn)處理結(jié)果和預(yù)期結(jié)果有很大差別時,會浪費(fèi)很多時間。因此,批量數(shù)據(jù)處理適合大型的相對比較成熟的應(yīng)用場景。數(shù)據(jù)價(jià)值稀疏性特征使得在大數(shù)據(jù)計(jì)算系統(tǒng)中,需要構(gòu)建一個高效、精準(zhǔn)、面向特定應(yīng)用和領(lǐng)域的數(shù)據(jù)處理模式,在極其稀疏甚至稀疏程度不斷增加的應(yīng)用場景下,能快速發(fā)現(xiàn)并挖掘出其中所存在的數(shù)據(jù)價(jià)值。
2.2 流式計(jì)算的特征及挑戰(zhàn)
大數(shù)據(jù)流式計(jì)算[14~18](big datastream computing)是大數(shù)據(jù)計(jì)算的另一種重要計(jì)算模式,特別是在數(shù)據(jù)時效性、實(shí)時性需要不斷增加的應(yīng)用場景不斷增多的情況下,其重要性日益凸顯。在大數(shù)據(jù)流式計(jì)算環(huán)境中,其計(jì)算架構(gòu)如圖2所示。數(shù)據(jù)以數(shù)據(jù)流的形式,通過多個不同的數(shù)據(jù)源實(shí)時到達(dá)大數(shù)據(jù)流式計(jì)算平臺,然后,利用數(shù)據(jù)流圖所描述的處理過程被在線處理,并實(shí)時產(chǎn)生結(jié)果,滿足相關(guān)上層應(yīng)用系統(tǒng)的需要。整個數(shù)據(jù)的處理過程往往在毫秒級的時間范圍內(nèi)完成,原始數(shù)據(jù)、中間狀態(tài)、處理結(jié)果等數(shù)據(jù)根據(jù)具體應(yīng)用場景的需要,不全部保存,只是選擇性地存儲。描述用戶特定應(yīng)用的數(shù)據(jù)流圖一旦提交到系統(tǒng)中,將會永遠(yuǎn)在線運(yùn)行,實(shí)時對輸入的數(shù)據(jù)流進(jìn)行處理,除非整個處理平臺意外中斷或顯示終止。由于整個數(shù)據(jù)流的處理時間極短,判讀的依據(jù)也往往集中在當(dāng)前時間點(diǎn)附近(時間窗口)的數(shù)據(jù),加上數(shù)據(jù)流中各數(shù)據(jù)項(xiàng)的不斷變化,留給大數(shù)據(jù)流式計(jì)算平臺進(jìn)行調(diào)整和應(yīng)對的時間也很少,因此,流式數(shù)據(jù)處理的結(jié)果往往不夠精確、不夠全面,只能給出一個實(shí)時性很強(qiáng)的、相對準(zhǔn)確的、基于當(dāng)前局部數(shù)據(jù)判斷的結(jié)果??梢姡瑢τ跓o需先存儲、可以直接進(jìn)行數(shù)據(jù)計(jì)算、實(shí)時性要求很嚴(yán)格但數(shù)據(jù)的精確度往往不太重要的應(yīng)用場景,流式計(jì)算具有明顯優(yōu)勢。
大數(shù)據(jù)流式計(jì)算場景通常呈現(xiàn)出以下典型特征及挑戰(zhàn)。
大數(shù)據(jù)流式環(huán)境中的數(shù)據(jù)計(jì)算在系統(tǒng)的可伸縮性、系統(tǒng)容錯、狀態(tài)一致性等方面均面臨著前所未有的新的挑戰(zhàn)。在系統(tǒng)的可伸縮性上,一方面,需要大數(shù)據(jù)流式系統(tǒng)具有很好的“可伸”特征,可以實(shí)時適應(yīng)數(shù)據(jù)增長的需求,實(shí)現(xiàn)對系統(tǒng)資源的動態(tài)調(diào)整和快速部署;另一方面,當(dāng)流式數(shù)據(jù)的產(chǎn)生速率持續(xù)減少時,需要及時回收在高峰時期所分配的目前已處于閑置或低效利用的資源,實(shí)現(xiàn)整個系統(tǒng)“可縮”的友好特征。在系統(tǒng)容錯上,一方面,數(shù)據(jù)流實(shí)時、持續(xù)地到來,呈現(xiàn)出同時間相識的一維特征,一旦數(shù)據(jù)流流過,再次重放數(shù)據(jù)流的成本很大,甚至是不現(xiàn)實(shí)的;另一方面,在流式大數(shù)據(jù)的計(jì)算過程中,大部分“無用”的數(shù)據(jù)將被直接丟棄,所被永久保存下來的數(shù)據(jù)量是極少的,當(dāng)需要進(jìn)行系統(tǒng)容錯時,其中不可避免地會出現(xiàn)一個時間段內(nèi)數(shù)據(jù)的不完整;再則,需要針對不同類型的應(yīng)用,從系統(tǒng)層面上設(shè)計(jì)符合其應(yīng)用特征的數(shù)據(jù)容錯級別和容錯策略。在各節(jié)點(diǎn)間狀態(tài)的一致性上,一方面,如何從高速、海量的數(shù)據(jù)流中識別并維護(hù)一致性狀態(tài)的數(shù)據(jù)是一個巨大的挑戰(zhàn);另一方面,在大規(guī)模分布式環(huán)境中,如何組織和管理實(shí)現(xiàn)系統(tǒng)狀態(tài)一致性的相關(guān)數(shù)據(jù),滿足系統(tǒng)對數(shù)據(jù)的高效組織和精準(zhǔn)管理的要求也是一個巨大的挑戰(zhàn)。
2.3 大圖計(jì)算的特征及挑戰(zhàn)
大數(shù)據(jù)圖計(jì)算[19~21](big datagraph computing)是大數(shù)據(jù)計(jì)算的一種計(jì)算模式,隨著社交媒體、移動互聯(lián)網(wǎng)的不斷發(fā)展,在大數(shù)據(jù)計(jì)算中的重要性日益凸顯。大數(shù)據(jù)圖計(jì)算主要用來分析數(shù)據(jù)節(jié)點(diǎn)之間的關(guān)系和相似度,該計(jì)算范式已經(jīng)廣泛應(yīng)用于用戶分析、欺詐檢測、社交媒體、移動互聯(lián)網(wǎng)、生命科學(xué)等諸多領(lǐng)域,其巨大的商業(yè)價(jià)值已經(jīng)凸顯。
大數(shù)據(jù)圖計(jì)算中的大圖數(shù)據(jù)往往以圖中的節(jié)點(diǎn)以及連接節(jié)點(diǎn)的邊呈現(xiàn),其中節(jié)點(diǎn)數(shù)目往往是數(shù)以萬計(jì)的,邊的數(shù)量更大,通常具有如下3個特征。
(1)節(jié)點(diǎn)之間的關(guān)聯(lián)性
大圖中各節(jié)點(diǎn)之間的關(guān)系是通過邊來展現(xiàn)的。通常情況下,大圖中邊的數(shù)量是節(jié)點(diǎn)數(shù)量的指數(shù)倍。因此,節(jié)點(diǎn)和關(guān)系信息同等重要,圖結(jié)構(gòu)的差異也是由于對邊做了限制,在圖中,頂點(diǎn)和邊實(shí)例化構(gòu)成各種類型的圖,如標(biāo)簽圖、屬性圖、語義圖以及特征圖等。如何針對節(jié)點(diǎn)和邊的不同作用和特征,進(jìn)行節(jié)點(diǎn)和邊的存儲方式、組織模式以及計(jì)算途徑等挑戰(zhàn)的研究,結(jié)合具體應(yīng)用,提供一種高效的存儲方式、可擴(kuò)展的組織模式以及有效的計(jì)算途徑,滿足具體應(yīng)用場景的需要,是研究的關(guān)鍵點(diǎn)。
(2)圖計(jì)算的數(shù)據(jù)耦合性強(qiáng)
在大圖中,數(shù)據(jù)之間是相互關(guān)聯(lián)的,對圖數(shù)據(jù)的計(jì)算也是相互關(guān)聯(lián)的。這種數(shù)據(jù)耦合的特性對圖的規(guī)模日益增大達(dá)到上百萬甚至上億節(jié)點(diǎn)的大圖數(shù)據(jù)計(jì)算提出了巨大的挑戰(zhàn)。大圖數(shù)據(jù)是無法使用單臺機(jī)器進(jìn)行處理的,但如果對大圖數(shù)據(jù)進(jìn)行并行處理,對于每一個頂點(diǎn)之間都是連通的圖來講,難以分割成若干完全獨(dú)立的子圖進(jìn)行獨(dú)立的并行處理。即使可以分割,也會面臨并行機(jī)器的協(xié)同處理以及將最后的處理結(jié)果進(jìn)行合并等一系列問題。這需要圖數(shù)據(jù)處理系統(tǒng)選取合適的圖分割以及圖計(jì)算模型來迎接挑戰(zhàn)并解決問題。
在大數(shù)據(jù)時代,大圖的分割是大數(shù)據(jù)圖計(jì)算最為突出的問題。由于對整個圖的訪問是隨機(jī)進(jìn)行的,在圖劃分時需要考慮3個方面:通信代價(jià),訪問跨機(jī)器的各邊通信量;負(fù)載均衡,讓每一臺機(jī)器的問題規(guī)模基本接近;存儲冗余,為了減少通信量,需要在機(jī)器上復(fù)制其他機(jī)器的存儲信息(存在數(shù)據(jù)一致性問題)。通過考慮存儲的冗余度,使綜合開銷達(dá)到最優(yōu)。
此外,大數(shù)據(jù)圖計(jì)算還存在以下問題:圖數(shù)據(jù)的局部性差,由于節(jié)點(diǎn)眾多,兩個相連接的點(diǎn)(連接的點(diǎn)對也是隨機(jī)的、無法預(yù)知的)可能存儲的位置相隔很遠(yuǎn),即不在同一個存儲塊,這使得系統(tǒng)需要隨機(jī)訪問這些節(jié)點(diǎn)及邊,而訪問磁盤的效率又極低,從而嚴(yán)重影響了計(jì)算效率;數(shù)據(jù)及圖結(jié)構(gòu)驅(qū)動,不同的圖形結(jié)構(gòu)會使用不同的計(jì)算方法,需要設(shè)計(jì)一個通用的方法;存儲和效率,大圖處理的規(guī)模(點(diǎn)的數(shù)量)基本上是10億量級,依靠單臺PC進(jìn)行存儲似乎不太可能,所以大多數(shù)圖計(jì)算系統(tǒng)是分布式系統(tǒng)。由于這種系統(tǒng)是把存儲容量和計(jì)算分?jǐn)偨o每一個機(jī)器,因此需要考慮如何劃分才能使各機(jī)器負(fù)載均衡以及如何減少各個劃分之間通信等問題。
3 典型計(jì)算系統(tǒng)
3.1 批量大數(shù)據(jù)計(jì)算系統(tǒng)
當(dāng)前典型的大數(shù)據(jù)批量計(jì)算的應(yīng)用系統(tǒng)有Hadoop[11]、Spark[13]。在Hadoop系統(tǒng)中,其體系結(jié)構(gòu)如圖3所示,由名字節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)、客戶端節(jié)點(diǎn)組成。其中,名字節(jié)點(diǎn)負(fù)責(zé)管理文件系統(tǒng)的命名空間、集群配置以及數(shù)據(jù)塊的備份、容錯等內(nèi)容;數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)管理數(shù)據(jù)的存儲位置、副本數(shù)目等內(nèi)容,并以數(shù)據(jù)塊的形式存儲原始數(shù)據(jù)與校驗(yàn)信息;客戶端節(jié)點(diǎn)通過與名字節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)進(jìn)行通信,訪問HDFS,實(shí)現(xiàn)文件操作。數(shù)據(jù)通過HDFS的方式進(jìn)行組織,可以將各類數(shù)據(jù)存儲在各種外部存儲介質(zhì)上,并通過MapReduce模式將計(jì)算邏輯分配到各數(shù)據(jù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)計(jì)算和知識發(fā)現(xiàn)。
在Spark系統(tǒng)中,數(shù)據(jù)被轉(zhuǎn)換成彈性分布式數(shù)據(jù)集(resilientdistributed dataset,RDD),并以RDD為單位實(shí)現(xiàn)有效的數(shù)據(jù)處理。每個RDD都是一個不可變的分布式可重算的數(shù)據(jù)集,其記錄著確定性的操作繼承關(guān)系。如圖4所示,每一個橢圓形表示一個RDD,橢圓形中的每個圓形代表一個RDD中的一個分區(qū)。通過對RDD的操作繼承關(guān)系進(jìn)行跟蹤,當(dāng)任意一個RDD的分區(qū)出錯或不可用時,只要輸入數(shù)據(jù)可重現(xiàn),就可以利用原始輸入數(shù)據(jù)通過轉(zhuǎn)換操作而重新算出,實(shí)現(xiàn)系統(tǒng)的容錯。
同時,Spark系統(tǒng)也可以在一定程度上支持大數(shù)據(jù)流式計(jì)算和交互計(jì)算的應(yīng)用范式。
3.2 流式大數(shù)據(jù)計(jì)算系統(tǒng)
早期流式計(jì)算的研究往往集中在數(shù)據(jù)庫環(huán)境中開展數(shù)據(jù)計(jì)算的流式化,數(shù)據(jù)規(guī)模較小,數(shù)據(jù)對象比較單一。大數(shù)據(jù)環(huán)境中的流式數(shù)據(jù)在實(shí)時性、易失性、突發(fā)性、無序性、無限性等方面提出了更高要求,現(xiàn)階段關(guān)于大數(shù)據(jù)流式計(jì)算的研究則更多地從系統(tǒng)架構(gòu)、數(shù)據(jù)傳輸、編程接口、高可用策略等方面開展和實(shí)施。當(dāng)前典型的大數(shù)據(jù)流式計(jì)算的應(yīng)用系統(tǒng)有Storm[17]、S4[18]。
在Storm系統(tǒng)中,采用主從式系統(tǒng)架構(gòu)。如圖5所示,一個Storm系統(tǒng)中有兩類節(jié)點(diǎn),即一個主節(jié)點(diǎn)Nimbus和多個從節(jié)點(diǎn)supervisor,有3種運(yùn)行環(huán)境,即master、cluster和slaves。其中,主節(jié)點(diǎn)Nimbus運(yùn)行在master環(huán)境中,是無狀態(tài)的,負(fù)責(zé)全局的資源分配、任務(wù)調(diào)度、狀態(tài)監(jiān)控和故障檢測;從節(jié)點(diǎn)supervisor運(yùn)行在slaves環(huán)境中,也是無狀態(tài)的,負(fù)責(zé)監(jiān)聽并接收來自于主節(jié)點(diǎn)Nimbus所分配的任務(wù),并啟動或停止自己所管理的工作進(jìn)程worker,其中,工作進(jìn)程worker負(fù)責(zé)具體任務(wù)的執(zhí)行。zookeeper是一個針對大型分布式系統(tǒng)的可靠協(xié)調(diào)服務(wù)和元數(shù)據(jù)存儲系統(tǒng),通過配置zookeeper集群,可以使用zookeeper系統(tǒng)所提供的高可靠性的服務(wù)。Storm系統(tǒng)引入zookeeper,極大地簡化了Nimbus、supervisor、worker之間的設(shè)計(jì),保障了系統(tǒng)的穩(wěn)定性。
在S4系統(tǒng)中,采用對等式系統(tǒng)架構(gòu)。如圖6所示,一個S4系統(tǒng)由用戶空間、資源調(diào)度空間和S4處理節(jié)點(diǎn)空間組成。其中,在用戶空間中,多個用戶可以通過本地的客戶端驅(qū)動實(shí)現(xiàn)服務(wù)的請求訪問;在資源調(diào)度空間中,為用戶提供了客戶適配器,通過TCP/IP實(shí)現(xiàn)用戶的客戶端驅(qū)動與客戶適配器間的連接和通信,多個用戶可以并發(fā)地同多個客戶適配器進(jìn)行服務(wù)請求;在S4處理節(jié)點(diǎn)空間中,提供了多個處理節(jié)點(diǎn)Pnode,進(jìn)行用戶服務(wù)請求的計(jì)算,主要包括監(jiān)聽并分發(fā)接收到的事件計(jì)算請求,實(shí)現(xiàn)對事件流的路由選擇、負(fù)載均衡、邏輯影射、故障恢復(fù)等功能。各個處理節(jié)點(diǎn)間保持相對的獨(dú)立性、對等性和高并發(fā)性,極大地提高了系統(tǒng)的性能,并通過散列方式將事件路由到一個或多個目標(biāo)處理節(jié)點(diǎn)上。
3.3 大數(shù)據(jù)圖計(jì)算系統(tǒng)
4 未來研究方向
從系統(tǒng)角度看大數(shù)據(jù)計(jì)算,未來可能的研究方向包括以下幾個方面。
(1)批量計(jì)算
大數(shù)據(jù)批量計(jì)算需要讀寫大量數(shù)據(jù),而目前的存儲系統(tǒng)主要針對計(jì)算密集型應(yīng)用設(shè)計(jì),從存儲系統(tǒng)讀出原始數(shù)據(jù)進(jìn)行批量計(jì)算,計(jì)算結(jié)束后將計(jì)算結(jié)果寫入存儲系統(tǒng)。相應(yīng)存儲系統(tǒng)強(qiáng)調(diào)數(shù)據(jù)吞吐量,數(shù)據(jù)一致性保證程度高,數(shù)據(jù)讀寫時延相對較高。一個有潛力的研究方向是利用大數(shù)據(jù)批量計(jì)算的特征,解決大數(shù)據(jù)計(jì)算中的存儲瓶頸問題。
另一類研究工作是針對典型應(yīng)用進(jìn)行定制化的性能優(yōu)化,一個代表性例子是深度學(xué)習(xí)算法的并行加速技術(shù)研究。以深度學(xué)習(xí)中的卷積神經(jīng)元網(wǎng)絡(luò)為例,一個研究方向是使用GPU對卷積神經(jīng)元網(wǎng)絡(luò)進(jìn)行加速,另一個方向是使用多臺機(jī)器對卷積神經(jīng)元網(wǎng)絡(luò)進(jìn)行并行化加速。
(2)大數(shù)據(jù)流式計(jì)算
需要構(gòu)建一個高效、可擴(kuò)展的計(jì)算平臺,一方面需要具有很好的通用性,滿足對流式數(shù)據(jù)計(jì)算的需要,提供一系列公用的流式計(jì)算工具和屬性;同時要在在線資源管理、狀態(tài)一次性維護(hù)、用戶級容錯策略等方面具有良好的性能。
大數(shù)據(jù)流式計(jì)算中,數(shù)據(jù)流具有多流混合、流速波動等特性,一個研究方向是如何設(shè)計(jì)并優(yōu)化流式計(jì)算中的資源調(diào)度策略,同時實(shí)現(xiàn)數(shù)據(jù)流速高時處理速度快和數(shù)據(jù)流速低時能耗低兩個目標(biāo)。大數(shù)據(jù)流式計(jì)算需要提供7×24 h的連續(xù)計(jì)算能力,對于系統(tǒng)可靠性方面的要求很高。另一個研究方向是如何利用流式計(jì)算的特征,同時實(shí)現(xiàn)數(shù)據(jù)流計(jì)算高可靠和可靠性維護(hù)開銷低兩個目標(biāo)。
(3)大數(shù)據(jù)圖計(jì)算
圖計(jì)算系統(tǒng)的構(gòu)建有兩個思路:一種是為了避免數(shù)據(jù)關(guān)聯(lián)性帶來的機(jī)間通信而采用單機(jī)圖處理。往往采用圖數(shù)據(jù)分區(qū)的方法,每次加載一個分區(qū),循環(huán)多次處理一張大圖。網(wǎng)絡(luò)大數(shù)據(jù)的多維關(guān)聯(lián)性,導(dǎo)致大數(shù)據(jù)計(jì)算對網(wǎng)絡(luò)圖空間的訪問發(fā)散性。由于緩存機(jī)制和介質(zhì)特性,整個存儲棧都對數(shù)據(jù)局部性表現(xiàn)出更好的性能。一個重要的研究方向是如何解決網(wǎng)絡(luò)圖空間的訪問發(fā)散性與高效存儲所需的數(shù)據(jù)局部性之間的矛盾。
另一種思路是充分發(fā)揮多臺機(jī)器并行計(jì)算的優(yōu)勢而采用多機(jī)圖計(jì)算。這種大數(shù)據(jù)圖計(jì)算方式面臨的最為突出的問題就是大圖分割問題。由于對整個圖的訪問是隨機(jī)進(jìn)行的,一個研究方向是如何在圖劃分時實(shí)現(xiàn)通信代價(jià)低、計(jì)算及傳輸負(fù)載均衡、存儲冗余度合理3個目標(biāo)。
5 結(jié)束語
在大數(shù)據(jù)時代,大數(shù)據(jù)計(jì)算是大數(shù)據(jù)整個生命周期中的核心,是大數(shù)據(jù)中知識發(fā)現(xiàn)的關(guān)鍵。大數(shù)據(jù)計(jì)算模式主要包括大數(shù)據(jù)批量計(jì)算、流式計(jì)算、圖計(jì)算、交互計(jì)算等,這些不同的計(jì)算模式分別滿足不同的應(yīng)用范式對數(shù)據(jù)計(jì)算結(jié)果在處理精度、實(shí)時性等方面的不同要求。這些計(jì)算模式并不是相互獨(dú)立的,可以相互配合,滿足同一應(yīng)用范式在不同階段對數(shù)據(jù)計(jì)算結(jié)果的要求。當(dāng)前,批量計(jì)算是大數(shù)據(jù)計(jì)算的最主要模式。隨著用戶應(yīng)用需求和技術(shù)的不斷變化,所需要的計(jì)算模式也會不斷變化,亟待根據(jù)最新應(yīng)用范式的發(fā)展和要求,針對具體場景,開展對相關(guān)計(jì)算模式中出現(xiàn)的新情況、新問題的研究。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗(yàn):捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03