大數(shù)據(jù)存儲技術(shù)x_第1頁
大數(shù)據(jù)存儲技術(shù)x_第2頁
大數(shù)據(jù)存儲技術(shù)x_第3頁
大數(shù)據(jù)存儲技術(shù)x_第4頁
大數(shù)據(jù)存儲技術(shù)x_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、大數(shù)據(jù)存儲技術(shù)劉雷,杜鵬程賀俊銘孔慶騫弓K莉莉1,2,3,4,5(清華大學(xué)電腦科學(xué)與技術(shù)系,北京100084)Abstract:Bigdataanalysiscomparedwiththetraditionaldatawarehouseapplications,withalargeamountofdataandcomplexqueryanalysis,etc.Bigdatastoragebecauseofitsitselfexists4vcharacteristics,thetraditionalstoragetechnologycannotmeettheneedsoflargedatasto

2、rage,dataresourcesthroughtheETLtechnologywasextractedfromthesourcesystem,andisconvertedintoastandardformat,thenusingNoSQLdatabasefordatabaseaccessmanagement,makefulluseofthenetworkcloudstoragetechnologyenterprisestoragecostsaving,efficiencyadvantage,throughadistributednetworkfilesystemtostoredatainf

3、ormationintheInternetnetworkresources,usingvisualoperatinginterfacetosatisfytheuser'sdataprocessingrequirementsatanytime.Keywords:Dataacquisition(ETL),dataaccess(NoSQL),cloudstorage,distributedfilesystems,visualization摘要:大數(shù)據(jù)分析相比于傳統(tǒng)的數(shù)據(jù)倉庫應(yīng)用,具有數(shù)據(jù)量大、查詢分析復(fù)雜等特點。大數(shù)據(jù)存儲由于其本身存在的4V特征,傳統(tǒng)的存儲技術(shù)不能滿足大數(shù)據(jù)存儲的需要,通過

4、ETL技術(shù)數(shù)據(jù)資源被從源系統(tǒng)中提取,并被轉(zhuǎn)換為一個標(biāo)準(zhǔn)的格式,再使用NoSQL數(shù)據(jù)庫進行數(shù)據(jù)庫存取管理,充分利用網(wǎng)絡(luò)云存儲技術(shù)節(jié)約企業(yè)存儲成本,提高效率的優(yōu)勢,通過分布式網(wǎng)絡(luò)文件系統(tǒng)將數(shù)據(jù)信息存儲在整個互聯(lián)網(wǎng)絡(luò)資源中,并用可視化的操作界面隨時滿足用戶的數(shù)據(jù)處理需求。關(guān)鍵詞:數(shù)據(jù)采集ETL、數(shù)據(jù)存取NoSQL、云存儲、分布式文件系統(tǒng)、可視化1引言在學(xué)術(shù)界,Nature早在2008年就推出了BigData???。計算社區(qū)聯(lián)盟(ComputingCommunityConsortium)在2008年發(fā)表了才艮告«Big9DataComputing:Creatingrevolutionaryb

5、reakthroughsincommerce,science,andsociety2,闡述了在數(shù)據(jù)驅(qū)動的研究背景下,解決大數(shù)據(jù)問題所需的技術(shù)以及面臨的一些挑戰(zhàn)。Science在2011年2月推出??疍ealingwithData»3,主要圍繞著科學(xué)研究中大數(shù)據(jù)的問題展開討論,說明大數(shù)據(jù)對于科學(xué)研究的重要性。美國一些知名的數(shù)據(jù)管理領(lǐng)域的專家學(xué)者則從專業(yè)的研究角度出發(fā),聯(lián)合發(fā)布了一份白皮書ChallengesandOpportunitieswithBigData»4。該白皮書從學(xué)術(shù)的角度出發(fā),介紹了大數(shù)據(jù)的產(chǎn)生,分析了大數(shù)據(jù)的處理流程,并提出大數(shù)據(jù)所面臨的假設(shè)干挑戰(zhàn)。業(yè)界通常用

6、Volume、Variety>Value和Velocity簡稱為"4V',即數(shù)據(jù)體量巨大、數(shù)據(jù)類型繁多、價值密度低和處理速度快四個特征來顯著區(qū)分大數(shù)據(jù)與傳統(tǒng)數(shù)據(jù)。大數(shù)據(jù)技術(shù)是一個整體,沒有統(tǒng)一的解決方案,本文從大數(shù)據(jù)生命周期過程的角度討論了ETL技術(shù)、NoSQL、云存儲、分布式系統(tǒng)、數(shù)據(jù)可視化等5個部分。2 ETL技術(shù)隨著信息化進程的推進,人們對數(shù)據(jù)資源整合的需求越來越明顯。但面對分散在不同地區(qū)、種類繁多的異構(gòu)數(shù)據(jù)庫進行數(shù)據(jù)整合并非易事,要解決冗余、歧義等臟數(shù)據(jù)的清洗問題,僅靠手工進行不但費時費力,質(zhì)量也難以保證;另外,數(shù)據(jù)的定期更新也存在困難。如何實現(xiàn)業(yè)務(wù)系統(tǒng)數(shù)據(jù)整合

7、,是擺在大數(shù)據(jù)面前的難題。ETL數(shù)據(jù)轉(zhuǎn)換系統(tǒng)為數(shù)據(jù)整合提供了可靠的解決方案。ETL是Extraction-Transformation-Loading的縮寫,中文名稱為數(shù)據(jù)提取、轉(zhuǎn)換和加載。ETL負責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時中間層后進行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市中,成為聯(lián)機分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。它可以批量完成數(shù)據(jù)抽取、清學(xué)習(xí)文檔僅供參考洗、轉(zhuǎn)換、裝載等任務(wù),不但滿足了人們對種類繁多的異構(gòu)數(shù)據(jù)庫進行整合的需求,同時可以通過增量方式進行數(shù)據(jù)的后期更新。ETL體系結(jié)構(gòu)表達了主流ETL產(chǎn)品的主要組成部分5,其體系結(jié)構(gòu)如圖1:ETLPioc

8、HiSingF匚jmewtxkfUMkiu*AEJiiLilkrW*修F41"L|圖1ETL體系結(jié)構(gòu)ETL過程中的主要環(huán)節(jié)就是數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換和加工、數(shù)據(jù)裝載6。為了實現(xiàn)這些功能,各個ETL工具一般會進行一些功能上的擴充,例如工作流、調(diào)度引擎、規(guī)則引擎、腳本支持、統(tǒng)計信息等。2.1 數(shù)據(jù)抽取數(shù)據(jù)抽取是從數(shù)據(jù)源中抽取數(shù)據(jù)的過程7。實際應(yīng)用中,不管數(shù)據(jù)源采用的是傳統(tǒng)關(guān)系數(shù)據(jù)庫還是新興的NoSQL數(shù)據(jù)庫,數(shù)據(jù)抽取一般有以下幾種方式:2.1.1 全量抽取全量抽取指的是ETL在集成端進行數(shù)據(jù)的初始化時,首先由業(yè)務(wù)人員或相關(guān)的操作人員定義抽取策略,選定抽取字段和定義規(guī)則后,由設(shè)計人員進行程序設(shè)

