2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、YOUR SITE HERE,大數(shù)據(jù)技術(shù)交流,2013.02,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,什么是大數(shù)據(jù)?,大數(shù)據(jù) 指的是海量無法通過傳統(tǒng)方式管理的數(shù)據(jù)。,Big Data作為一個專有名詞成為熱點,主要應(yīng)歸功于近年來互聯(lián)網(wǎng)

2、、云計算、移動和物聯(lián)網(wǎng)的迅猛發(fā)展。無所不在的移動設(shè)備、RFID、無線傳感器每分每秒都在產(chǎn)生數(shù)據(jù),數(shù)以億計用戶的互聯(lián)網(wǎng)服務(wù)時時刻刻在產(chǎn)生巨量的交互……要處理的數(shù)據(jù)量實在是太大、增長太快了,而業(yè)務(wù)需求和競爭壓力對數(shù)據(jù)處理的實時性、有效性又提出了更高要求,傳統(tǒng)的常規(guī)技術(shù)手段根本無法應(yīng)付。,YOUR SITE HERE,大數(shù)據(jù)的4V特性,體量Volume,多樣性Variety,價值密度Value,速度Velocity,非結(jié)構(gòu)化數(shù)據(jù)的超大規(guī)模和增

3、長總數(shù)據(jù)量的80~90%比結(jié)構(gòu)化數(shù)據(jù)增長快10倍到50倍是傳統(tǒng)數(shù)據(jù)倉庫的10倍到50倍,大數(shù)據(jù)的異構(gòu)和多樣性很多不同形式(文本、圖像、視頻、機器數(shù)據(jù))無模式或者模式不明顯不連貫的語法或句義,大量的不相關(guān)信息對未來趨勢與模式的可預(yù)測分析深度復(fù)雜分析(機器學(xué)習(xí)、人工智能Vs傳統(tǒng)商務(wù)智能(咨詢、報告等),實時分析而非批量式分析數(shù)據(jù)輸入、處理與丟棄立竿見影而非事后見效,YOUR SITE HERE,大數(shù)據(jù)技術(shù),分布式緩存、基

4、于MPP的分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、各種NoSQL分布式存儲方案,內(nèi)存數(shù)據(jù)庫等。,存儲,處理,應(yīng)用,Map Reduce,流計算,HIVE,pig,R,mahout等查詢統(tǒng)計,數(shù)據(jù)挖掘技術(shù),YOUR SITE HERE,大數(shù)據(jù)的存儲,采用了一批新技術(shù),主要包括分布式緩存、基于MPP的分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、各種NoSQL分布式存儲方案等。,YOUR SITE HERE,分布式數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫對比,YOUR SITE H

5、ERE,大規(guī)模并行處理MPP (Massively Parallel Processing),YOUR SITE HERE,,YOUR SITE HERE,硬件,一些領(lǐng)先的存儲廠商都在建立專門針對Hadoop和大數(shù)據(jù)分析的存儲設(shè)備。這些供應(yīng)商包括EMC,目前提 供Hadoop解決方案,例如Greenplum HD Data Computing Appliance。甲骨文正在考慮進一步深化Exadata系列設(shè)備,提供計算能力以及高速存儲

6、?! ∽詈笠粋€存儲選擇是云形式的存儲,Cloudera、微軟、Amazon和很多其他供應(yīng)商都在提供基于云的大數(shù)據(jù)解決方案,這些解決方案能夠提供處理能力、存儲和支持。,橫向可擴展存儲,開放性,YOUR SITE HERE,所需的硬件和成本,那么,我們又需要多少的硬件呢? 估計Hadoop所需的硬件有點不一樣,這取決于你是在問哪家廠商。Cloudera的清單詳細地列出了Hadoop的典型從屬節(jié)點應(yīng)該有怎樣的硬件配置:?中檔處理

7、器?4GB至32 GB內(nèi)存?每個節(jié)點連接至千兆以太網(wǎng),并配備一只萬兆以太網(wǎng)架頂式交換機?專用的交換基礎(chǔ)設(shè)施,以避免Hadoop擁塞網(wǎng)絡(luò)?每個機器4至12個驅(qū)動器,非RAID配置方式,YOUR SITE HERE,Hadoop方案(例:intel),YOUR SITE HERE,YOUR SITE HERE,YOUR SITE HERE,HP Vertica 的數(shù)據(jù)倉庫系統(tǒng)解決方案,基于列存儲和MPP等先進技術(shù)平均性能提高50x

8、-1000x倍高可擴展性(TBs ~ PBs)節(jié)省高至90%的存儲空間快速集成ETL/BI解決方案高性能運行于電信級硬件快速和靈活部署,YOUR SITE HERE,,Cloudera CDH4,YOUR SITE HERE,Hadoop,一個分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運算和存儲。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoo

9、p Distributed File System),簡稱HDFS。HDFS有著高容錯性的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。,YOUR SITE HERE,Hadoop相關(guān)子項目,,YOUR SITE HERE,目 錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapR

10、educe)介紹3.Hadoop的最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,Hadoop簡介,Hadoop 一個分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運算和存儲 。 Hadoop是項目的總稱,主要是由分布式存儲(HDFS)、分布式計算(MapReduce)組成 。

11、 Hadoop程序目前只能運行在Linux系統(tǒng)上,window上運行需要安裝其他插件,安裝過程見《hadoop安裝說明.docx》 。,YOUR SITE HERE,Hadoop優(yōu)點,可擴展:不論是存儲的可擴展還是計算的可擴展都是Hadoop的設(shè)計根本。經(jīng)濟:框架可以運行在任何普通的PC上??煽浚悍植际轿募到y(tǒng)的備份恢復(fù)機制以及MapReduce的任務(wù)監(jiān)控保證了分布式處理的可靠性。(元數(shù)據(jù)磁盤錯誤,心跳測試,副本數(shù),快照(目前還沒實

12、現(xiàn)))高效:分布式文件系統(tǒng)的高效數(shù)據(jù)交互實現(xiàn)以及MapReduce結(jié)合Local Data處理的模式,為高效處理海量的信息作了基礎(chǔ)準備。,YOUR SITE HERE,Hadoop生態(tài)系統(tǒng),YOUR SITE HERE,HDFS適應(yīng)條件,超大文件 指的是幾百MB,幾百GB,幾百TB,甚至幾百PB流式數(shù)據(jù)訪問 HDFS建立的思想是:一次寫入、多次讀取模式是最高 效的。商用硬件 hadoo

13、p不需要運行在昂貴并且高可靠的硬件上。,HDFS:為以流式數(shù)據(jù)訪問模式存儲超大文件而設(shè)計的文件系統(tǒng)。,YOUR SITE HERE,HDFS不適應(yīng)條件,低延遲數(shù)據(jù)訪問 HDFS是為了達到高數(shù)據(jù)吞吐量而優(yōu)化的,這是以延遲為代價的,對于低延遲訪問,可以用Hbase(hadoop的子項目)。大量的小文件多用戶寫入,任意修改,YOUR SITE HERE,Hdfs集群框架圖,YOUR SITE HERE,NameNode記錄著

14、每個文件的元數(shù)據(jù)。每個文件在那個塊中,每個數(shù)據(jù)節(jié)點包含哪些塊。(不儲存原始文件)DataNode是文件的工作者,它們存儲文件并提供定位塊的服務(wù),并且定時向名稱節(jié)點發(fā)送它們的存儲塊的列表。 (儲存原始文件)重要參數(shù) dfs.replication.min參數(shù)。最小為1,表示每個塊在HDFS中的副本個數(shù)。,Hdfs集群框架,YOUR SITE HERE,Hdfs集群框架,文件寫入:Client向NameN

15、ode發(fā)起文件寫入的請求。 NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。 Client將文件劃分為多個Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。文件讀?。?Client向NameNode發(fā)起文件讀取的請求。 NameNode返回文件存儲的DataNode的信息。 Client讀取文件信息。,YOUR SITE HERE,H

16、dfs文件寫入圖,YOUR SITE HERE,Hdfs文件讀取圖,YOUR SITE HERE,HDFS的幾個設(shè)計特點,Block的放置:默認不配置。一個Block會有三份備份,一份放在NameNode指定的DataNode,另一份放在與指定DataNode非同一Rack上的DataNode,最后一份放在與指定DataNode同一Rack上的DataNode上。備份無非就是為了數(shù)據(jù)安全,考慮同一Rack的失敗情況以及不同Rack之間數(shù)

17、據(jù)拷貝性能問題就采用這種配置方式。心跳檢測DataNode的健康狀況,如果發(fā)現(xiàn)問題就采取數(shù)據(jù)備份的方式來保證數(shù)據(jù)的安全性。數(shù)據(jù)復(fù)制(場景為DataNode失敗、需要平衡DataNode的存儲利用率和需要平衡DataNode數(shù)據(jù)交互壓力等情況):這里先說一下,使用HDFS的balancer命令,可以配置一個Threshold來平衡每一個DataNode磁盤利用率。例如設(shè)置了Threshold為10%,那么執(zhí)行balancer命令的時候

