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