9、計;將數(shù)據(jù)進行處理后,直接讀取整個工作表中的數(shù)據(jù)作為抽取的內(nèi)容,類似于數(shù)據(jù)遷移,是ETL過程中最簡單的步驟,其簡單性主要適用于處理一些對用戶非常重要的數(shù)據(jù)表。2.1.2 增量抽取增量抽取主要發(fā)生在全量抽取之后。全量抽取之后,對上次抽取過的數(shù)據(jù)源表中新增的或被修改的數(shù)據(jù)進行抽取,稱之為增量抽取。增量抽取可以減少對抽取過程中的數(shù)據(jù)量,提高抽取速度和效率,減少網(wǎng)絡(luò)流量,同時,增量抽取的實現(xiàn),對異構(gòu)數(shù)據(jù)源和數(shù)據(jù)庫中數(shù)據(jù)的變化有個準(zhǔn)確的把握。信息抽取不是僅僅從大量的文獻集或數(shù)據(jù)集中找出適合用戶需要的那篇文獻或部分內(nèi)容,而是抽取出真正適合用戶需要的相關(guān)信息片段,提供應(yīng)用戶,并找出這些信息與原文獻直接的參考

10、對照。2.2 數(shù)據(jù)轉(zhuǎn)換和加工從數(shù)據(jù)源中抽取的數(shù)據(jù)不一定完全滿足目的庫的要求,例如數(shù)據(jù)格式的不一致、數(shù)據(jù)輸入錯誤、數(shù)據(jù)不完整等等,還要對抽取出的數(shù)據(jù)進行數(shù)據(jù)轉(zhuǎn)換和加工。數(shù)據(jù)轉(zhuǎn)換是真正將源數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換為目標(biāo)數(shù)據(jù)的關(guān)鍵步驟,在這個過程中通過對數(shù)據(jù)的合并匯總過濾以及重新格式化和再計算等,從而將操作型數(shù)據(jù)庫中的異構(gòu)數(shù)據(jù)轉(zhuǎn)換成用戶所需要的形式8。數(shù)據(jù)的轉(zhuǎn)換和加工可以在ETL引擎中進行,也可以在數(shù)據(jù)抽取過程中利用數(shù)據(jù)庫的特性同時進行。1ETL引擎中的數(shù)據(jù)轉(zhuǎn)換和加工9ETL引擎中一般以組件化的方式實現(xiàn)數(shù)據(jù)轉(zhuǎn)換。常用的數(shù)據(jù)轉(zhuǎn)換組件有字段映射、數(shù)據(jù)過濾、數(shù)據(jù)清洗、數(shù)據(jù)替換、數(shù)據(jù)計算、數(shù)據(jù)驗證、數(shù)據(jù)加解密、數(shù)

11、據(jù)合并、數(shù)據(jù)拆分等。這些組件如同一條流水線上的一道道工序,它們是可插拔的,且可以任意組裝,各組件之間通過數(shù)據(jù)總線共享數(shù)據(jù)。有些ETL工具還提供了腳本支持,使得用戶可以以一種編程的方式定制數(shù)據(jù)的轉(zhuǎn)換和加工行為。2在數(shù)據(jù)庫中進行數(shù)據(jù)加工關(guān)系數(shù)據(jù)庫本身已經(jīng)提供了強大的SQL、函數(shù)來支持?jǐn)?shù)據(jù)的加工,如在SQL查詢語句中添加where條件進行過濾,查詢中重命名字段名與目的表進行映射,substr函數(shù),case條件判斷等等。相比在ETL引學(xué)習(xí)文檔僅供參考擎中進行數(shù)據(jù)轉(zhuǎn)換和加工,直接在SQL語句中進行轉(zhuǎn)換和加工更加簡單清晰,性能更高。對于SQL語句無法處理的可以交由ETL引擎處理。2.3 數(shù)據(jù)裝載將轉(zhuǎn)換和加

12、工后的數(shù)據(jù)裝載到目的庫中通常是ETL過程的最后步驟。裝載數(shù)據(jù)的最正確方法取決于所執(zhí)行操作的類型以及需要裝入多少數(shù)據(jù)。當(dāng)目的庫是關(guān)系數(shù)據(jù)庫時,一般來說有兩種裝載方式。1SQL裝載直接SQL語句進行insert、update、delete操作。2采用批量裝載方法如bcp、bulk、關(guān)系數(shù)據(jù)庫特有的批量裝載工具或API。大多數(shù)情況下會使用第一種方法,因為它們進行了日志記錄并且是可恢復(fù)的。但是,批量裝載操作易于使用,并且在裝入大量數(shù)據(jù)時效率較高。使用哪種數(shù)據(jù)裝載方法取決于業(yè)務(wù)系統(tǒng)的需要。3 NoSQL技術(shù)10在大數(shù)據(jù)時代,web2.0網(wǎng)站要根據(jù)用戶個性化信息來實時生成動態(tài)頁面和提供動態(tài)信息,所以基本上

13、無法使用動態(tài)頁面靜態(tài)化技術(shù),因此數(shù)據(jù)庫并發(fā)負載非常高,往往要到達每秒上萬次讀寫請求。關(guān)系數(shù)據(jù)庫應(yīng)付上萬次SQL查詢還勉強頂?shù)米?,但是?yīng)付上萬次SQL寫數(shù)據(jù)請求,硬盤IO就已經(jīng)無法承受了。對于大型的SNS網(wǎng)站,每天用戶產(chǎn)生海量的用戶動態(tài),對于關(guān)系數(shù)據(jù)庫來說,在龐大的表里面進行SQL查詢,效率是極其低下乃至不可忍受的。此外,在基于web的架構(gòu)當(dāng)中,數(shù)據(jù)庫是最難進行橫向擴展的,當(dāng)一個應(yīng)用系統(tǒng)的用戶量和訪問量與日俱增的時候,你的數(shù)據(jù)庫卻沒有方法像webserver和appserver那樣簡單的通過添加更多的硬件和服務(wù)節(jié)點來擴展性能和負載能力。對于很多需要提供24小時不間斷服務(wù)的網(wǎng)站來說,對數(shù)據(jù)庫系統(tǒng)進

14、行升級和擴展是非常痛苦的事情,往往需要停機維護和數(shù)據(jù)遷移,為什么數(shù)據(jù)庫不能通過不斷的添加服務(wù)器節(jié)點來實現(xiàn)擴展呢?所以上面提到的這些問題和挑戰(zhàn)都在催生一種新型數(shù)據(jù)庫技術(shù)的誕生,這就是NoSQL技術(shù)。3.1 NoSQL與關(guān)系型數(shù)據(jù)庫設(shè)計理念比較關(guān)系型數(shù)據(jù)庫中的表都是存儲一些格式化的數(shù)據(jù)結(jié)構(gòu),每個元組字段的組成都一樣,即使不是每個元組都需要所有的字段,但數(shù)據(jù)庫會為每個元組分配所有的字段,這樣的結(jié)構(gòu)可以便于表與表之間進行連接等操作,但從另一個角度來說它也是關(guān)系型數(shù)據(jù)庫性能瓶頸的一個因素。而非關(guān)系型數(shù)據(jù)庫以鍵值對存儲,它的結(jié)構(gòu)不固定,每一個元組可以有不一樣的字段,每個元組可以根據(jù)需要增加一些自己的鍵值對

15、,這樣就不會局限于固定的結(jié)構(gòu),可以減少一些時間和空間的開銷。3.2 NoSQL技術(shù)特點易擴展性:NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴展。也無形之間,在架構(gòu)的層面上帶來了可擴展的能力。大數(shù)據(jù)量,高性能:NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關(guān)系性,數(shù)據(jù)庫的結(jié)構(gòu)簡單。一般MySQL使用QueryCache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應(yīng)用,Cache性能不高。而NoSQL的Cache是記錄級的,是一種細粒度的Cache,所