18、,首先統(tǒng)計所有DataNode的磁盤利用率的均值,然后判斷如果某一個DataNode的磁盤利用率超過這個均值Threshold以上,那么將會把這個DataNode的block轉(zhuǎn)移到磁盤利用率低的DataNode,這對于新節(jié)點的加入來說十分有用。,YOUR SITE HERE,I/O操作,Writable接口序列化:指的是將結(jié)構(gòu)化對象轉(zhuǎn)換為字節(jié)流以便網(wǎng)絡(luò)進行傳輸 或者寫入存儲的過程。 反序列化:指的是將

19、字節(jié)流轉(zhuǎn)為一系列結(jié)構(gòu)化對象的過程。 (java定義的序列化和反序列化工具不夠緊湊,高效)在hadoop中,常規(guī)JAVA數(shù)據(jù)類型是不能表示Hdfs的數(shù)據(jù)類型的, 例如hdfs中的字符串不是string類表示,而是Text類,這些 數(shù)據(jù)類型都必須實現(xiàn)一個writable接口 。Writable是Hadoop的核心(MapReduce程序使用他來序列化 鍵/值對):

20、 void write(DataOutput out) throws IOException; void readFields(DataInput in) throws IOException; 分別實現(xiàn)對數(shù)據(jù)的序列化和反序列化。,YOUR SITE HERE,Writable接口的子類,YOUR SITE HERE,Writable接口的子類,1.對Java中的int型進行封裝那么就是hadoop中的In

21、tWritable類在寫程序時可以把IntWritable可以看著是int 類型,它實現(xiàn)了WritableComparable接口。 WritableComparable又是 Writable、 java.lang.comparable接口的子接口。2.Writable類對所有的Java基本類型進行封裝:如:boolean -> BooleanWritable ; Byte -> ByteWritab

22、le3.我們可以自已實現(xiàn)Writable接口,編寫更復(fù)雜的結(jié)構(gòu)的類。 核心:hadoop有自己一套的I/O機制。I/O類都必須實現(xiàn)Writable接口。,YOUR SITE HERE,Map Reduce,Map/Reduce是一個編程模型(programming model),是一個用于處理和生成大規(guī)模數(shù)據(jù)集(processing and generating large data sets)的相關(guān)的實現(xiàn)。用戶定義一個ma

23、p函數(shù)來處理一個key/value對以生成一批中間的key/value對,再定義一個reduce函數(shù)將所有這些中間的有著相同key的values合并起來。很多現(xiàn)實世界中的任務(wù)都可用這個模型來表達。,YOUR SITE HERE,MapReduce程序,,1:run job,JobClient,客戶端JVM,JobTracker,TaskTracker,Child,MapTask或者ReduceTask,Jobtracker節(jié)點,子J

24、VM,Tasktracker 節(jié)點,HDFS,,,,,,,,,,,,,,,,,,2:get new job ID,,3:copy Jobrescouce,,4:submit job,,,,,5:initialize job,,6:retrieve Input splits,,7:returns task,,8:retrieve jobresources,,,10:run,9:launch,客戶端: 提交MapReduce

25、作業(yè), 即一個job。jobTracker: 協(xié)調(diào)作業(yè)的運行。taskTracker:作業(yè)劃分后的任務(wù) (一個job對應(yīng)多個task, 一個task對應(yīng)一個 或者多個MapReduce線程)。,MapReduce數(shù)據(jù)流MapReduce的工作原理,YOUR SITE HERE,MapReduce數(shù)據(jù)流,,YOUR SITE HE

26、RE,MapReduce數(shù)據(jù)流,1 根據(jù)輸入數(shù)據(jù)的大小和參數(shù)的設(shè)置把數(shù)據(jù)分成splits, 每個split對于一個map線程。2 Split中的數(shù)據(jù)作為Map的輸入, Map的輸出一定在Map端。3 Map的輸出到Reduce的輸入的過程(shuffle過程): 第一階段:在map端完成 內(nèi)存->排序->寫入磁盤->復(fù)制 分區(qū)->排序->分區(qū)合并->合并后分區(qū)->

27、;復(fù)制 第二階段:在reduce端完成 映射到reduce端分區(qū)->合并->排序4 Reduce的輸入到Reduce的輸出 最后排好序的key/value作為Reduce的輸入,輸出不一定 是在reduce端。,YOUR SITE HERE,MapReduce數(shù)據(jù)流,MapReduce是 Hadoop程序的體現(xiàn)??蚣軜O其簡單:首先是對MapReduce程序運行前的參數(shù)配置,然后編寫Map類

