飛象網(wǎng)訊(李樂(lè)羽/文),4月28日消息,2017 GMIC全球移動(dòng)互聯(lián)網(wǎng)大會(huì)正在進(jìn)行,飛象網(wǎng)為您全程直播,現(xiàn)在演講的是亞馬遜AWS首席云計(jì)算技術(shù)顧問(wèn)費(fèi)良宏,他演講的內(nèi)容是云計(jì)算大數(shù)據(jù)實(shí)踐與設(shè)計(jì)范式。
演講內(nèi)容如下:
席睿:感謝王元超女士的精彩演講,把美團(tuán)云發(fā)展戰(zhàn)略講得比較細(xì)致。接下來(lái)有請(qǐng)亞馬遜AWS首席云計(jì)算技術(shù)顧問(wèn)費(fèi)良宏先生,他的演講主題是“云計(jì)算大數(shù)據(jù)實(shí)踐與設(shè)計(jì)范式”,有請(qǐng)。
費(fèi)良宏:大家好,我想跟大家分享一下管郁達(dá)數(shù)據(jù)的話題。我主要是圍繞著在云計(jì)算環(huán)境里的數(shù)據(jù)模式的架構(gòu)與實(shí)現(xiàn),也說(shuō)說(shuō)我們十年實(shí)踐的心得。大數(shù)據(jù)大家都不陌生,對(duì)相關(guān)領(lǐng)域大家也有很多了解。但是回顧過(guò)去幾年大數(shù)據(jù)發(fā)展,有一些明顯態(tài)勢(shì)需要大家重視。
第一個(gè)就是規(guī)模的膨脹,如果幾年前我們認(rèn)為大數(shù)據(jù)還只是GB、PB級(jí)別的話,接下來(lái)我們會(huì)看到,從TB到ZB的增長(zhǎng)速度已經(jīng)越來(lái)越快了。接下來(lái)5年、10年會(huì)有一個(gè)新的認(rèn)知。
第二點(diǎn)非結(jié)構(gòu)化數(shù)據(jù)已經(jīng)占據(jù)了主導(dǎo)地位,比如說(shuō)基因工程、社交媒體,這樣話題產(chǎn)生的更多數(shù)據(jù)是以非結(jié)構(gòu)化形式存在的。我們熟悉的結(jié)構(gòu)化模式,已經(jīng)不太適用了,我們有必要談一談大數(shù)據(jù),如何利用今天的技術(shù)和手段幫助我們解決這個(gè)問(wèn)題。
從大數(shù)據(jù)應(yīng)用場(chǎng)景來(lái)看無(wú)非是幾種應(yīng)用模式:
1.批處理模式,從事大數(shù)據(jù)的人已經(jīng)很熟悉了,在今天和過(guò)去都用這樣的方法來(lái)操控大數(shù)據(jù)。
2.流處理,過(guò)去幾年出現(xiàn)的,而且已經(jīng)比較普遍了。流處理模式有其特定的歷史淵源,主要來(lái)自于數(shù)據(jù)產(chǎn)生的特殊性以及處理的特殊要求。
3.機(jī)器學(xué)習(xí),數(shù)據(jù)本身并不具有價(jià)值,如果把它變成一種知識(shí),它的數(shù)據(jù)才會(huì)變得更有價(jià)值,這個(gè)關(guān)鍵就是機(jī)器學(xué)習(xí)。
今天的人工智能是很熱的話題,機(jī)器學(xué)習(xí)是一種很真實(shí),可以幫助我們?nèi)ソ鉀Q從數(shù)據(jù)到知識(shí)化的有效手段,所以我們要關(guān)心的是在大數(shù)據(jù)的環(huán)境里,如何利用批處理、流處理、機(jī)器學(xué)習(xí)達(dá)成我們目的的一個(gè)目標(biāo)。
實(shí)際上我們來(lái)觀察云計(jì)算或者大數(shù)據(jù)的市場(chǎng),我們看到了一個(gè)讓我們眼花繚亂的市場(chǎng),各種架構(gòu)、工具、技術(shù)、實(shí)踐案例,充斥著各種媒體,各種分享。其實(shí)對(duì)于我們從業(yè)者來(lái)說(shuō),從這些信息當(dāng)中找到你所需要的內(nèi)容和知識(shí)并不是一件非常容易的事情,這張圖可以很好的揭示出來(lái)大數(shù)據(jù)市場(chǎng)五花八門(mén)、眼花繚亂的現(xiàn)狀。我們面臨的挑戰(zhàn)包括幾個(gè)話題:
1.對(duì)大數(shù)據(jù)來(lái)說(shuō)我們有沒(méi)有好的參考架構(gòu)?通過(guò)這個(gè)參考架構(gòu)我們達(dá)成目標(biāo)。
2.在架構(gòu)體系下選擇哪種工具?工具上的相似形很大,我們要選擇一個(gè)非常適當(dāng)?shù)墓ぞ摺?/P>
3.如何做,畢竟工具不能替代我們。
4..我們從大數(shù)據(jù)能得到什么,為什么要這么做。
回到大數(shù)據(jù)的本質(zhì),我們可以抽象起來(lái),大數(shù)據(jù)的流程無(wú)非是從數(shù)據(jù)的采集、存儲(chǔ)、分析處理以及使用上來(lái)看對(duì)于存儲(chǔ)和分析處理,可能會(huì)通過(guò)若干迭代的方式不斷的進(jìn)行循環(huán),以及達(dá)成數(shù)據(jù)可用化的程度。在這個(gè)環(huán)節(jié)中,我們需要考慮的除了剛才的流程,以及完成流程的功能之外,要考慮吞吐量,以及非常重要的成本因素。如果把簡(jiǎn)化的大數(shù)據(jù)流程作為觀察對(duì)象的時(shí)候,其實(shí)我們面臨的問(wèn)題就比較簡(jiǎn)單了,就可以從這幾個(gè)角度談一談大數(shù)據(jù)的問(wèn)題。
第一個(gè)需要跟大家分享的就是關(guān)于數(shù)據(jù)溫度的話題,數(shù)據(jù)溫度是比較有意思的話題,它是用另外一個(gè)角度衡量這個(gè)數(shù)據(jù)的。天氣預(yù)報(bào)里很熟悉,通過(guò)溫度的方法感知外部世界的變化,數(shù)據(jù)有沒(méi)有溫度?我的觀察數(shù)據(jù)也是有溫度的。我們操控的大數(shù)據(jù)里有一些特點(diǎn),有一些數(shù)據(jù)請(qǐng)求頻率非常高,需要有特定的持久性的要求,延時(shí)在毫秒級(jí)別,這是熱數(shù)據(jù)。新對(duì)來(lái)說(shuō)也有冷數(shù)據(jù),就是請(qǐng)求頻率相對(duì)比較低,規(guī)模和體量非常巨大,某種意義上稱(chēng)之為歸檔數(shù)據(jù),目前來(lái)看這樣的數(shù)據(jù)體量會(huì)越來(lái)越大。還有溫?cái)?shù)據(jù),正好處于冷熱之間的范疇。
有了這樣的定義之后,我們才知道究竟應(yīng)該選擇哪種工具,哪種方法來(lái)管理數(shù)據(jù)。非常重要的是,大家需要關(guān)心不同的工具以及存儲(chǔ)的方法,在成本方面有很大的差異性。只有考慮到數(shù)據(jù)的溫度,有可能在成本上做最經(jīng)濟(jì)化,最適當(dāng)?shù)倪x擇。
其次談到流處理概念,流就存在著存儲(chǔ)的概念。隨著今天應(yīng)用場(chǎng)景的變化,諸如像移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、社交媒體,它呈現(xiàn)了一種數(shù)量巨大,但是尺寸不是很大的特性。這類(lèi)叫流數(shù)據(jù),這種使用是一種很獨(dú)特的應(yīng)用場(chǎng)景,用傳統(tǒng)大數(shù)據(jù)處理方式對(duì)這些數(shù)據(jù)進(jìn)行處理恐怕不是非常有效果,所以我們提出了流式數(shù)據(jù)處理的概念。可以通過(guò)流這樣的存儲(chǔ)模式,實(shí)現(xiàn)數(shù)據(jù)的解耦。
我們往往對(duì)大數(shù)據(jù)要做持久化的緩沖,流恰好是持久化緩沖最佳的選擇。在采集方面,尤其像物聯(lián)網(wǎng)、移動(dòng)互聯(lián)這樣的場(chǎng)景里,有多種數(shù)據(jù)采集的應(yīng)用特點(diǎn)。這個(gè)特點(diǎn)里,與之相對(duì)應(yīng)的最好技術(shù)手段就是流的技術(shù)和手段了。在流的應(yīng)用場(chǎng)景里,我們需要關(guān)注的是,是不是要確保數(shù)據(jù)的一致性和順序的一致性,以及是不是需要并行處理,是不是需要通過(guò)PapReduce方式處理,這解決一些方法和特點(diǎn)以及現(xiàn)狀的概括。
選擇大數(shù)據(jù)處理工具的時(shí)候我們面臨著一些困境,今天的工具不是缺乏而是過(guò)多了,歸納起來(lái)這些工具和手段無(wú)非是這樣幾種類(lèi)型。第一是內(nèi)存中存儲(chǔ)的工具In memory,另外是NoSQL數(shù)據(jù)庫(kù),第三類(lèi)SQL關(guān)系數(shù)據(jù)庫(kù),第四種是檢索方法。從數(shù)據(jù)來(lái)講,我們放到內(nèi)存里處理的速度最快,延遲最少,但是代價(jià)最高。我們看這個(gè),它很適合一對(duì)一,N對(duì)M,簡(jiǎn)單環(huán)境下快速響應(yīng)高并發(fā)的數(shù)據(jù)處理的要求。關(guān)系數(shù)據(jù)庫(kù)大家都很熟悉了,它僅對(duì)關(guān)系型數(shù)據(jù)才能有效實(shí)施。非關(guān)系型數(shù)據(jù),可以用非檢索工具來(lái)做。
我們也有幾個(gè)考慮角度,第一是數(shù)據(jù)結(jié)構(gòu)的問(wèn)題,是不是有固定的schema,還是鍵值方式。另外存取方式,有按列存儲(chǔ)的,這樣的數(shù)據(jù)模型他們?cè)谑褂蒙暇陀幸恍┨囟ǖ囊。如果我用傳統(tǒng)按行的方式讀取、處理,效率不是最高的,這里范式考慮。另外結(jié)合數(shù)據(jù)的溫度,按照冷、熱、溫的特點(diǎn)去選擇工具操作,最重要的就是成本的考慮。規(guī)模不大的時(shí)候成本不是主要考慮的因素,但是規(guī)模很大的時(shí)候,成本就是非常重要,甚至是致命的因素了。
內(nèi)存數(shù)據(jù)上我們會(huì)看到,NoSQL是不二選擇,最好的就是關(guān)系數(shù)據(jù)庫(kù)。對(duì)非結(jié)構(gòu)化數(shù)據(jù),一定是通過(guò)檢索化方式。簡(jiǎn)單化的模型,在我們的選擇上是很好的選擇。參考工具對(duì)不同的技術(shù)來(lái)說(shuō)有深遠(yuǎn)的影響,我們對(duì)不同的技術(shù)應(yīng)用手段放在表里能看到,針對(duì)不同請(qǐng)求的成本、數(shù)據(jù)容量,可以看到不同的數(shù)據(jù)手段有偏好、擅長(zhǎng)的領(lǐng)域。NoSQL更適合于弱數(shù)據(jù)的處理。比如說(shuō)S3對(duì)象存儲(chǔ)模式,更適合溫?cái)?shù)據(jù)或者冷數(shù)據(jù)處理,了解這一點(diǎn)我們?cè)侔褦?shù)據(jù)手段和工具結(jié)合起來(lái),選擇判斷會(huì)更容易。
典型分析處理框架有很多種,典型的是批處理模式,利用集群,實(shí)現(xiàn)周報(bào)、日?qǐng)?bào)、月報(bào)處理。第二點(diǎn)是查詢(xún),利用一些交互式工具,實(shí)現(xiàn)業(yè)務(wù)場(chǎng)景和分析的需要。第三個(gè)是流式計(jì)算消息處理,可以實(shí)現(xiàn)實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)的大數(shù)據(jù)處理能力。最后一類(lèi)就是機(jī)器型應(yīng)用,利用機(jī)器學(xué)習(xí)的算法,把數(shù)據(jù)中的價(jià)值給抽取、提煉出來(lái)。
對(duì)于這樣的應(yīng)用場(chǎng)景,市面上充斥著各種各樣的工具,我們也會(huì)針對(duì)這個(gè)場(chǎng)景提供托管服務(wù),對(duì)于云計(jì)算用戶(hù)來(lái)講,就是在選擇工具上有優(yōu)勢(shì)。
對(duì)于大數(shù)據(jù)架構(gòu)談了很多話題,引入了很多概念,如何將概念應(yīng)用到真正的架構(gòu)里?基于云計(jì)算平臺(tái)上也有一個(gè)大數(shù)據(jù)參考架構(gòu)。這個(gè)架構(gòu)里就像剛才談到的四個(gè)不同的環(huán)節(jié)流程,涵蓋數(shù)據(jù)采集、存儲(chǔ)這些環(huán)節(jié)。包括數(shù)據(jù)溫度由低到高,數(shù)據(jù)存儲(chǔ)方式的復(fù)雜到簡(jiǎn)單都有針對(duì)性的選擇。
一個(gè)好消息,去年8月份AWS在中國(guó)區(qū)的服務(wù)已經(jīng)落地商用了,大家可以通過(guò)中國(guó)區(qū)云計(jì)算的服務(wù),提供的內(nèi)容可以體現(xiàn)一下AWS提供的大數(shù)據(jù)所展現(xiàn)的魅力。
對(duì)于這樣一個(gè)架構(gòu)大家已經(jīng)有一些了解了,最后想跟大家分享一下大數(shù)據(jù)在實(shí)踐中的設(shè)計(jì)范式,這也是過(guò)去十年里云計(jì)算、大數(shù)據(jù)應(yīng)用得到的心得。在軟件架構(gòu)里,最近一段時(shí)間大家談到的架構(gòu)設(shè)計(jì)原則就是解耦,利用松耦合方式增加系統(tǒng)的彈性。數(shù)據(jù)解耦對(duì)大數(shù)據(jù)來(lái)說(shuō)是非常重要的設(shè)計(jì)原則,傳統(tǒng)深擦作大數(shù)據(jù)的時(shí)候更習(xí)慣把大數(shù)據(jù)的存儲(chǔ)、計(jì)算放到同一個(gè)環(huán)境下,在存儲(chǔ)和處理上沒(méi)有明顯的解耦,但是這種方式存在著弊端。比如說(shuō)對(duì)于數(shù)據(jù)的管理和處理流火性方面,或者不同的處理要求對(duì)數(shù)據(jù)的拷貝、管理上,存在天生的弊端很難解決。有時(shí)候企業(yè)里面為了解決這個(gè)問(wèn)題,不得以會(huì)將數(shù)據(jù)有多份存儲(chǔ),無(wú)形增加了開(kāi)銷(xiāo)和不確定因素。
我們提出的建議方法,就是將數(shù)據(jù)解耦。大數(shù)據(jù)存儲(chǔ)、處理,再存儲(chǔ),再處理的過(guò)程中,有不同的計(jì)算環(huán)境將數(shù)據(jù)剝離開(kāi),這樣數(shù)據(jù)就成了獨(dú)立數(shù)據(jù),不同的業(yè)務(wù)場(chǎng)景和分析工具都會(huì)共享同一份數(shù)據(jù)來(lái)達(dá)成處理目的。
另外建議大家在很多場(chǎng)景里使用發(fā)布訂閱的設(shè)計(jì)模型和范式,可以實(shí)現(xiàn)數(shù)據(jù)解耦和一部分靈活性。另外可以用邏輯化視圖,物化視圖來(lái)進(jìn)行處理,針對(duì)大數(shù)據(jù)海量數(shù)據(jù)環(huán)境下可以提供問(wèn)題的解決。利用物化方式,加速處理的能力。
還有數(shù)據(jù)溫度的問(wèn)題,這是我反復(fù)強(qiáng)調(diào)的問(wèn)題,因?yàn)槌杀镜膯?wèn)題,管理特殊性的問(wèn)題,所以我們也需要考慮到如何利用數(shù)據(jù)溫度的特殊性,在經(jīng)濟(jì)性,靈活性,工具選擇上做出最好的搭配。這個(gè)搭配就要針對(duì)不同的場(chǎng)景,比如說(shuō)實(shí)時(shí)處理、交互處理都會(huì)有不同的方式做選擇。
大數(shù)據(jù)里有幾種應(yīng)用場(chǎng)景,第一種是實(shí)時(shí)處理,就是引入流的概念,利用一些流的服務(wù)和產(chǎn)品,提升我們數(shù)據(jù)的處理能力,以及將我們處理的延遲降到最低。第二是交互和批處理,在這種查詢(xún)環(huán)境里最重要的就是集中化數(shù)據(jù)管理能力,這張圖里給大家分享的核心,就是AWSS3作為公共管理數(shù)據(jù)級(jí)的接口環(huán)境。
過(guò)去兩年里,漸漸興起廣為大家熟悉的概念是數(shù)據(jù)湖,某種意義上強(qiáng)調(diào)企業(yè)建立一個(gè)全數(shù)據(jù)的集中管理能力。利用目前云計(jì)算和大數(shù)據(jù)的處理能力,真的可以為企業(yè)提供全數(shù)據(jù)的概念,利用全數(shù)據(jù)我們?cè)诖髷?shù)據(jù)的操作、分析,不同主題的應(yīng)用里,就具備了真正意義上的大數(shù)據(jù)的處理。
歸納起來(lái),大數(shù)據(jù)的設(shè)計(jì)架構(gòu)原則無(wú)非是幾點(diǎn):
第一點(diǎn)就是解耦的數(shù)據(jù)線,將數(shù)據(jù)的存儲(chǔ)、處理、分析和得到的答案,這幾個(gè)環(huán)節(jié)在數(shù)據(jù)層面做到真正的解耦,配合好的軟件架構(gòu),應(yīng)該能滿(mǎn)足今天的需要,并且有很大的伸縮靈活性。
第二是選擇適當(dāng)?shù)墓ぞ撸總(gè)工具都有自己擅長(zhǎng)的領(lǐng)域,我們要考慮數(shù)據(jù)是什么結(jié)構(gòu),結(jié)構(gòu)化還是非結(jié)構(gòu)化,是毫秒級(jí)別還是分鐘級(jí)別的,以及吞吐量和訪問(wèn)模式的問(wèn)題,這些有明確說(shuō)法的時(shí)候,你依據(jù)標(biāo)準(zhǔn)選擇工具的話,恐怕就不是很困難的事情。
第三個(gè)是有效利用云計(jì)算,因?yàn)槲覀兘裉煺劦搅藬?shù)據(jù)概念已經(jīng)不再是GB、TB的概念,恐怕是ZB的概念,管理大數(shù)據(jù)真的不是簡(jiǎn)單的事情。所以現(xiàn)在越來(lái)越多的大數(shù)據(jù)可以跟云計(jì)算結(jié)合在一起,在座的各位有志于從事大數(shù)據(jù)相關(guān)工作的話,你們選擇環(huán)境和平臺(tái)的時(shí)候從今天就要開(kāi)始,如何利用云計(jì)算提升的可用性、彈性、大數(shù)據(jù)托管工具等等,來(lái)實(shí)現(xiàn)大數(shù)據(jù)的解決方案,這一點(diǎn)是在很多案例中被證明的。
第四個(gè)是以日志為中心的設(shè)計(jì)模式,大數(shù)據(jù)的核心就是對(duì)日志的管理。如果日志數(shù)據(jù)的有效管理是大數(shù)據(jù)的關(guān)鍵因素,我們?cè)谠O(shè)計(jì)之初就要考慮到這些數(shù)據(jù)的特殊性。比如說(shuō)在日志管理方面,存儲(chǔ)處理方面,選擇一些不可變?nèi)罩竞臀锘晥D方法,會(huì)更有效。
最后一點(diǎn)是成本的意識(shí),成本是大數(shù)據(jù)非常關(guān)鍵的因素,如果不能有效權(quán)衡成本,也許在項(xiàng)目之初,嘗試階段就不能有效解決這個(gè)問(wèn)題。當(dāng)有一定規(guī)模和積累的時(shí)候,這個(gè)辦法可能就沒(méi)有辦法解決了,因?yàn)槟銜?huì)被成本拖累。
歸納起來(lái)請(qǐng)大家記住幾個(gè)設(shè)計(jì)原則:解耦數(shù)據(jù)總線、選擇恰當(dāng)工具、有效利用云計(jì)算、以日志為中心,并且具有成本意識(shí)。
AWS有十年云計(jì)算的經(jīng)驗(yàn),也圍繞大數(shù)據(jù)提供了很好的生態(tài)環(huán)境和基礎(chǔ)平臺(tái),也希望大家有機(jī)會(huì)多體驗(yàn)一下AWS的強(qiáng)大能力。我們也有云創(chuàng)計(jì)劃的福利,這當(dāng)中可以獲得AWS免費(fèi)提供的服務(wù),謝謝大家。