16、以NoSQL在這個層面上來說就要性能高很多了。靈活的數(shù)據(jù)模型:NoSQL無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點在大數(shù)據(jù)量的web2.0時代尤其明顯。高可用:NoSQL在不太影響性能的情況,就可以方便的實現(xiàn)高可用的架構(gòu)。比方Cassandra,HBase模型,通過復(fù)制模型也能實現(xiàn)高可用。學(xué)習(xí)文檔僅供參考3.3 CAP原理分布式數(shù)據(jù)系統(tǒng)的三要素:一致性(Consistency),可用性(Availability)、分區(qū)容忍性(Partitiontolerance)oCAP原

17、理:在分布式系統(tǒng)中,這三個要素最多只能同時實現(xiàn)兩點,不可能三者兼顧。對于分布式數(shù)據(jù)系統(tǒng),分區(qū)容忍性是基本要求。對于大多數(shù)web應(yīng)用,犧牲一致性而換取高可用性,是目前多數(shù)分布式數(shù)據(jù)庫產(chǎn)品的方向。3.4 幾種主流NoSQL數(shù)據(jù)庫而互聯(lián)網(wǎng)龐大的數(shù)據(jù)量和極高的峰值訪問壓力使得以增加內(nèi)存、CPU等節(jié)點性能的垂直伸縮方案(Scale-UP)走入死胡同,使用大量廉價的機器組建水平可擴展集群(ScaleOut)成為絕大多數(shù)互聯(lián)網(wǎng)公司的必然選擇;廉價的機器失效是正常的,大規(guī)模的集群,節(jié)點之間的網(wǎng)絡(luò)臨時阻斷也是常見的,因此在衡量一致性、可用性和分區(qū)容忍性時,往往傾向先滿足后兩者,再用其他方法滿足最終的一致性。在衡

18、量CAP時,Bigtable選擇了CA,用GFS來彌補P,Dynamo選擇了AP,C弱化為最終一致性通過Quorum或者read-your-write機制。3.4.1 BigTable111BigTable簡介Bigtable是一個分布式的結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng),它被設(shè)計用來處理海量數(shù)據(jù):通常是分布在數(shù)千臺普通服務(wù)器上的PB級的數(shù)據(jù)。Google的很多項目使用Bigtable存儲數(shù)據(jù),包括Web索引、GoogleEarth、GoogleFinance等。2數(shù)據(jù)模型Bigtable是一個稀疏的、分布式的、持久化存儲的多維度排序Map。Map的索引是行關(guān)鍵字、列關(guān)鍵字以及時間戳;Map中的每個valu

19、e都是一個未經(jīng)解析的byte數(shù)組。row:string,column:string,time:int64->string。一個存儲Web網(wǎng)頁的例子的表的片斷:行名:“comn.www”contents列族:存放的是網(wǎng)頁的內(nèi)容anchor列族:存放引用該網(wǎng)頁的錨鏈接文本?!癮nchor:cnnsi”歹U表示被cnnsi弓I用("comn.www","anchor:my.look.ca->“CNN8)”3技術(shù)要點基礎(chǔ):GFS,Chubby,SSTable。一BigTable使用Google的分布式文件系統(tǒng)(GFS)存儲日志文件和數(shù)據(jù)文件一Chubby是一個

20、高可用的、序列化的分布式鎖服務(wù)組件BigTable內(nèi)部存儲數(shù)據(jù)的文件是GoogleSSTable格式的。元數(shù)據(jù)組織:chubby->metadata->tablet。一元數(shù)據(jù)與數(shù)據(jù)都保存在GoogleFS中,客戶端通過Chubby服務(wù)獲得表格元數(shù)據(jù)的位置數(shù)據(jù)維護與訪問:masterserver將每個tablet的管理責(zé)任分配給各個tabletserver,tablet的分布信息都保存在元數(shù)據(jù)中,所以客戶端無須通過master來訪問數(shù)據(jù),只需要直接跟tabletserver通信。Log-structured數(shù)據(jù)組織:寫操作不直接修改原有的數(shù)據(jù),而只是將一條記錄添加到commitlog

21、的末尾,讀操作需要從log中merge出當(dāng)前的數(shù)據(jù)版本。具體實現(xiàn):SSTable,Memtable。Memtable即內(nèi)存表:將新數(shù)據(jù)或常用數(shù)據(jù)保存在內(nèi)存表,可以減少磁盤IO訪問4特點適合大規(guī)模海量數(shù)據(jù),PB級數(shù)據(jù);分布式、并發(fā)數(shù)據(jù)處理,效率極高;易于擴展,支持動態(tài)伸縮,適用于廉價設(shè)備;學(xué)習(xí)文檔僅供參考適合于讀操作,不適合寫操作;不適用于傳統(tǒng)關(guān)系數(shù)據(jù)庫。3.4.2Dynamo121Dynamo簡介Dynamo最初是Amazon所使用的一個私有的分布式存儲系統(tǒng)。2設(shè)計要點P2P的架構(gòu):這區(qū)另I于GoogleFS的SingleMaster架構(gòu),無須一個中心服務(wù)器來記錄系統(tǒng)的元數(shù)據(jù)。Performa

22、nce性能,Availability可用性,Durability數(shù)據(jù)持久性三者的折衷,可以根據(jù)應(yīng)用的需求自由調(diào)整三者比例3技術(shù)要點將所有主鍵的哈希數(shù)值空間組成一個首位相接的環(huán)狀序列,對于每臺機器,隨機賦予一個哈希值,不同的機器就會組成一個環(huán)狀序列中的不同節(jié)點,而該機器就負責(zé)存儲落在一段哈??臻g內(nèi)的數(shù)據(jù)。數(shù)據(jù)定位使用一致性哈希;對于一個數(shù)據(jù),首先計算其的哈希值,根據(jù)其所落在的某個區(qū)段,順時鐘進行查找,找到第一臺機,該機器就負責(zé)存儲在數(shù)據(jù)的,對應(yīng)的存取操作及冗余備份等操作也有其負責(zé),以此來實現(xiàn)數(shù)據(jù)在不同機器之間的動態(tài)分配。對于一個環(huán)狀節(jié)點比方M個節(jié)點,比方一份數(shù)據(jù)需要保持N個備份,則該數(shù)據(jù)落在某個

23、哈希區(qū)間內(nèi)發(fā)現(xiàn)的第一個節(jié)點負責(zé)后續(xù)對應(yīng)的N-1個節(jié)點的數(shù)據(jù)備份注意M>=N,Vectorlock,允許數(shù)據(jù)的多個備份存在多個版本,提高寫操作的可用性用弱一致性來換取高的可用性分布式存儲系統(tǒng)對于某個數(shù)據(jù)保存多個備份,數(shù)據(jù)寫入要盡量保證備份數(shù)據(jù)同時獲得更新Dynamo采取數(shù)據(jù)最終一致性,在一定的時間窗口中,對數(shù)據(jù)的更新會傳播到所有備份中,但是在時間窗口內(nèi),如果有客戶讀取到舊的數(shù)據(jù),通過向量時鐘(VectorClock)。容錯:SloppyQuorum,hintedhandoff,Merkletree,SloppyQuorum馬虎仲裁,并非采用嚴(yán)格的數(shù)據(jù)一致性檢查,用于實現(xiàn)最終一致性。hint

24、edhandoff,節(jié)點故障會恢復(fù)時,可動態(tài)維護系統(tǒng)可用性,使系統(tǒng)的寫入成功大大提升。使用Merkletree為數(shù)據(jù)建立索引,只要任意數(shù)據(jù)有變動,都將快速反饋出來。網(wǎng)絡(luò)互聯(lián):Gossip-basedmembershipprotocol,一種通訊協(xié)議,目標(biāo)是讓節(jié)點與節(jié)點之間通信,實現(xiàn)去中心化。4特點高可用:設(shè)計上天然沒有單點,每個實例由一組節(jié)點組成,從應(yīng)用的角度看,實例提供IO能力。一個實例上的節(jié)點可能位于不同的數(shù)據(jù)中心內(nèi),這樣一個數(shù)據(jù)中心出問題也不會導(dǎo)致數(shù)據(jù)喪失??偸强蓪懀篽intedhandoff確保在系統(tǒng)節(jié)點出現(xiàn)故障或節(jié)點恢復(fù)時,能靈活處理可根據(jù)應(yīng)用類型優(yōu)化可用性、容錯性和高效性配置去中心

25、化,人工管理工作少可擴展性較差:由于增加機器需要給機器分配DHT(分布式hashtable)算法所需的編號,操作復(fù)雜度較高,且每臺機器存儲了整個集群的機器信息及數(shù)據(jù)文件的MerkleTree信息,機器最大規(guī)模只能到幾千臺。4大數(shù)據(jù)基礎(chǔ)設(shè)施-分布式文件系統(tǒng)分布式文件系統(tǒng)DFS,DistributedFileSystem使用戶更加容易訪問和管理物理上跨網(wǎng)絡(luò)分布的文件。DFS為文件系統(tǒng)提供了單個訪問點和一個邏輯樹結(jié)構(gòu),通過DFS,用戶在訪問文件時不需要知道它們的實際物理位置,即分布在多個服務(wù)器上的文件在用戶面前就如同在網(wǎng)絡(luò)的同一個位置。4.1 成熟架構(gòu)早期比較成熟的網(wǎng)絡(luò)存儲結(jié)構(gòu)大致分為三種:直連式存

26、儲DAS:DirectAttachedStorage、網(wǎng)絡(luò)連接式存儲NAS:NetworkAttachedStorage和存儲網(wǎng)絡(luò)SAN:StorageAreaNetwork。在直連式存儲DAS中,主機與主機之間、主機與磁盤之間采用SCSI總線通道或FC通道、IDE接口實現(xiàn)互連,將數(shù)據(jù)存儲擴展到了多臺主機,多個磁盤。隨著存儲容量的增加,SCSI通道將會成為IO瓶頸。網(wǎng)絡(luò)連接式存儲NAS一種連接到局域網(wǎng)的基于IP的文件系統(tǒng)共享設(shè)備。NAS系統(tǒng)擁有一個專學(xué)習(xí)文檔僅供參考用的服務(wù)器,安裝優(yōu)化的文件系統(tǒng)和瘦操作系統(tǒng),該OS專門服務(wù)于文件請求。一個NAS設(shè)備是專用、高性能、高速、單純用途的文件服務(wù)和存儲

27、系統(tǒng)。存儲網(wǎng)絡(luò)SAN是指存儲設(shè)備相互連接且與一臺服務(wù)器或一個服務(wù)器群相連的網(wǎng)絡(luò)。一個SAN網(wǎng)絡(luò)由負責(zé)網(wǎng)絡(luò)連接的通信結(jié)構(gòu)、負責(zé)組織連接的管理層、存儲部件以及電腦系統(tǒng)構(gòu)成。與NAS偏重文件共享不同,SAN主要是提供高速信息存儲。網(wǎng)絡(luò)存儲通信中使用到的相關(guān)技術(shù)和協(xié)議包括SCSI、RAID、iSCSI以及光纖信道。隨著全球非結(jié)構(gòu)化數(shù)據(jù)快速增長,針對結(jié)構(gòu)化數(shù)據(jù)設(shè)計的這些傳統(tǒng)存儲結(jié)構(gòu)在性能、可擴展性等方面都難以滿足要求,進而出現(xiàn)了集群存儲、集群并行存儲、P2P存儲、面向?qū)ο蟠鎯Φ榷喾N存儲結(jié)構(gòu)。集群存儲,簡而言之就是將假設(shè)干個普通性能的存儲系統(tǒng)聯(lián)合起來來組成存儲的集群集群存儲采用開放式的架構(gòu),具有很高擴展性