28、(實現(xiàn)Map方法),最后是Reduce類(實現(xiàn)Reduce方法)。MapReduce程序的每個細節(jié)都與設(shè)置的參數(shù)有很大的關(guān)系,參數(shù)設(shè)置的好,程序的效率肯定得到提高。Map方法:Map(k1,v1) ->list(k2,v2) ,并行應(yīng)用于每一個輸入的數(shù)據(jù)集,每一次調(diào)用都會產(chǎn)生一個(k2,v2)的隊列 。Reduce方法:Reduce(k2,list(v2)) -> list(k3,v

29、3)。收集map端輸出隊列l(wèi)ist(k2,v2)中有相同key的數(shù)據(jù)對,把它們聚集在一起,輸出時形成目的數(shù)據(jù) list(k3,v3)。,YOUR SITE HERE,Hadoop應(yīng)用案例,誰在用hadoopYahooFacebookAmazonEbayHuluIBMLinkedInLast.fmAlibabaBaidu中國移動研究院……,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Ha

30、doop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,Hadoop已經(jīng)過時了嗎?,Google后Hadoop時代的新“三駕馬車”——Caffeine、Pregel、Dremel 在2010年,Google搜索引擎發(fā)生了重大變革。Google將其搜索遷移到新的軟件平臺,他們稱之為“Caffeine”(bigt

31、able)。Pregel主要繪制大量網(wǎng)上信息之間關(guān)系的“圖形數(shù)據(jù)庫” Dremel可以在極快的速度處理網(wǎng)絡(luò)規(guī)模的海量數(shù)據(jù)。據(jù)Google提交的文件顯示你可以在幾秒的時間處理PB級的數(shù)據(jù)查詢。,YOUR SITE HERE,Dremel做到了“不可能完成的任務(wù)”,Dremel設(shè)法將海量的數(shù)據(jù)分析于對數(shù)據(jù)的深入挖掘進行有機的結(jié)合。Dremel所處理的數(shù)據(jù)規(guī)模的速度實在令人印象深刻,你可以舒適的探索數(shù)據(jù)。在Dremel出現(xiàn)之前還沒有類似的

32、系統(tǒng)可以做的像Dremel這樣出色。,Dremel,YOUR SITE HERE,Drill項目Cloudera 公司的兩個新項目:Impala 和 Trevni,將有助在 2013 年實現(xiàn) Hadoop 實時查詢。  Impala 是開源版的 Dremel (Dremel 是 Google 大數(shù)據(jù)查詢解決方案),預(yù)計明年第一季度發(fā)布 Impala 的首個 beta 版。Impala 允許你在 Hadoop 的 HDFS、 Hbas

33、e 和 Hive 之上運行實時查詢。不必遷移。,YOUR SITE HERE,更多Hadoop子項目,YOUR SITE HERE,HBase,HBase是Apache Hadoop中的一個子項目,Hbase依托于Hadoop的HDFS作為最基本存儲基礎(chǔ)單元,通過使用hadoop的DFS工具就可以看到這些這些數(shù)據(jù)存儲文件夾的結(jié)構(gòu),還可以通過Map/Reduce的框架(算法)對HBase進行操作。,HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一

34、個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫。所謂非結(jié)構(gòu)化數(shù)據(jù)存儲就是說HBase是基于列的而不是基于行的模式,這樣方面讀寫你的大數(shù)據(jù)內(nèi)容。HBase是介于MapEntry(key&value)和DBRow之間的一種數(shù)據(jù)存儲方式。就點有點類似于現(xiàn)在流行的Memcache,但不僅僅是簡單的一個key對應(yīng)一個value,你很可能需要存儲很可能需要存儲多個屬性的數(shù)據(jù)結(jié)構(gòu),但沒有傳統(tǒng)數(shù)據(jù)庫表中那么多的關(guān)聯(lián)關(guān)系,這就是所謂的松散數(shù)據(jù)。,YOUR S

35、ITE HERE,Hive,Hive 是建立在 Hadoop 上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來進行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規(guī)模數(shù)據(jù)的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 QL,它允許熟悉 SQL 的用戶查詢數(shù)據(jù)。同時,這個語言也允許熟悉 MapReduce 開發(fā)者的開發(fā)自定義的 mapper 和 reducer 來處理內(nèi)建的 mapper

