近年來,由于數(shù)據(jù)的快速增長以及用戶對計(jì)算機(jī)和存儲(chǔ)能力的要求越來越高,與此同時(shí)“物聯(lián)網(wǎng)”、“三網(wǎng)融合”、“智能電網(wǎng)”等應(yīng)用快速發(fā)展也對信息系統(tǒng)的計(jì)算和數(shù)據(jù)管理帶來了更高的要求,云計(jì)算(cloud computing)是一項(xiàng)正在興起中的技術(shù),云計(jì)算能夠改變普通用戶使用計(jì)算機(jī)的模式為用戶提供按需分配的計(jì)算能力、存儲(chǔ)能力及應(yīng)用服務(wù)能力,目的是讓用戶使用計(jì)算資源就像使用水和電一樣方便,大大降低用戶的軟、硬件采購費(fèi)用。云計(jì)算是在分布式系統(tǒng)、網(wǎng)格計(jì)算等基礎(chǔ)上提出的一個(gè)新概念,它面對的是超大規(guī)模的分布式環(huán)境,其核心是提供海量數(shù)據(jù)存儲(chǔ)以及高效率的計(jì)算能力,由此衍生出一系列的應(yīng)用。但是,云計(jì)算絕不僅僅是一個(gè)計(jì)算的問題,它需要融合許許多多的技術(shù)與成果;谠朴(jì)算的數(shù)據(jù)管理、海量分布式存儲(chǔ)、并行計(jì)算都是云計(jì)算的重要組成部分。
1云計(jì)算
云計(jì)算是分布式處理(distributed computing)、并行處理(parallel computing)和網(wǎng)格計(jì)算(gridcomputing)的發(fā)展,或者說是這些計(jì)算機(jī)科學(xué)概念的商業(yè)實(shí)現(xiàn)。
云計(jì)算的基本原理是,通過使計(jì)算分布在大量的分布式計(jì)算機(jī)上,而非本地計(jì)算機(jī)或遠(yuǎn)程服務(wù)器中,企業(yè)數(shù)據(jù)中心的運(yùn)行將更與互聯(lián)網(wǎng)相似。這使得企業(yè)能夠?qū)①Y源切換到需要的應(yīng)用上,根據(jù)需求訪問計(jì)算機(jī)和存儲(chǔ)系統(tǒng)。
這可是一種革命性的舉措,打個(gè)比方,這就好比是從古老的單臺(tái)發(fā)電機(jī)模式轉(zhuǎn)向了電廠集中供電的模式。它意味著計(jì)算能力也可以作為一種商品進(jìn)行流通,就像煤氣、水電一樣,取用方便,費(fèi)用低廉。最大的不同在于,它是通過互聯(lián)網(wǎng)進(jìn)行傳輸?shù)摹?/P>
近年來國內(nèi)外各知名IT企業(yè)都在大力開發(fā)和推進(jìn)云計(jì)算,如Google推出Google Apps服務(wù),亞馬遜推遲彈性計(jì)算云(EC2)服務(wù),IBM推出“藍(lán)云”計(jì)劃,國內(nèi)浪潮推出面向云計(jì)算的“云!辈僮飨到y(tǒng),初步的云計(jì)算產(chǎn)品已經(jīng)投入了正式的使用,但云計(jì)算還處于發(fā)展階段,與之相關(guān)的各項(xiàng)技術(shù)還不夠成熟。
2云數(shù)據(jù)管理技術(shù)
云計(jì)算需要對分布的、海量的數(shù)據(jù)進(jìn)行處理、分析,因此,數(shù)據(jù)管理技術(shù)必需能夠高效地管理大量的數(shù)據(jù)。云計(jì)算的數(shù)據(jù)具有海量、異構(gòu)、非確定性的特點(diǎn),需要采用有效的數(shù)據(jù)管理技術(shù)對海量數(shù)據(jù)和信息進(jìn)行分析和處理,構(gòu)建高度可用和可擴(kuò)展的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng),目前云計(jì)算系統(tǒng)中的數(shù)據(jù)管理技術(shù)主要是Google的GFS,MapReduce:MapReduce數(shù)據(jù)管理技術(shù)和亞馬遜的Dynamo。
2.1 云數(shù)據(jù)管理數(shù)據(jù)特點(diǎn)
云計(jì)算中數(shù)據(jù)的特點(diǎn)主要表現(xiàn)在以下幾個(gè)方面:
1)海量性。近年來,隨著物聯(lián)網(wǎng)等應(yīng)用的興起,很多應(yīng)用主要通過相當(dāng)數(shù)量的傳感器來采集數(shù)據(jù)。隨著這種應(yīng)用規(guī)模的擴(kuò)大和在越來越多領(lǐng)域中的應(yīng)用,數(shù)據(jù)量會(huì)呈現(xiàn)爆炸性增長的趨勢。如何有效地改進(jìn)已有的技術(shù)和方法或提出新的技術(shù)和方法來高效地管理和處理這些海量數(shù)據(jù)將是從數(shù)據(jù)中提取信息并進(jìn)一步融合、推理和決策的關(guān)鍵。
2)異構(gòu)性。在云計(jì)算各種各樣的應(yīng)用中,不同領(lǐng)域不同行業(yè)在數(shù)據(jù)獲取階段所采用的設(shè)備,手段和方式都千差萬別,取得的數(shù)據(jù)在數(shù)據(jù)形態(tài)、數(shù)據(jù)結(jié)構(gòu)上也各不相同。傳感器有不同的類別,如二氧化碳濃度傳感器、溫度傳感器、濕度傳感器等,不同類別的傳感器所捕獲、傳遞的信息內(nèi)容和信息格式會(huì)存在差異。以上因素導(dǎo)致了對數(shù)據(jù)訪問、分析和處理方式多種多樣。數(shù)據(jù)多源性導(dǎo)致數(shù)據(jù)有不同的分類,不同的分類具有不同的數(shù)據(jù)格式,最終導(dǎo)致結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)并存,造成了數(shù)據(jù)資源的異構(gòu)性。
3)非確定性。云計(jì)算中的數(shù)據(jù)具有明顯的不確定性特征,主要包括數(shù)據(jù)本身的不確定性、語義匹配的不確定性和查詢分析的不確定性等。為了獲得客觀對象的準(zhǔn)確信息,需要去粗取精、去偽存真,以便人們更全面地進(jìn)行表達(dá)和推理。
2.2 GFS技術(shù)
Google文件系統(tǒng)(Google file system,GFS)是一個(gè)大型的分布式文件系統(tǒng)。它為Google云計(jì)算提供海量存儲(chǔ),并且與Chubby,MapReduce以及BigTable等技術(shù)結(jié)合十分緊密,形成Google的云計(jì)算解決方案。GFS的系統(tǒng)架構(gòu)如圖1所示。GFS將整個(gè)系統(tǒng)的節(jié)點(diǎn)分為3類角色:Client(客戶端)、Master(主服務(wù)器)和Chunk Server(數(shù)據(jù)塊服務(wù)器)。Client是GFS提供給應(yīng)用程序的訪問接口,它是一組專用接口,不遵守POSIX規(guī)范,以庫文件的形式提供。應(yīng)用程序直接調(diào)用這些庫函數(shù),并與該庫鏈接在一起。Master是GFS的管理節(jié)點(diǎn),在邏輯上只有一個(gè),它保存系統(tǒng)的元數(shù)據(jù),負(fù)責(zé)整個(gè)文件系統(tǒng)的管理,是GFS文件系統(tǒng)中的大腦。Chunk Server負(fù)責(zé)具體的存儲(chǔ)工作。數(shù)據(jù)以文件的形式存儲(chǔ)在Chunk Server上,Chunk Server的個(gè)數(shù)可以有多個(gè),它的數(shù)目直接決定了GFS的規(guī)模。GFS將文件按照固定大小進(jìn)行分塊,默認(rèn)是64MB,每一塊稱為一個(gè)Chunk(數(shù)據(jù)塊),每個(gè)Chunk都有一個(gè)對應(yīng)的索引號(hào)(Index)。
客戶端在訪問GFS時(shí),首先訪問Master節(jié)點(diǎn),獲取將要與之進(jìn)行交互的Chunk Server信息,然后直接訪問這些Chunk Server完成數(shù)據(jù)存取。GFS的這種設(shè)計(jì)方法實(shí)現(xiàn)了控制流和數(shù)據(jù)流的分離。
Client與Master之間只有控制流,而無數(shù)據(jù)流,這樣就極大地降低了Master的負(fù)載,使之不成為系統(tǒng)性能的一個(gè)瓶頸。Client與Chunk Server之間直接傳輸數(shù)據(jù)流,同時(shí)由于文件被分成多個(gè)Chunk進(jìn)行分布式存儲(chǔ),Client可以同時(shí)訪問多個(gè)ChunkServer,從而使得整個(gè)系統(tǒng)I/O高度并行,系統(tǒng)整體性能得到提高。
圖1 GFS體系結(jié)構(gòu)
2.3 BigTable技術(shù)
Google提出的BigTable技術(shù)是建立在GFS和MapReduce之上的一個(gè)大型的分布式數(shù)據(jù)庫,BigTable實(shí)際上的確是一個(gè)很龐大的表,它的規(guī)?梢猿^1PB(1024TB)。它將所有數(shù)據(jù)都作為對象來處理,形成一個(gè)巨大的表格。Google給出了如下定義:BigTable是一種為了管理結(jié)構(gòu)化數(shù)據(jù)而設(shè)計(jì)的分布式存儲(chǔ)系統(tǒng),這些數(shù)據(jù)可以擴(kuò)展到非常大的規(guī)模,例如在數(shù)千臺(tái)商用服務(wù)器上的達(dá)到PB(Petabytes)規(guī)模的數(shù)據(jù),現(xiàn)在有很多Google的應(yīng)用程序建立在BigTable之上,例如Google Earth等,而基于BigTable模型實(shí)現(xiàn)的Hadoop Hbase也在越來越多的應(yīng)用中發(fā)揮作用。
BigTable就是一個(gè)稀疏的、多維的和排序的Map,每個(gè)Cell(單元格)由行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳來進(jìn)行三維定位。Cell的內(nèi)容本身就是一個(gè)字符串,比如,存儲(chǔ)每個(gè)網(wǎng)頁的內(nèi)容。在圖2中,反向的URL“eom.cnn.www”是這行的關(guān)鍵字,“contents”這列存儲(chǔ)了多個(gè)版本的網(wǎng)頁內(nèi)容,每個(gè)版本都有一個(gè)時(shí)間戳。BigTable還提供一個(gè)用于將多個(gè)相似的列整合至一起的Column Family(列組)機(jī)制,比如,下面“anchor”這個(gè)Column Family就有“anchor:cnnsi.com”和“anchhor:my.look.ca”這個(gè)兩個(gè)列.通過Column Family這個(gè)概念,使得表可以輕松地橫向擴(kuò)展。
圖2中,對于文檔的全文有一個(gè)文本列,還有一個(gè)標(biāo)題列,這樣,不需要對全部的文檔文本進(jìn)行分析,就可以快速地找到文檔的標(biāo)題。有兩列用于錨文本。一個(gè)是anchor:other.com,包含從站點(diǎn)other.eom指向example.com的超鏈接的錨文本;如圖2中的單元所示,超鏈接上的文本是“example”.a(chǎn)nchor:null.com描述了從null.com指向example.com的一個(gè)超鏈接上的錨文本是“點(diǎn)擊此處”.這些列都屬于錨文本列組(column group).可以向該列組中增加其他的列,以增加更多的鏈接信息。
圖2 BigTable數(shù)據(jù)模型
BigTable使用一個(gè)3層的、類似B+樹的結(jié)構(gòu)存儲(chǔ)Tablet的位置信息,如圖3所示。
第1層是一個(gè)存儲(chǔ)在Chubby中的文件,它包含了Root Tablet的位置信息。Root Tablet包含了一個(gè)特殊的METADATA表里所有的Tablet的位置信息。METADATA表的每個(gè)Tablet包含了一個(gè)用戶Tablet的集合。Root Tablet實(shí)際上是METADATA表的第1個(gè)Tablet,只不過對它的處理比較特殊(Root Tablet永遠(yuǎn)不會(huì)被分割)這就保證了Tablet的位置信息存儲(chǔ)結(jié)構(gòu)不會(huì)超過3層。其中在Chubby中存儲(chǔ)著多個(gè)Root Tablet的位置信息。Metadata Tables中存儲(chǔ)著許多User Table的位置信息。因此當(dāng)用戶讀取數(shù)據(jù)時(shí),需先從Chubby中讀取Root Tablet的位置信息然后逐層往下讀取直至找到所需數(shù)據(jù)為止。
BigTable的負(fù)載均衡采用的是傳統(tǒng)的方式,BigTable在執(zhí)行任務(wù)時(shí),在任意時(shí)刻每個(gè)Tablet只被分配到一個(gè)Tablet服務(wù)器。依靠一個(gè)master服務(wù)器監(jiān)視子表server的負(fù)載情況,根據(jù)所有子表服務(wù)器的負(fù)載情況進(jìn)行數(shù)據(jù)遷移的,比如將訪問很熱的列表遷移到壓力輕的子表服務(wù)器上,以調(diào)節(jié)Tablet服務(wù)器的負(fù)載平衡。
圖3 Tablet的位置結(jié)構(gòu)
2.4 Dynamo技術(shù)
Dynamo是一個(gè)高可用,專有的鍵值結(jié)構(gòu)化存儲(chǔ)系統(tǒng),或分布式存儲(chǔ)系統(tǒng)。它同時(shí)具有數(shù)據(jù)庫和分布式Hash表(DHT)的特征,并不直接暴露在外網(wǎng),而是為Amazon Web Services(AWS)提供底層支持。目前Dynamo已經(jīng)有很多實(shí)現(xiàn),典型的有:Apache Cassandra,Project Voldemort,Riak。
Dynamo是采用DHT作為基本存儲(chǔ)架構(gòu)和理念(如圖4所示),這個(gè)架構(gòu)最大特點(diǎn)是能讓數(shù)據(jù)在環(huán)中“存儲(chǔ)”均勻,各存儲(chǔ)點(diǎn)相互能感知(因數(shù)據(jù)需要在環(huán)內(nèi)轉(zhuǎn)發(fā)。以及相互之間進(jìn)行故障探測,因此需要節(jié)點(diǎn)之間的通信),自我管理性強(qiáng),因?yàn)樗恍枰狹aster主控點(diǎn)控制,無單點(diǎn)故障危險(xiǎn)。
此外,Dynamo的主要優(yōu)點(diǎn)是,它提供了使用3個(gè)參數(shù)(N,R,w),根據(jù)自己的需要來調(diào)整它們的實(shí)例。Dynamo支持對對象的不同版本進(jìn)行記錄和處理,并且可以將不同版本提供給應(yīng)用,供應(yīng)用自己更靈活地進(jìn)行合并。對象的副本數(shù)遵循(N,R,W)的規(guī)則,N個(gè)副本,如果R個(gè)讀取的一致則確定讀取成功,如果W個(gè)寫人成功則認(rèn)為寫入成功,不要求全部N個(gè)都成功完成,只要R+w>N,數(shù)據(jù)的最終一致性就可以得到保障。這里,讀取比一次寫多次讀的系統(tǒng)(如HDFS)麻煩,但寫入變簡單了,這反映了應(yīng)用的需求。
負(fù)載均衡對于Dynamo系統(tǒng)而言足天生的優(yōu)勢,因?yàn)樗捎昧薉HT方式將數(shù)據(jù)都均勻存儲(chǔ)到各個(gè)點(diǎn)了,所以沒有熱點(diǎn),各點(diǎn)的數(shù)據(jù)存儲(chǔ)量和訪問壓力應(yīng)該都是均衡的。
圖4 Dynamo架構(gòu)
2.5 MapRedace技術(shù)
為了高效地利用云計(jì)算的資源,云計(jì)算采用MapReduce編程模式(如圖5所示)。作為一個(gè)新的編程模型,MapReduce將所有針對海量異構(gòu)數(shù)據(jù)的操作抽象為兩種操作,即map和reduce。使用map函數(shù)將任務(wù)分解為適合于在單個(gè)節(jié)點(diǎn)上執(zhí)行的計(jì)算子任務(wù),通過調(diào)度執(zhí)行處理后得到一個(gè)“值/對”集。而reduce函數(shù)則根據(jù)預(yù)先制訂的規(guī)則對在map階段得到的“值/對”集進(jìn)行歸并操作,得到最終分析結(jié)果。MapReduce模型最為成功之處就在于,讓我們可以按照需求將針對海量異構(gòu)數(shù)據(jù)的分析處理操作(無論是多么復(fù)雜)分解為任意粒度的計(jì)算子任務(wù),并允許在多個(gè)計(jì)算節(jié)點(diǎn)之間靈活地調(diào)度計(jì)算以及參與計(jì)算的數(shù)據(jù),進(jìn)而達(dá)到實(shí)現(xiàn)計(jì)算資源和存儲(chǔ)資源的全局最優(yōu)化的管理。另外,MapReduce方法在將map任務(wù)和reduce任務(wù)分配到相應(yīng)節(jié)點(diǎn)時(shí),會(huì)考慮到數(shù)據(jù)的本地性(data locality),即一般會(huì)將map/reduce安排到參與數(shù)據(jù)的存放節(jié)點(diǎn)或附近節(jié)點(diǎn)來執(zhí)行。
圖5 MapReduce架構(gòu)
3云數(shù)據(jù)管理技術(shù)分析
在新興的云計(jì)算數(shù)據(jù)管理領(lǐng)域Google的BigTable,MapReduce和亞馬遜的Dynamo技術(shù)針對云計(jì)算海量數(shù)據(jù)的問題和應(yīng)用特點(diǎn)有了很多創(chuàng)新,綜合來看未來云計(jì)算數(shù)據(jù)管理主要包括以下幾個(gè)層次。其總體架構(gòu)如圖6所示:
圖6云計(jì)算數(shù)據(jù)管理
如圖6所示云計(jì)算數(shù)據(jù)管理層次分為4層,分別為:數(shù)據(jù)組織與管理,數(shù)據(jù)集成與管理,分布式并行處理,數(shù)據(jù)分析。最終實(shí)現(xiàn)對非確定性數(shù)據(jù)的管理與集成,為用戶提供高效的查詢等服務(wù)。
1)數(shù)據(jù)組織與管理:采用分布式的存儲(chǔ)技術(shù)可用于大型的、分布式。的、對大量數(shù)據(jù)進(jìn)行訪問的應(yīng)用,類似GFS,它運(yùn)行于各種類似的普通硬件上,提供容錯(cuò)功能,為用戶提供高可靠、高并發(fā)和高性能的數(shù)據(jù)并行存取訪問。
2)數(shù)據(jù)集成與管理:針對數(shù)據(jù)的非確定性、分布異構(gòu)性、海量、動(dòng)態(tài)變化等特點(diǎn),采用分布式數(shù)據(jù)管理技術(shù),通過采用Bigtabe,Hbase等分布式數(shù)據(jù)庫技術(shù)對大數(shù)據(jù)集進(jìn)行處理、分析,向用戶提供高效的服務(wù)。
3)分布式并行處理:為了高效地利用在分布式環(huán)境下的數(shù)據(jù)挖掘和處理,采用基于云計(jì)算的并行編程模式,如MapReduce,將任務(wù)自動(dòng)分成多個(gè)子任務(wù),通過映射和化簡兩步實(shí)現(xiàn)任務(wù)在大規(guī)模計(jì)算節(jié)點(diǎn)中的調(diào)度與分配。后臺(tái)復(fù)雜的并行執(zhí)行和任務(wù)調(diào)度對用戶和編程人員透明。
4)數(shù)據(jù)分析:云計(jì)算的數(shù)據(jù)管理中最終需要對數(shù)據(jù)進(jìn)行分析和挖掘以提供給各種應(yīng)用使用,通過采用不同的數(shù)據(jù)挖掘引擎的布局及多引擎的調(diào)度策略;通過基于淺層語義分析和深層語義分析的技術(shù),在不確定知識(shí)條件下的高效的數(shù)據(jù)挖掘,從而從大量的結(jié)構(gòu)化的關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)、半結(jié)構(gòu)化的文本、圖形和圖像數(shù)據(jù)中提取潛在的、事先未知的、有用的、能被人理解的數(shù)據(jù)。
4 云數(shù)據(jù)管理展望
云計(jì)算作為一個(gè)新興技術(shù),它和云數(shù)據(jù)管理面臨著一些機(jī)遇以及挑戰(zhàn)!拔锫(lián)網(wǎng)”、“三網(wǎng)融合”、“智能電網(wǎng)”等應(yīng)用為云計(jì)算和云數(shù)據(jù)管理帶來了前所未有的機(jī)遇。與此同時(shí)隨著云計(jì)算越來越流行,預(yù)計(jì)有新的應(yīng)用場景出現(xiàn),在云數(shù)據(jù)管理方面也會(huì)帶來新的挑戰(zhàn)。例如,可能會(huì)出現(xiàn)一些需要預(yù)載大量數(shù)據(jù)集(像股票價(jià)格、天氣歷史數(shù)據(jù)以及網(wǎng)上檢索等)的特殊服務(wù)。從私有和公共環(huán)境中獲取有用信息引起人們越來越多的注意。這樣就產(chǎn)生新的問題:需要從結(jié)構(gòu)化、半結(jié)構(gòu)化或非結(jié)構(gòu)的異構(gòu)數(shù)據(jù)中提取出有用信息。可以看出云計(jì)算和云數(shù)據(jù)管理平臺(tái)服務(wù)本身在適當(dāng)場景下巨大的優(yōu)勢,同時(shí)還有所面臨的技術(shù)難題亟待解決?梢哉f,云計(jì)算和云數(shù)據(jù)管理技術(shù)還有很長的路要走。
5 總結(jié)
云計(jì)算具有廣闊的應(yīng)用前景,云計(jì)算的數(shù)據(jù)具有海量、異構(gòu)、非確定性的特點(diǎn)。面對云計(jì)算的云數(shù)據(jù)管理面臨著巨大的機(jī)遇和挑戰(zhàn),本文提出采用數(shù)據(jù)組織與管理、數(shù)據(jù)集成與管理、分布式并行處理和數(shù)據(jù)分析4層的云數(shù)據(jù)管理方式也是未來面向云計(jì)算數(shù)據(jù)管理的主要方向。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:云計(jì)算和云數(shù)據(jù)管理技術(shù)
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1083972019.html