28、,一般包括存儲節(jié)點、前端網(wǎng)絡(luò)、后端網(wǎng)絡(luò)三個構(gòu)成元素,每個元素都可以非常容易地進行擴展和升級而不用改變集群存儲的架構(gòu)。集群存儲通過分布式操作系統(tǒng)的作用,會在前端和后端都實現(xiàn)負載均衡。集群并行存儲采用了分布式文件系統(tǒng)混合并行文件系統(tǒng)。并行存儲容許客戶端和存儲直接打交道,這樣可以極大地提高性能。集群并行存儲提高了并行或分區(qū)I/O的整體性能,特別是讀取操作密集型以及大型文件的訪問。獲取更大的命名空間或可編址的陣列。通過在相互獨立的存儲設(shè)備上復(fù)制數(shù)據(jù)來提高可用性。通過廉價的集群存儲系統(tǒng)來大幅降低成本,并解決擴展性方面的難題。集群存儲多在大型數(shù)據(jù)中心或高性能計算中心使用。P2P存儲用P2P的方式在廣域網(wǎng)中

29、構(gòu)建大規(guī)模分布式存儲系統(tǒng)。從體系結(jié)構(gòu)來看,系統(tǒng)采用無中心結(jié)構(gòu),結(jié)點之間對等,通過互相合作來完成用戶任務(wù)。用戶通過該平臺自主尋找其它結(jié)點進行數(shù)據(jù)備份和存儲空間交換,為用戶構(gòu)建了大規(guī)模存儲交換的系統(tǒng)平臺。P2P存儲用于構(gòu)建更大規(guī)模的分布式存儲系統(tǒng),可以跨多個大型數(shù)據(jù)中心或高性能計算中心使用。面向?qū)ο蟠鎯κ荢AN和NAS的有機結(jié)合,是一種存儲系統(tǒng)的發(fā)展趨勢。在面向?qū)ο蟠鎯χ?,文件系統(tǒng)中的用戶組件部分基本與傳統(tǒng)文件系統(tǒng)相同,而將文件系統(tǒng)中的存儲組件部分下移到智能存儲設(shè)備上,于是用戶對于存儲設(shè)備的訪問接口由傳統(tǒng)的塊接口變?yōu)閷ο蠼涌凇?.2 典型系統(tǒng)基于多種分布式文件系統(tǒng)的研究成果,人們對體系結(jié)構(gòu)的認識不