36、和 reducer 無法完成的復(fù)雜的分析工作。,YOUR SITE HERE,,YOUR SITE HERE,Hive 和數(shù)據(jù)庫的比較,YOUR SITE HERE,Mahout介紹,Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一個開源項目,提供一些可擴展的機器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序,并且,在 Mahout 的最近版本中還加入了對A

37、pache Hadoop 的支持,使這些算法可以更高效的運行在云計算環(huán)境中,YOUR SITE HERE,,YOUR SITE HERE,YOUR SITE HERE,pig,pig是在HDFS和MapReduce之上的數(shù)據(jù)流處理語言,它將數(shù)據(jù)流處理翻譯成多個map和reduce函數(shù),提供更高層次的抽象將程序員從具體的編程中解放出來。,Pig不適合所有的數(shù)據(jù)處理任務(wù),和MapReduce一樣,它是為數(shù)據(jù)批處理而設(shè)計的。如果只想查詢大數(shù)據(jù)

38、集中的一小部分數(shù)據(jù),pig的表現(xiàn)不會很好,因為它要掃描整個數(shù)據(jù)集或絕大部分。,YOUR SITE HERE,pig,Pig包括兩部分:用于描述數(shù)據(jù)流的語言,稱為Pig Latin;和用于運行Pig Latin程序的執(zhí)行環(huán)境。Pig Latin程序有一系列的operation和transformation組成。每個操作或變換對輸入進行數(shù)據(jù)處理,然后產(chǎn)生輸出結(jié)果。這些操作整體上描述了一個數(shù)據(jù)流。Pig內(nèi)部,這些變換操作被轉(zhuǎn)換成一系列的M

39、apReduce作業(yè)。,YOUR SITE HERE,Pig和數(shù)據(jù)庫的比較:,1)Pig是數(shù)據(jù)流編程語言,而SQL是一種描述型編程語言。Pig是相對于輸入的一步步操作,其中每一步都是對數(shù)據(jù)的一個簡單的變換; 而SQL語句是一個約束的集合,這些約束結(jié)合在一起定義了輸出。Pig更像RDBMS中的查詢規(guī)劃器。2)RDBMS把數(shù)據(jù)存儲在嚴格定義了模式的表內(nèi),但pig對數(shù)據(jù)的要求更寬松,可以在運行時定義模式,而且是可選的。3)

40、pig對復(fù)雜、嵌套數(shù)據(jù)結(jié)構(gòu)的支持更強;4)Pig不支持事務(wù)和索引,也不支持隨機讀和幾十毫秒級別的查詢,它是針對數(shù)據(jù)批量處理的。5)Hive是介于Pig和RDBMS之間的系統(tǒng)。Hive以HDFS為存儲,但是查詢語言是基于SQL的,而且Hive要求所有數(shù)據(jù)必須存儲在表中, 表必須有模式,而模式由Hive管理。但Hive允許為預(yù)先存在HDFS中的數(shù)據(jù)關(guān)聯(lián)一個模式,因此數(shù)據(jù)加載步驟是可選的。,YOUR SITE HERE,Hado

41、op適用場景,適合Hadoop的應(yīng)用場景: 【1】日志分析 【2】排序 【3】搜索引擎,搜索關(guān)鍵字進行內(nèi)容分類,創(chuàng)建索引 【4】廣告計算,廣告優(yōu)化、分析,點擊流分析,鏈接分析 【5】大規(guī)模圖像轉(zhuǎn)換 【6】搜索引擎,創(chuàng)建索引 【7】數(shù)據(jù)分析,數(shù)據(jù)統(tǒng)計,過濾,查詢 【8】機器學(xué)習(xí),數(shù)據(jù)挖掘, 適合于海量數(shù)據(jù)文件的批處理任務(wù)。 不適合實時性

42、要求高的場景,不適合用戶操作,修改數(shù)據(jù)頻繁的場景。,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,MapReduce Hold不???,對于實時性要求很高的應(yīng)用,盡管MapReduce作了實時性改進,但仍很難穩(wěn)定地滿足應(yīng)用需求。因為Had