30、斷深入,分布式文件系統(tǒng)在體系結(jié)構(gòu)、系統(tǒng)規(guī)模、性能、可擴展性、可用性等方面經(jīng)歷了較大的變化。下面按時間順序介紹幾個分布式文件系統(tǒng)的典型應(yīng)用。1985年出現(xiàn)的NFS受到了廣泛的關(guān)注和認可,被移植到了幾乎所有主流的操作系統(tǒng),成為分布式文件系統(tǒng)事實上的標(biāo)準(zhǔn)。NFS利用Unix系統(tǒng)中的虛擬文件系統(tǒng)VFS-VirtualFileSystem機制,將客戶機對文件系統(tǒng)的請求,通過標(biāo)準(zhǔn)的文件訪問協(xié)議和遠程過程調(diào)用,轉(zhuǎn)發(fā)到服務(wù)器端進行處理;服務(wù)器端在VFS之上,通過本地文件系統(tǒng)完成文件的處理,實現(xiàn)了全局的分布式文件系統(tǒng)。Sun公司公開了NFS的實施標(biāo)準(zhǔn),互聯(lián)網(wǎng)工程任務(wù)組TheInternetEngineering

31、TaskForce,IETF將其列為征求意見稿RFC-RequestforComments,這很大程度上促使NFS的很多設(shè)計實現(xiàn)方法成為標(biāo)準(zhǔn),也促進了NFS的流行。GeneralParallelFileSystemGPFS13是目前應(yīng)用范圍較廣的一個系統(tǒng),在系統(tǒng)設(shè)計中采用了多項當(dāng)時較為先進的技術(shù)。GPFS的磁盤數(shù)據(jù)結(jié)構(gòu)可以支持大容量的文件系統(tǒng)和大文件,通過采用分片存儲、較大的文件系統(tǒng)塊、數(shù)據(jù)預(yù)讀等方法獲得了較高的數(shù)據(jù)吞吐率;采用擴展哈希extensiblehashing技術(shù)來支持含有大量文件和子目錄的大目錄,提高文件的查找和檢索效率。GPFS采用不同粒度的分布式鎖解決系統(tǒng)中的并發(fā)訪問和數(shù)據(jù)同步

32、問題:字節(jié)范圍的鎖用于用戶數(shù)據(jù)的同步,動態(tài)選擇元數(shù)據(jù)節(jié)點metanode進行元數(shù)據(jù)的集中管理;具有集中式線索的分布式鎖管理整個系統(tǒng)中空間分配等。GPFS采用日志技術(shù)對系統(tǒng)進行在線災(zāi)難恢復(fù)。每個節(jié)點都有各自獨立的日志,且單個節(jié)點失效時,系統(tǒng)中的其他節(jié)點可以代替失效節(jié)點檢查文件系統(tǒng)日志,進行元數(shù)據(jù)恢復(fù)操作。GPFS還有效地克服了系統(tǒng)中任意單個節(jié)點的失效、網(wǎng)絡(luò)通信故障、磁盤失效等異常事件。此外,GPFS支持在線動態(tài)添加、減少存儲設(shè)備,然后在線重新平衡系統(tǒng)中的數(shù)據(jù)。這些特性在需要連續(xù)作業(yè)的高端應(yīng)用中尤為重要。學(xué)習(xí)文檔僅供參考IBM公司在GPFS的基礎(chǔ)之上發(fā)展進化來的StorageTank14以及基于S

33、torageTank的TotalStorageSANFileSystem15又將分布式文件系統(tǒng)的設(shè)計理念和系統(tǒng)架構(gòu)向前推進了一步。它們除了具有一般的分布式文件系統(tǒng)的特性之外,采用SAN作為整個文件系統(tǒng)的數(shù)據(jù)存儲和傳輸路徑。它們采用帶外out-of-band結(jié)構(gòu),將文件系統(tǒng)元數(shù)據(jù)在高速以太網(wǎng)上傳輸,由專門的元數(shù)據(jù)服務(wù)器來處理和存儲。文件系統(tǒng)元數(shù)據(jù)和文件數(shù)據(jù)的別離管理和存儲,可以更好地利用各自存儲設(shè)備和傳輸網(wǎng)絡(luò)的特性,提高系統(tǒng)的性能,有效降低系統(tǒng)的成本。StorageTank采用積極的緩存策略,盡量在客戶端緩存文件元數(shù)據(jù)和數(shù)據(jù)。即使打開的文件被關(guān)閉,都可以在下次使用時利用已經(jīng)緩存的文件信息,整個文

34、件系統(tǒng)由管理員按照目錄結(jié)構(gòu)劃分成多個文件集fileset。每一個文件集都是一個相對獨立的整體,可以進行獨立的元數(shù)據(jù)處理和進行文件系統(tǒng)備份等。不同的文件集可以分配到不同的元數(shù)據(jù)服務(wù)器處理,形成元數(shù)據(jù)服務(wù)器機群,提供系統(tǒng)的擴展性、性能、可用性等。在TotalStorage中,塊虛擬層將整個SAN的存儲進行統(tǒng)一的虛擬管理,為文件系統(tǒng)提供統(tǒng)一的存儲空間。這樣的分層結(jié)構(gòu)有利于簡化文件系統(tǒng)的設(shè)計和實現(xiàn)。同時,它們的客戶端支持多種操作系統(tǒng),是一個支持異構(gòu)環(huán)境的分布式文件系統(tǒng)。在SANFileSystem,采用了基于策略的文件數(shù)據(jù)位置選擇方法,能有效地利用系統(tǒng)的資源、提高性能、降低成本。GFSGoogleFi

35、leSystem系統(tǒng)集群由一個master節(jié)點和大量的chunkserver結(jié)點構(gòu)成,并被許多客戶Client訪問。GFS把文件分成64MB的塊,減少了元數(shù)據(jù)的大小,使Master節(jié)點能夠非常方便地將元數(shù)據(jù)放置在內(nèi)存中以提升訪問效率。數(shù)據(jù)塊分布在集群的機器上,使用Linux的文件系統(tǒng)存放,同時每塊文件至少有3份以上的冗余??紤]到文件很少被刪減或者覆蓋,文件操作以添加為主,充分考慮了硬盤線性吞吐量大和隨機讀點慢的特點。中心是一個Master節(jié)點,根據(jù)文件索引,找尋文件塊。系統(tǒng)保證每個Master都會有相應(yīng)的復(fù)制品,以便于在Master節(jié)點出現(xiàn)問題時進行切換。在Chunk層,GFS將節(jié)點失敗視為常

36、態(tài),能夠非常好地處理Chunk節(jié)點失效的問題。對于那些稍舊的文件,可以通過對它進行壓縮,來節(jié)省硬盤空間,且壓縮率驚人,有時甚至可以接近90%。為了保證大規(guī)模數(shù)據(jù)的高速并行處理,引入了MapReduce16編程模型,同時,由于MapReduce將很多繁瑣的細節(jié)隱藏起來,也極大地簡化了程序員的開發(fā)工作。Yahoo也推出了基于MapReduce的開源版本Hadoop,目前Hadoop在業(yè)界已經(jīng)被大規(guī)模使用。HDFSHadoopDistributedFileSystem有著高容錯性的特點,并且設(shè)計用來部署在低廉的硬件上,實現(xiàn)了異構(gòu)軟硬件平臺間的可移植性。為了盡量減小全局的帶寬消耗讀延遲,HDFS嘗試返

37、回給一個讀操作離它最近的副本。硬件故障是常態(tài),而不是異常,自動地維護數(shù)據(jù)的多份復(fù)制,并且在任務(wù)失敗后能自動地重新部署計算任務(wù),實現(xiàn)了故障的檢測和自動快速恢復(fù)。HDFS放寬了可移植操作系統(tǒng)接口(POSIX:PortableOperatingSystemInterface)的要求,這樣可以流的形式訪問文件系統(tǒng)中的數(shù)據(jù),實現(xiàn)了以流的形式訪問寫入的大型文件的目的,重點是在數(shù)據(jù)吞吐量,而不是數(shù)據(jù)訪問的反應(yīng)時間。HDFS提供了接口,來讓程序?qū)⒆约阂苿拥诫x數(shù)據(jù)存儲更近的位置,消除了網(wǎng)絡(luò)的擁堵,提高了系統(tǒng)的整體吞吐量。HDFS的命名空間是由名字節(jié)點來存儲的。名字節(jié)點使用叫做EditLog的事務(wù)日志來持久記錄每

38、一個對文件系統(tǒng)元數(shù)據(jù)的改變。名字節(jié)點在本地文件系統(tǒng)中用一個文件來存儲這個EditLog。整個文件系統(tǒng)命名空間,包括文件塊的映射表和文件系統(tǒng)的配置都存在一個叫FsImage的文件中,F(xiàn)sImage也存放在名字節(jié)點的本地文件系統(tǒng)中。FsImage和Editlog是HDFS的核心數(shù)據(jù)結(jié)構(gòu)。5大數(shù)據(jù)基礎(chǔ)設(shè)施-云存儲面對大數(shù)據(jù)的海量異構(gòu)數(shù)據(jù),傳統(tǒng)存儲技術(shù)面臨建設(shè)成本高、運維復(fù)雜、擴展性有限等問題,成本低廉、提供高可擴展性的云存儲技術(shù)日益得到關(guān)注。5.1 定義由于業(yè)內(nèi)沒有統(tǒng)一的標(biāo)準(zhǔn),各廠商的技術(shù)發(fā)展路線也不盡相同,因此相對于云計算,云存儲概念存在更多的多義和模糊現(xiàn)象17。結(jié)合云存儲技術(shù)發(fā)展背景及主流廠商的

39、技術(shù)方向,可以得出如下定義:云存儲是通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等,將網(wǎng)絡(luò)中大量各種不同的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個系統(tǒng)18。學(xué)習(xí)文檔僅供參考5.2 云存儲架構(gòu)云存儲是由一個網(wǎng)絡(luò)設(shè)備、存儲設(shè)備、服務(wù)器、應(yīng)用軟件、公用訪問接口、接入網(wǎng)和客戶端程序等組成的復(fù)雜系統(tǒng)。以存儲設(shè)備為核心,通過應(yīng)用軟件來對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問服務(wù)。云存儲的架構(gòu)如圖2所示:訪同閏應(yīng)用境口后蒙科常理信十人空間強務(wù)這轉(zhuǎn)兩空間程曼等仔事外單位去閑舒麻器附.蠟得市巖*隼中仔俅,運程共享鞠鵬府河.TPTV,中行稿.阿司大咨量在油仔精等網(wǎng)絡(luò)炭人、,用尸私證-叔根皆留公用

40、APE喝口-應(yīng)用物件.Wub舐d等集群系統(tǒng)分冷火文件惠城limit*1內(nèi)容分況.P3P.具線螂捌除在旭I虎殖化.在M臬中T!K=杭杰讖捏-雉妗弁鰻.在儲猊備圖2云存儲架構(gòu)存儲層:存儲設(shè)備數(shù)量龐大且分布在不同地域,彼此通過廣域網(wǎng)、互聯(lián)網(wǎng)或光纖通道網(wǎng)絡(luò)連接在一起。在存儲設(shè)備之上是一個統(tǒng)一存儲設(shè)備管理系統(tǒng),實現(xiàn)存儲設(shè)備的邏輯虛擬化管理、多鏈路冗余管理,以及硬件設(shè)備的狀態(tài)監(jiān)控和故障維護?;A(chǔ)管理層:通過集群、分布式文件系統(tǒng)和網(wǎng)格計算等技術(shù),實現(xiàn)云存儲設(shè)備之間的協(xié)同工作,使多個的存儲設(shè)備可以對外提供同一種服務(wù),并提供更大更強更好的數(shù)據(jù)訪問性能。數(shù)據(jù)加密技術(shù)保證云存儲中的數(shù)據(jù)不會被未授權(quán)的用戶訪問,數(shù)據(jù)備

41、份和容災(zāi)技術(shù)可以保證云存儲中的數(shù)據(jù)不會喪失,保證云存儲自身的安全和穩(wěn)定。應(yīng)用接口層:不同的云存儲運營商根據(jù)業(yè)務(wù)類型,開發(fā)不同的服務(wù)接口,提供不同的服務(wù)。例如視頻監(jiān)控、視頻點播應(yīng)用平臺、網(wǎng)絡(luò)硬盤,遠程數(shù)據(jù)備份應(yīng)用等。訪問層:授權(quán)用戶可以通過標(biāo)準(zhǔn)的公用應(yīng)用接口來登錄云存儲系統(tǒng),享受云存儲服務(wù)19。5.3 云存儲中的數(shù)據(jù)縮減技術(shù)大數(shù)據(jù)時代云存儲技術(shù)的關(guān)鍵技術(shù)主要有云存儲中的存儲虛擬化、分布式存儲技術(shù)、數(shù)據(jù)備份、數(shù)據(jù)縮減技術(shù)、內(nèi)容分發(fā)網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)遷移、數(shù)據(jù)容錯技術(shù)等技術(shù)20,而其中云存儲的數(shù)據(jù)縮減技術(shù),能夠滿足海量信息爆炸式增長趨勢,在一定程度上節(jié)約企業(yè)存儲成本,提高效率,從而成為人們關(guān)注的重點。5

42、.3.1 自動精簡配置傳統(tǒng)配置技術(shù)為了防止重新配置可能造成的業(yè)務(wù)中斷,常常會過度配置容量。在這種情況下,一旦存儲分配給某個應(yīng)用,就不可能重新分配給另一個應(yīng)用,由此造成了已分配的容量沒有得到充分利用,造成資源極大浪費。自動精簡配置技術(shù)利用虛擬化方法減少物理存儲空間的分配,最大限度提升存儲空間利用率,其核心原理是欺騙”操作系統(tǒng),讓操作系統(tǒng)認為存儲設(shè)備中有很大的存儲空間,而實際的物理存儲空間則沒有那么大。自動精簡配置技術(shù)的應(yīng)用會減少已分配但未使用的存儲容量的浪費,在分配存儲空間時,需要多少存儲空間系統(tǒng)則按需分配。隨著數(shù)據(jù)存儲的信息量越來越多,實際存儲空間也可以及時擴展,無需用戶手動處理21。5.3.

43、2 自動存儲分層自動存儲分層AST技術(shù)是存儲上減少數(shù)據(jù)的另外一種機制,主要用來幫助數(shù)據(jù)中心最大程度地降低成本和復(fù)雜性。在過去,進行數(shù)據(jù)移動主要依靠手工操作,由管理員來判斷這個卷的數(shù)據(jù)訪問壓力或大或小,遷移的時候也只能一個整卷一起遷移。自動存儲分層技術(shù)的特點則是其分層的自動化和智能化。利用自動存儲分層技術(shù)一個磁盤陣列能夠把活動數(shù)據(jù)保留在快速、昂貴的存儲上,把不活躍的數(shù)據(jù)遷移到廉價的低速層上,使用戶數(shù)據(jù)保留在合適的存儲層級,減少了存儲需求的總量,降低了成本,提升了性能。學(xué)習(xí)文檔僅供參考隨著固態(tài)存儲在當(dāng)前磁盤陣列中的采用以及云存儲的來臨,自動存儲分層已經(jīng)成為大數(shù)據(jù)時代補充內(nèi)部部署的存儲的主要方式。5