43、oop為批處理作了高度優(yōu)化,MapReduce系統(tǒng)典型地通過調(diào)度批量任務(wù)來操作靜態(tài)數(shù)據(jù);而流式計算的典型范式之一是不確定數(shù)據(jù)速率的事件流流入系統(tǒng),系統(tǒng)處理能力必須與事件流量匹配,或者通過近似算法等方法優(yōu)雅降級,通常稱為負載分流(load-shedding)。當然,除了負載分流,流式計算的容錯處理等機制也和批處理計算不盡相同。,YOUR SITE HERE,流計算(Stream Computing),Hadoop(大數(shù)據(jù)分析領(lǐng)域無可爭辯的

44、王者)專注于批處理。這種模型對許多情形(比如為網(wǎng)頁建立索引)已經(jīng)足夠,但還存在其他一些使用模型,它們需要來自高度動態(tài)的來源的實時信息。為了解決這個問題,就得借助 Nathan Marz 推出的 Storm(現(xiàn)在在 Twitter 中稱為 BackType)。Storm 不處理靜態(tài)數(shù)據(jù),但它處理預(yù)計會連續(xù)的流數(shù)據(jù)。考慮到 Twitter 用戶每天生成 1.4 億條推文 (tweet),那么就很容易看到此技術(shù)的巨大用途。,YOUR SIT

45、E HERE,,YOUR SITE HERE,Storm 與Hadoop,Storm 與其他大數(shù)據(jù)解決方案的不同之處在于它的處理方式:Hadoop 在本質(zhì)上是一個批處理系統(tǒng)。數(shù)據(jù)被引入 Hadoop 文件系統(tǒng) (HDFS) 并分發(fā)到各個節(jié)點進行處理。當處理完成時,結(jié)果數(shù)據(jù)返回到 HDFS 供始發(fā)者使用。Storm 支持創(chuàng)建拓撲結(jié)構(gòu)來轉(zhuǎn)換沒有終點的數(shù)據(jù)流。不同于 Hadoop 作業(yè),這些轉(zhuǎn)換從不停止,它們會持續(xù)處理到達的數(shù)據(jù)。,YOU

46、R SITE HERE,Storm 模型,Storm 實現(xiàn)了一種數(shù)據(jù)流模型,其中數(shù)據(jù)持續(xù)地流經(jīng)一個轉(zhuǎn)換實體網(wǎng)絡(luò)。一個數(shù)據(jù)流的抽象稱為一個流,這是一個無限的元組序列。元組就像一種使用一些附加的序列化代碼來表示標準數(shù)據(jù)類型(比如整數(shù)、浮點和字節(jié)數(shù)組)或用戶定義類型的結(jié)構(gòu)。每個流由一個惟一 ID 定義,這個 ID 可用于構(gòu)建數(shù)據(jù)源和接收器 (sink) 的拓撲結(jié)構(gòu)。流起源于噴嘴,噴嘴將數(shù)據(jù)從外部來源流入 Storm 拓撲結(jié)構(gòu)中。,YOUR S

47、ITE HERE,Storm 實現(xiàn)了一種數(shù)據(jù)流模型,其中數(shù)據(jù)持續(xù)地流經(jīng)一個轉(zhuǎn)換實體網(wǎng)絡(luò)一個數(shù)據(jù)流的抽象稱為一個流,這是一個無限的元組序列。元組就像一種使用一些附加的序列化代碼來表示標準數(shù)據(jù)類型(比如整數(shù)、浮點和字節(jié)數(shù)組)或用戶定義類型的結(jié)構(gòu)。流起源于噴嘴,噴嘴將數(shù)據(jù)從外部來源流入 Storm 拓撲結(jié)構(gòu)中。接收器(或提供轉(zhuǎn)換的實體)稱為螺栓,,YOUR SITE HERE,使用 Storm 為詞頻輕松地實現(xiàn) MapReduce 功能。如圖

48、中所示,噴嘴生成文本數(shù)據(jù)流,螺栓實現(xiàn) Map 功能(令牌化一個流的各個單詞)。來自 “map” 螺栓的流然后流入一個實現(xiàn) Reduce 功能的螺栓中(以將單詞聚合到總數(shù)中)。,YOUR SITE HERE,流計算產(chǎn)品:,1.Yahoo的S4: S4是一個通用的、分布式的、可擴展的、分區(qū)容錯的、可插拔的流式系統(tǒng),Yahoo!開發(fā)S4系統(tǒng),主要是為了解決:搜索廣告的展現(xiàn)、處理用戶的點擊反饋。 2. Twitter的storm

49、 Twitter的storm:Storm是一個分布式的、容錯的實時計算系統(tǒng)Storm用途:可用于處理消息和更新數(shù)據(jù)庫(流處理),在數(shù)據(jù)流上進行持續(xù)查詢,并以流的形式返回結(jié)果到客戶端(持續(xù)計算),并行化一個類似實時查詢的熱點查詢(分布式的RPC)。3.streamBase,YOUR SITE HERE,,YOUR SITE HERE,,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的