44、.3.3 重復(fù)數(shù)據(jù)刪除物理存儲設(shè)備在使用一段時間后必然會出現(xiàn)大量重復(fù)的數(shù)據(jù)。重復(fù)刪除"技術(shù)De-duplication作為一種數(shù)據(jù)縮減技術(shù)可對存儲容量進行優(yōu)化。它通過刪除數(shù)據(jù)集中重復(fù)的數(shù)據(jù),只保留其中一份,從而消除冗余數(shù)據(jù)。使用De-dupe技術(shù)可以將數(shù)據(jù)縮減到原來的1/20-1/50。由于大幅度減少了對物理存儲空間的信息量,從而到達減少傳輸過程中的網(wǎng)絡(luò)帶寬、節(jié)約設(shè)備成本、降低能耗的目的。重復(fù)數(shù)據(jù)刪除技術(shù)原理De-dupe按照消重的粒度可以分為文件級和數(shù)據(jù)塊級??梢酝瑫r使用2種以上的hash算法計算數(shù)據(jù)指紋,以獲得非常小的數(shù)據(jù)碰撞發(fā)生概率。具有相同指紋的數(shù)據(jù)塊即可認為是相同的數(shù)據(jù)塊,

45、存儲系統(tǒng)中僅需要保留一份。這樣,一個物理文件在存儲系統(tǒng)中就只對應(yīng)一個邏輯表示。5.3.4 數(shù)據(jù)壓縮數(shù)據(jù)壓縮技術(shù)是提高數(shù)據(jù)存儲效率最古老最有效的方法之一,可以顯著降低待處理和存儲的數(shù)據(jù)量,一般情況下可實現(xiàn)2:13:1的壓縮,對于隨機數(shù)據(jù)效果更好,像數(shù)據(jù)庫。其原理就是將收到的數(shù)據(jù)通過存儲算法存儲到更小的空間中去。在線壓縮RACE是最新研發(fā)的數(shù)據(jù)壓縮技術(shù),與傳統(tǒng)壓縮技術(shù)不同。對RACE技術(shù)來說,不僅能在數(shù)據(jù)首次寫入時進行壓縮,以幫助系統(tǒng)控制大量數(shù)據(jù)在主存中雜亂無章地存儲的情形。還可以在數(shù)據(jù)寫入到存儲系統(tǒng)前壓縮數(shù)據(jù),進一步提高存儲系統(tǒng)中的磁盤和緩存的性能和效率。數(shù)據(jù)壓縮中使用的LZS算法基于LZ77實

46、現(xiàn),主要由2部分構(gòu)成,滑窗SlidingWindow和自適應(yīng)編碼AdaptiveCoding。壓縮處理時,在滑窗中查找與待處理數(shù)據(jù)相同的塊,并用該塊在滑窗中的偏移值及塊長度替代待處理數(shù)據(jù),從而實現(xiàn)壓縮編碼。如果滑窗中沒有與待處理數(shù)據(jù)塊相同的字段,或偏移值及長度數(shù)據(jù)超過被替代數(shù)據(jù)塊的長度,則不進行替代處理。LZS算法的實現(xiàn)非常簡潔,處理比較簡單,能夠適應(yīng)各種高速應(yīng)用。%前,1:圖?療己咋鯉教摳在山解依州海功猿U1I-7H|圖3LZ777算法示意圖6數(shù)據(jù)可視化圖靈獎得主JimGray在2007年提出了以數(shù)據(jù)為基礎(chǔ)的科學(xué)研究第四范式”的概念22,研究方法已經(jīng)從我應(yīng)該設(shè)計個什么樣的實驗來驗證這個假設(shè)?

47、”逐漸發(fā)展為從這些已知的數(shù)據(jù)中我能夠看到什么相關(guān)性?”數(shù)據(jù)可視化是獲取大數(shù)據(jù)Value的有效手段。6.1 定義與目的數(shù)據(jù)可視化為人們提供了從閱讀局部信息到縱觀全局信息、從外表到本質(zhì)和從內(nèi)容到結(jié)構(gòu)的有力工具。其演化過程是從文本到樹和圖,再到多媒體,以便最大限度地利用人們的多通道和分布式認知功能以及形象思維功能,到達意會23o數(shù)據(jù)可視化致力于通過交互可視界面來進行分析、推理和決策。人們通過使用可視分析技術(shù)和工具,從海量、動態(tài)、不確定甚至包含相互沖突的數(shù)據(jù)中整合信息,獲取對復(fù)雜情景的更深層的理解??梢暦治黾夹g(shù)允許人們對已有預(yù)測進行檢驗,對未知信息進行探索,提供快速、可檢驗和易理解的評估24,以及學(xué)習(xí)

48、文檔僅供參考提供更有效的交流手段。數(shù)據(jù)可視化的開發(fā)和大部分項目開發(fā)一樣,也是根據(jù)需求來根據(jù)數(shù)據(jù)維度或?qū)傩赃M行篩選,根據(jù)目的和用戶群選用表現(xiàn)方式25o同一份數(shù)據(jù)可以可視化成多種看起來截然不同的形式。有的可視化目標(biāo)是為了觀測、跟蹤數(shù)據(jù),所以就要強調(diào)實時性、變化、運算能力,可能就會生成一份不停變化、可讀性強的圖表。有的為了分析數(shù)據(jù),所以要強調(diào)數(shù)據(jù)的呈現(xiàn)度、可能會生成一份可以檢索、交互式的圖表有的為了發(fā)現(xiàn)數(shù)據(jù)之間的潛在關(guān)聯(lián),可能會生成分布式的多維的圖表。有的為了幫助普通用戶或商業(yè)用戶快速理解數(shù)據(jù)的含義或變化,會利用漂亮的顏色、動畫創(chuàng)建生動、明了,具有吸引力的圖表。還有的圖表可以被用于教育、宣傳或政治,

49、被制作成海報、課件,出現(xiàn)在街頭、廣告手持、雜志和集會上。這類圖表擁有強大的說服力,使用強烈的比照、置換等手段,可以創(chuàng)造出極具沖擊力自指人心的圖像。在國外許多媒體會根據(jù)新聞主題或數(shù)據(jù),雇用設(shè)計師來創(chuàng)建可視化圖表對新聞主題進行輔助。6.2 數(shù)據(jù)分類及可視化方法要可視化的數(shù)據(jù)大致可分一下幾類26:6.2.1 一系列對象,之間相互關(guān)聯(lián)這種情況下因為要展示數(shù)據(jù)之間相互關(guān)系,所以實質(zhì)上是一個網(wǎng)絡(luò)圖,不過通過一些技巧可以把簡單網(wǎng)絡(luò)圖變成更好的形式。例如,轉(zhuǎn)換成流圖27,或圈形的網(wǎng)絡(luò)圖28,圈形可以使得連線集中在圈內(nèi)部,而且可以減少交叉。6.2.2 層級數(shù)據(jù)數(shù)據(jù)之間可分成幾個層級關(guān)系,就是層級圖29o使用散點