50、最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,內(nèi)存數(shù)據(jù)庫:大數(shù)據(jù)時代數(shù)據(jù)管理新寵,內(nèi)存數(shù)據(jù)庫,顧名思義就是將數(shù)據(jù)放在內(nèi)存中直接操作的數(shù)據(jù)庫。相對于磁盤,內(nèi)存的數(shù)據(jù)讀寫速度要高出幾個數(shù)量級,將數(shù)據(jù)保存在內(nèi)存中相比從磁盤上訪問能夠極大地提高應(yīng)用的性能。同時,內(nèi)存數(shù)據(jù)庫拋棄了磁盤數(shù)據(jù)管理的傳統(tǒng)方式,基于全部數(shù)據(jù)都在內(nèi)存中重新設(shè)計了體系結(jié)構(gòu),并且在數(shù)據(jù)緩存、快速算法、并行

51、操作方面也進行了相應(yīng)的改進,所以數(shù)據(jù)處理速度比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度要快很多,一般都在10倍以上。內(nèi)存數(shù)據(jù)庫的最大特點是其“主拷貝”或“工作版本”常駐內(nèi)存,即活動事務(wù)只與實時內(nèi)存數(shù)據(jù)庫的內(nèi)存拷貝打交道。,YOUR SITE HERE,主流內(nèi)存數(shù)據(jù)庫產(chǎn)品1,·Oracle TimesTen  Oracle TimesTen是Oracle從TimesTen公司收購的一個內(nèi)存優(yōu)化的關(guān)系數(shù)據(jù)庫,它為應(yīng)用程序提供了實時企業(yè)和行業(yè)(例

52、如電信、資本市場和國防)所需的即時響應(yīng)性和非常高的吞吐量。Oracle TimesTen可作為高速緩存或嵌入式數(shù)據(jù)庫被部署在應(yīng)用程序?qū)又?,它利用標準?SQL 接口對完全位于物理內(nèi)存中的數(shù)據(jù)存儲區(qū)進行操作。  ·IBM SolidDB  IBM SolidDB是一款數(shù)據(jù)管理平臺,該平臺將基于內(nèi)存和磁盤的全事務(wù)處理數(shù)據(jù)庫引擎、載體級高,可用性及強大的數(shù)據(jù)復(fù)制功能緊密地融為一體。SolidDB集基于內(nèi)存和磁盤的多線程數(shù)據(jù)庫引擎

53、于一身,以提高事務(wù)處理速度并在同一數(shù)據(jù)庫內(nèi)最有效地利用系統(tǒng)資源。SolidDB管理平臺的設(shè)計可以無縫融合到需要高速、靈活以及需要不間斷訪問的數(shù)據(jù)管理技術(shù)解決方案中。用戶既可以把表建在內(nèi)存內(nèi),也可以象普通數(shù)據(jù)庫一樣建在磁盤上,使用非常靈活,而且具備完善的數(shù)據(jù)保護機制。,YOUR SITE HERE,主流內(nèi)存數(shù)據(jù)庫產(chǎn)品2,·eXtremeDB  eXtremeDB實時數(shù)據(jù)庫是McObject公司的一款特別為實時與嵌入式系統(tǒng)數(shù)據(jù)管

54、理而設(shè)計的數(shù)據(jù)庫,只有 50K到130K的開銷,速度達到微秒級。eXtremeDB完全駐留在主內(nèi)存中,不使用文件系統(tǒng)(包括內(nèi)存盤)。eXtremeDB采用了新的磁盤融合技術(shù),將內(nèi)存拓展到磁盤,將磁盤當做虛擬內(nèi)存來用,實時性能保持微秒級的同時,數(shù)據(jù)管理量在32BIT下能達到20G?! ?#183;Altibase  Altibase是一個在事務(wù)優(yōu)先的環(huán)境中提供高性能和高可用性的軟件解決方案。它提供高性能、容錯能力和事務(wù)管理能力,特別

55、適合通信、網(wǎng)上銀行、證券交易、實時應(yīng)用和嵌入式系統(tǒng)領(lǐng)域。Altibase能夠最大限度地發(fā)揮數(shù)據(jù)庫服務(wù)系統(tǒng)的潛力,增強數(shù)據(jù)服務(wù)器的處理能力。Altibase支持客戶端/服務(wù)器架構(gòu)或嵌入式架構(gòu)。其中客戶端/服務(wù)器架構(gòu)非常適合一般的應(yīng)用。而嵌入式架構(gòu)將應(yīng)用程序嵌入到數(shù)據(jù)庫服務(wù)器,適合于有高時效要求的實時系統(tǒng)。,YOUR SITE HERE,主流內(nèi)存數(shù)據(jù)庫產(chǎn)品3,·SQLite  SQLite是一款輕型的數(shù)據(jù)庫,它占用資源非常的低,

56、同時能夠跟很多程序語言相結(jié)合,但是支持的SQL語句不會遜色于其他開源數(shù)據(jù)庫。它的設(shè)計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如Tcl、PHP、Java 等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處

57、理速度比他們都快?! ?#183;Redis  Redis是一款開源的、高性能的鍵-值存儲(key-value store)。它常被稱作是一款數(shù)據(jù)結(jié)構(gòu)服務(wù)器(data structure server)。Redis的鍵值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等數(shù)據(jù)類型。 對于這些數(shù)據(jù)類型,你可以執(zhí)行原子操作。例如:對字符串進行附加操作(app

58、end);遞增哈希中的值;向列表中增加元素;計算集合的交集、并集與差集等?! ?#183;SAP HANA  SAP HANA 是一款面向數(shù)據(jù)源的、靈活、多用途的內(nèi)存應(yīng)用設(shè)備,整合了基于硬件優(yōu)化的SAP軟件模塊,通過SAP主要硬件合作伙伴提供給客戶。SAP HANA提供靈活、節(jié)約、高效、實時的方法管理海量數(shù)據(jù)。利用HANA,企業(yè)可以不必運行多個數(shù)據(jù)倉庫、運營和分析系統(tǒng),從而削減相關(guān)的硬件和維護成本。SAPHANA將在內(nèi)存技術(shù)基礎(chǔ)上,

59、為新的創(chuàng)新應(yīng)用程序奠定技術(shù)基礎(chǔ),支持更高效的業(yè)務(wù)應(yīng)用程序,如:計劃、預(yù)測、運營績效和模擬解決方案。,YOUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,列式數(shù)據(jù)庫,列式數(shù)據(jù)庫是以列相關(guān)存儲架構(gòu)進行數(shù)據(jù)存儲的數(shù)據(jù)庫,主要適合與批量數(shù)據(jù)處理和即席查

60、詢。相對應(yīng)的是行式數(shù)據(jù)庫,數(shù)據(jù)以行相關(guān)的存儲體系架構(gòu)進行空間分配,主要適合與小批量的數(shù)據(jù)處理,常用于聯(lián)機事務(wù)型數(shù)據(jù)處理。,YOUR SITE HERE,列式數(shù)據(jù)庫的優(yōu)勢,不讀取無效數(shù)據(jù):降低 I/O 開銷,同時提高每次 I/O 的效率,從而大大提高查詢性能。查詢語句只從磁盤上讀取所需要的列,其他列的數(shù)據(jù)是不需要讀取的。例如,有兩張表,每張表100GB 且有100 列,大多數(shù)查詢只關(guān)注幾個列,采用列存儲,不需要像行存數(shù)據(jù)庫一樣,將整行數(shù)據(jù)

61、取出,只取出需要的列。磁盤 I/0 是行存儲的 1/10或更少,查詢響應(yīng)時間提高 10 倍以上。 高壓縮比:壓縮比可以達到 5 ~ 20 倍以上,數(shù)據(jù)占有空間降低到傳統(tǒng)數(shù)據(jù)庫的1/10 ,節(jié)省了存儲設(shè)備的開銷。,YOUR SITE HERE,列式數(shù)據(jù)庫,列式數(shù)據(jù)庫的代表包括:Sybase IQ,infobright、infiniDB、GBase 8a,ParAccel, Sand/DNA Analytics和 Vertica。,Y

62、OUR SITE HERE,目錄,1.大數(shù)據(jù)技術(shù)介紹2.Hadoop(HDFS,MapReduce)介紹3.Hadoop的最新發(fā)展4.流計算技術(shù)5.內(nèi)存數(shù)據(jù)庫6.列式數(shù)據(jù)庫7.各技術(shù)適用的場合8.討論,YOUR SITE HERE,各技術(shù)適用的場合,Hadoop :大數(shù)據(jù)的存儲與處理Hbase :高并發(fā)OLTP系統(tǒng)內(nèi)存數(shù)據(jù)庫:高并發(fā)OLTP系統(tǒng),以及快速查詢系統(tǒng)列式數(shù)據(jù)庫:OLAP系統(tǒng)流計算:海量數(shù)據(jù)實時處理,(如

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論