50、,使用散點的大小或者顏色等屬性來表示數(shù)據(jù)的大小30o標(biāo)簽云也是屬于這類,我們可以通過每個tag的大小顏色等等來標(biāo)示數(shù)據(jù)的大小。上面的兩種方法都可以歸納到內(nèi)隱關(guān)系呈現(xiàn)層次化數(shù)據(jù)31o內(nèi)隱式層次數(shù)據(jù)可視化方法使用包含、遮擋、相鄰等空間關(guān)系表示數(shù)據(jù)中的邏輯關(guān)系,更高效地表現(xiàn)復(fù)雜海量的層次數(shù)據(jù),提供快速對數(shù)據(jù)全貌的理解。相比于傳統(tǒng)的節(jié)點鏈接表示,內(nèi)隱式表示方法能夠最大限度地利用所有顯示空間,提供更好的數(shù)據(jù)呈現(xiàn)效果和交互體驗。6.2.3 多維數(shù)據(jù)如何將超過人類理解能力的三維以上的數(shù)據(jù),轉(zhuǎn)化為人類能視覺直觀理解的可視化結(jié)果,是多維數(shù)據(jù)可視化所研究的課題。多維數(shù)據(jù)有多種傳統(tǒng)的可視化方法、包括平行坐標(biāo)、散點圖

51、矩陣32和維度降維法6.2.4 將時間和空間可視化通過時間的維度來查看指標(biāo)值的變化情況,一般通過增加時間軸的形式33,也就是常見的趨勢圖。當(dāng)圖表存在地域信息并且需要突出表現(xiàn)的時候,可用地圖將空間可視化,地圖作為主背景呈現(xiàn)所有信息點34o6.2.5 讓圖表動”起來數(shù)據(jù)圖形化完成后,可結(jié)合實際情況,將其變?yōu)閯討B(tài)化和可操控性的圖表,用戶在操控過程中能更好地感知數(shù)據(jù)的變化過程,提升體驗35o實現(xiàn)動態(tài)化通常以下兩種方式:交互和動畫。6.2.6 多種可視化方法結(jié)合單一的可視化方法已不能滿足需要。越來越多的可視化系統(tǒng)通過結(jié)合不同的科學(xué)和數(shù)據(jù)可視化方法,提供一致的多視角和連貫的交互手段,使可視化系統(tǒng)能夠提供日

52、益復(fù)雜的數(shù)據(jù)所需的分析能力36。學(xué)習(xí)文檔僅供參考6.3 可視化原則準(zhǔn)確性:當(dāng)在擴展數(shù)據(jù)、圖表和圖形,使用不同尺寸和形狀的數(shù)據(jù)可視化時,不能過度。最好使用數(shù)學(xué)公式,有依據(jù)的數(shù)字,然后在圖形中使用相同的比例。而不是隨手繪制形狀。創(chuàng)新性:創(chuàng)造力是從簡單的圖表中表達出來的。不要害怕使用排版,插圖,圖標(biāo)或其他設(shè)計元素。簡潔的:簡潔其實就是需要把一些繁瑣復(fù)雜很難以理解的數(shù)據(jù)轉(zhuǎn)化成一些簡單易懂的數(shù)據(jù)表現(xiàn)形式。當(dāng)創(chuàng)建一個信息圖表的主要目標(biāo)是答復(fù)一個具體的問題的時候,圖表數(shù)據(jù)要覆蓋圖形,并開始通過它簡潔地答復(fù)下列問題。當(dāng)這樣做的同時,可以添加額外的事實或資料,使您的圖形更廣泛。簡潔的答復(fù)話題,也將有助于創(chuàng)建一個

53、更有效的可視化圖形。6.4 大可視化的幾個挑戰(zhàn)6.4.1 現(xiàn)場可視化37,38傳統(tǒng)的先把數(shù)據(jù)存儲在磁盤上再分析的方法,在超大規(guī)模數(shù)據(jù)時已不再可行。替代它的是,當(dāng)數(shù)據(jù)還在內(nèi)存中時就進行現(xiàn)場可視化。該方法可極大的減少I/O開銷。但是該方法帶來了一系列設(shè)計和實現(xiàn)上的挑戰(zhàn),包括交互分析、算法、內(nèi)存、工作流和線程。這些技術(shù)挑戰(zhàn)中,有些理論上當(dāng)前已能夠解決,但需要在高性能計算、策略規(guī)則和商業(yè)硬件系統(tǒng)上進行較大的改變。6.4.2 不確定性海量的數(shù)據(jù)難免摻雜噪聲,加之?dāng)?shù)據(jù)的持續(xù)增加,人類處理整個數(shù)據(jù)集的能力嚴(yán)重受限。在很多任務(wù)中不得不對數(shù)據(jù)集進行多次抽樣,這樣就帶來了更大的不確定性。所以,必須設(shè)計出能夠處理不

54、完整數(shù)據(jù)的可視化分析技術(shù),能給用戶直觀的視角,幫助用戶降低決策風(fēng)險。6.4.3 用戶界面和交互數(shù)據(jù)量日益增加,而人類的認知能力由于客觀的生物性限制難以快速提高。在大數(shù)據(jù)可視化中,需對用戶界面和交互進行深度的研究,以平衡大數(shù)據(jù)所含信息與人類認知能力之間逐漸擴大的鴻溝。6.4.4 超視野顯示對數(shù)據(jù)進行更多的數(shù)據(jù)映射和降維,同時就意味著需要更多的抽象表示,理解這些抽象的表示需要人具備額外的洞察力和解釋能力。雖然可以制造尺寸和分辨率都很大的顯示器,但人類的視敏度是有限的。由于同時牽涉了人和機器的限制,不是一蹴而就能解決的。7總結(jié)本文探討了大數(shù)據(jù)完整生命周期相關(guān)的5個部分,分析了各部分的研究現(xiàn)狀,以及其

55、中的難點和技術(shù)挑戰(zhàn)。對于大數(shù)據(jù)的研究仍處于一個非常初步的階段,還有很多基礎(chǔ)性的問題有待解決。大數(shù)據(jù)相關(guān)的概念和技術(shù)會繼續(xù)更廣泛地沖擊技術(shù)人員的眼球,我們需要做的是抓住問題的本質(zhì),盡可能理性地分析自己對數(shù)據(jù)的核心需求是什么、用它來解決什么問題。References:1 Nature.BigDataEB/OL.2012910902.:/nature/news/specials/bigdata/index.html2 RandalE.Bryant,RandyH.Katz,EdwardD.Lazowska.Big9DataComputing:Creatingrevolutionarybreakthro

56、ughsincommerce,science,andsocietyR.3 Science.SpecialOnlineCollection:DealingwithDataEB/OL.2012910902.:/sciencema4 D.Agrawal,P.Bernstein,E.Bertino,etal.ChallengesandOpportunitieswithBigDataAcommunitywhitepaperdevelopedbyleadingresearchersacrosstheUnitedStatesR.學(xué)習(xí)文檔僅供參考11 Bigtable:ADistributedStorageS

57、ystemforStructuredData,FayChang,JeffreyDean,SanjayGhemawat,WilsonC.Hsieh,DeborahA.WallachMikeBurrows,TusharChandra,AndrewFikes,RobertE.Gruber,InOSDI,2006.toappear12 Dynamo:Amazon'sHighlyAvailableKey-valueStore,GiuseppeDeCandia,DenizHastorun,MadanJampani,GunavardhanKakulapati,AvinashLakshman,AlexPilchin,SwaminathanSivasubramanian,PeterVosshallandWernerVogels,Amazon13 FrankSchmuckandRogerHaskin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論