亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實(shí)時(shí)云計(jì)算數(shù)據(jù)庫(kù)——數(shù)據(jù)立方

        2013-04-29 00:00:00王磊張真王胤然
        中興通訊技術(shù) 2013年4期

        摘要:基于快速發(fā)展的并行數(shù)據(jù)庫(kù)技術(shù)、云計(jì)算MapReduce技術(shù)及其混合技術(shù),分析了這些技術(shù)的優(yōu)缺點(diǎn),對(duì)并行計(jì)算架構(gòu)、分布式存儲(chǔ)系統(tǒng)之上的索引以及其他方面進(jìn)行了研究,提出了一種被稱(chēng)為數(shù)據(jù)立方的大數(shù)據(jù)處理系統(tǒng)。通過(guò)與大數(shù)據(jù)處理系統(tǒng)Hive和HadoopDB的對(duì)比實(shí)驗(yàn)表明,數(shù)據(jù)立方的大數(shù)據(jù)處理系統(tǒng)在入庫(kù)、查詢(xún)、并發(fā)、擴(kuò)展等多方面有明顯的優(yōu)勢(shì)。

        關(guān)鍵詞: 云計(jì)算;實(shí)時(shí);大數(shù)據(jù);并行計(jì)算

        Abstract: In this paper, we discuss parallel database technology, MapReduce for cloud computing, and hybrid (parallel and MapReduce) technology. We discuss the advantages and disadvantages of all these technologies. We discuss parallel architecture and indexing on distributed storage system. We also discuss other aspects of big-data processing technology and propose a big-data processing system called Datacube. Datacube ios shown to have advantages over Hive and HadoopDB in terms of in query, concurrency, and expansibility.

        Key words: cloud computing; real-time; large-data; parallel computing

        中圖分類(lèi)號(hào):TN915.03; TP393.03 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1009-6868 (2013) 04-0025-007

        近年來(lái),隨著計(jì)算機(jī)技術(shù)的發(fā)展,各領(lǐng)域數(shù)據(jù)的增長(zhǎng)越來(lái)越快。這些數(shù)據(jù)來(lái)自方方面面,從搜集天氣情況的感測(cè)器、接入社交媒體網(wǎng)站的指令、數(shù)碼圖片、在線(xiàn)的視頻資料,到網(wǎng)絡(luò)購(gòu)物的交易記錄、手機(jī)的全球定位系統(tǒng)信號(hào)等。隨著數(shù)據(jù)規(guī)模的急劇膨脹,各行業(yè)累積的數(shù)據(jù)量越來(lái)越巨大,數(shù)據(jù)類(lèi)型也越來(lái)越多、越來(lái)越復(fù)雜,已經(jīng)超越了傳統(tǒng)數(shù)據(jù)管理系統(tǒng)、處理模式的能力范圍,傳統(tǒng)的串行數(shù)據(jù)庫(kù)系統(tǒng)已經(jīng)難以適應(yīng)這種飛速增長(zhǎng)的應(yīng)用需求。在這種需求的驅(qū)動(dòng)下,云計(jì)算中的MapReduce[1]技術(shù)、并行數(shù)據(jù)庫(kù)技術(shù)以及云計(jì)算與數(shù)據(jù)庫(kù)相結(jié)合的技術(shù)應(yīng)運(yùn)而生。

        本文在大數(shù)據(jù)的背景下,對(duì)大數(shù)據(jù)處理技術(shù)進(jìn)行了探討,將其分為三類(lèi):MapReduce技術(shù)、并行數(shù)據(jù)庫(kù)技術(shù)和云計(jì)算與數(shù)據(jù)庫(kù)相結(jié)合的技術(shù)。通過(guò)研究這些技術(shù)的架構(gòu)、適用環(huán)境,本文提出了一種全新的云計(jì)算數(shù)據(jù)庫(kù)——數(shù)據(jù)立方。

        1 云計(jì)算相關(guān)技術(shù)

        1.1 大數(shù)據(jù)處理技術(shù)——MapReduce

        MapReduce計(jì)算架構(gòu)把運(yùn)行在大規(guī)模集群上的并行計(jì)算過(guò)程簡(jiǎn)單抽象為兩個(gè)函數(shù):Map和Reduce,也就是分解與規(guī)約。簡(jiǎn)單地說(shuō),MapReduce就是“任務(wù)的分解與結(jié)果的匯總”。程序?qū)⒋髷?shù)據(jù)分解為多個(gè)數(shù)據(jù)塊由Map函數(shù)處理,Reduce把分解后多任務(wù)處理產(chǎn)生的中間結(jié)果匯總起來(lái),得到最終結(jié)果。適合MapReduce處理的任務(wù)特征為:待處理的大規(guī)模數(shù)據(jù)集可以切分為多個(gè)小的數(shù)據(jù)集,并且每一個(gè)小數(shù)據(jù)集都可以完全并行地進(jìn)行處理。

        圖1介紹了用MapReduce處理大數(shù)據(jù)集的過(guò)程。一個(gè)MapReduce操作可以分為兩個(gè)階段:Map階段和Reduce階段。

        在映射階段,MapReduce并行計(jì)算架構(gòu)將用戶(hù)的輸入數(shù)據(jù)切分為M個(gè)數(shù)據(jù)段,每個(gè)數(shù)據(jù)段對(duì)應(yīng)1個(gè)Map任務(wù)。每一個(gè)Map函數(shù)的輸入是數(shù)據(jù)段中的鍵值對(duì)集合,Map函數(shù)是用戶(hù)繼承MapReduce并行計(jì)算架構(gòu)而編寫(xiě)的,Map操作調(diào)用此函數(shù),輸出一組中間結(jié)果,即鍵值對(duì)集合。接下來(lái),按照中間結(jié)果集合的K2將中間結(jié)果集進(jìn)行排序,生成一個(gè)新的集合,使得對(duì)應(yīng)同一個(gè)K2的所有值的數(shù)據(jù)都聚集在一起。然后,按照K2的范圍將這些元組分割為R個(gè)片斷,對(duì)應(yīng)Reduce任務(wù)的數(shù)目。在規(guī)約階段,每一個(gè)Reduce操作的輸入是一個(gè)片斷,Reduce操作調(diào)用用戶(hù)定義的Reduce函數(shù),生成用戶(hù)需要的鍵值對(duì)進(jìn)行輸出。

        這種簡(jiǎn)潔的并行計(jì)算模型在系統(tǒng)層面解決了可用性、擴(kuò)展性、容錯(cuò)性等問(wèn)題,是非關(guān)系數(shù)據(jù)管理和分析技術(shù)的典型代表。MapReduce是面向廉價(jià)計(jì)算機(jī)組成的大規(guī)模集群設(shè)計(jì)的,其非共享結(jié)構(gòu)、松耦合性和較強(qiáng)的容錯(cuò)能力帶來(lái)了較強(qiáng)的擴(kuò)展能力,同時(shí),MapReduce在工業(yè)界被廣泛應(yīng)用,Google、twitter、Facebook、Yahoo等廠商對(duì)其進(jìn)行了深度的改進(jìn)和擴(kuò)展。此外,MapReduce的存儲(chǔ)模型能夠存儲(chǔ)任意格式的數(shù)據(jù),Map和Reduce函數(shù)可以進(jìn)行各種復(fù)雜的數(shù)據(jù)處理,這也使得程序員的負(fù)擔(dān)加重,在對(duì)上層業(yè)務(wù)的開(kāi)發(fā)效率上不如結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)簡(jiǎn)單。在相同的硬件條件下,對(duì)于有具體條件的查詢(xún)來(lái)說(shuō),并行數(shù)據(jù)庫(kù)[2]的性能是遠(yuǎn)遠(yuǎn)超過(guò)MapReduce的,但是對(duì)于在大數(shù)據(jù)上的復(fù)雜統(tǒng)計(jì)業(yè)務(wù)來(lái)說(shuō),MapReduce在速度上會(huì)占有一定優(yōu)勢(shì),MapReduce是為非結(jié)構(gòu)化大數(shù)據(jù)的復(fù)雜處理而設(shè)計(jì)的,這些業(yè)務(wù)具有一次性處理的特點(diǎn),此外由于采取了全數(shù)據(jù)掃描的模式以及對(duì)中間結(jié)果逐步匯總的策略,使其在擁有良好擴(kuò)展能力和容錯(cuò)能力的同時(shí)也導(dǎo)致了較高的磁盤(pán)和網(wǎng)絡(luò)I/O的負(fù)載以及較高的數(shù)據(jù)解析代價(jià)[3]。

        1.2 并行數(shù)據(jù)庫(kù)技術(shù)

        在20世紀(jì)80年代,數(shù)據(jù)庫(kù)流行的同時(shí)并行數(shù)據(jù)庫(kù)也開(kāi)始起源,早期并行數(shù)據(jù)庫(kù)(如Gamma[4]和Grace[5])的基礎(chǔ)架構(gòu)被沿用至今,當(dāng)前的并行數(shù)據(jù)庫(kù)主要有Oracle的Exdata[6]、EMC的Greenplum[7]、Teradata[8],這些數(shù)據(jù)庫(kù)都支持標(biāo)準(zhǔn)SQL。并行數(shù)據(jù)庫(kù)一般可以分為無(wú)共享架構(gòu)(Shared-nothing)和磁盤(pán)共享存儲(chǔ)架構(gòu)(Shared-disk)兩種存儲(chǔ)架構(gòu),如圖2所示。這兩種架構(gòu)有各自的優(yōu)缺點(diǎn),在Shared-nothing系統(tǒng)中,數(shù)據(jù)集被切分成為了多個(gè)子集[9-11],集群中每個(gè)節(jié)點(diǎn)分別存儲(chǔ)一個(gè)子集在本地磁盤(pán)上,一般來(lái)說(shuō),Shared-nothing系統(tǒng)可以提供很高的并行I/O和并行計(jì)算能力,但是也有多節(jié)點(diǎn)事務(wù)處理[12-13]、數(shù)據(jù)傳輸以及數(shù)據(jù)傾斜[14]等問(wèn)題。在Shared-disk系統(tǒng)中,數(shù)據(jù)被集中存儲(chǔ),所有的數(shù)據(jù)庫(kù)節(jié)點(diǎn)都可以訪(fǎng)問(wèn)存儲(chǔ)系統(tǒng)的任意一個(gè)磁盤(pán),因此數(shù)據(jù)也沒(méi)有必要被切分,這也避免了數(shù)據(jù)傾斜的問(wèn)題,這種系統(tǒng)主要的缺陷在于較低的I/O帶寬和擴(kuò)展能力。

        1.3 云計(jì)算與數(shù)據(jù)庫(kù)相結(jié)合的技術(shù)

        與數(shù)據(jù)庫(kù)相結(jié)合的云計(jì)算技術(shù)一般指的是MapReduce技術(shù),當(dāng)前主要有Teradata公司的Aster Data[15]和耶魯大學(xué)提出的HadoopDB[16]。

        Aster Data將MapReduce與SQL引擎相結(jié)合,針對(duì)大數(shù)據(jù)處理和分析提出了SQL/MapReduce框架,用戶(hù)可以使用JAVA、C++等多種語(yǔ)言在Aster Data的并行框架上編寫(xiě)MapReduce函數(shù),編寫(xiě)的函數(shù)可以作為一個(gè)子查詢(xún)?cè)赟QL中使用,從而獲得SQL的易用性和MapReduce的開(kāi)放性。同時(shí)Aster Data能夠?qū)Χ嘟Y(jié)構(gòu)化數(shù)據(jù)、原始數(shù)據(jù)進(jìn)行處理和分析,并擁有豐富的統(tǒng)計(jì)軟件包可以講數(shù)據(jù)分析推向數(shù)據(jù)庫(kù)內(nèi)進(jìn)行,提升了數(shù)據(jù)分析性能。

        在HadoopDB中,系統(tǒng)清晰地分成兩層,上層使用Hadoop進(jìn)行任務(wù)的分解和調(diào)度,下層用RDBMS(Postgresql)進(jìn)行數(shù)據(jù)的查詢(xún)和處理,在處理查詢(xún)時(shí),執(zhí)行的是SQL to mapReduce to SQL操作過(guò)程(SMS planner)。該工作的創(chuàng)新之處是:試圖利用Hadoop的任務(wù)調(diào)度機(jī)制提高系統(tǒng)的擴(kuò)展性和容錯(cuò)性,以解決大數(shù)據(jù)分析的橫向擴(kuò)展問(wèn)題;利用RDBMS實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和查詢(xún)處理,以解決性能問(wèn)題。在其性能實(shí)驗(yàn)中,HadoopDB的性能仍然落后于關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。如何提升MapReduce的性能,已引起研究人員的高度重視,研究人員提出了MapReduce的各種優(yōu)化技術(shù),獲得了重要的性能改進(jìn)。Yale大學(xué)Abadi領(lǐng)導(dǎo)的小組正在使用包括列存儲(chǔ)、持續(xù)裝載和分析等技術(shù),以改進(jìn)HadoopDB的性能[17]。

        圖3所示是HadoopDB的一個(gè)結(jié)構(gòu)圖,在原來(lái)的Hadoop與hive的基礎(chǔ)上,增加了一些組件[18]:其中SMS Planner的作用是在hive解析SQL語(yǔ)句生成MapReduce任務(wù)樹(shù)之后,對(duì)MapReduce任務(wù)樹(shù)進(jìn)行優(yōu)化,指導(dǎo)Hadoop去并行數(shù)據(jù)庫(kù)中執(zhí)行SQL。Catalog里面存儲(chǔ)了并行數(shù)據(jù)庫(kù)的一些信息。Data loader負(fù)責(zé)把原始數(shù)據(jù)加載到并行數(shù)據(jù)庫(kù)中,需要完成的工作是對(duì)原始數(shù)據(jù)的劃分。Database Connector用于向各個(gè)節(jié)點(diǎn)傳遞信息,包含了節(jié)點(diǎn)里面數(shù)據(jù)庫(kù)的鏈接信息和需要執(zhí)行的SQL語(yǔ)句。Paralled DataBase用于代替HDFS在各個(gè)節(jié)點(diǎn)上存儲(chǔ)數(shù)據(jù)。

        2 云計(jì)算數(shù)據(jù)庫(kù)

        ——數(shù)據(jù)立方

        通過(guò)對(duì)MapReduce、并行數(shù)據(jù)庫(kù)和兩者的混合技術(shù)研究,南京云創(chuàng)存儲(chǔ)科技有限公司推出了實(shí)施云計(jì)算數(shù)據(jù)庫(kù)——數(shù)據(jù)立方,該系統(tǒng)通過(guò)引入索引模塊、并行執(zhí)行架構(gòu)以及讀取本地磁盤(pán)的執(zhí)行方式,使查詢(xún)達(dá)到了實(shí)時(shí)完成、簡(jiǎn)單易用、高可靠安全的效能,使艾字節(jié)級(jí)的數(shù)據(jù)能夠秒級(jí)處理,極大地提高了用戶(hù)執(zhí)行查詢(xún)操作后的使用效率,不僅在查詢(xún)和檢索這部分?jǐn)?shù)據(jù)的時(shí)候具有非常高的性能優(yōu)勢(shì),數(shù)據(jù)立方還可以支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)、數(shù)據(jù)深度挖掘和商業(yè)智能分析等業(yè)務(wù)。

        2.1 數(shù)據(jù)立方的體系架構(gòu)

        數(shù)據(jù)立方(DataCube)的結(jié)構(gòu)分為用戶(hù)接口、索引、SQL解析器、作業(yè)生成器、元數(shù)據(jù)管理、并行計(jì)算架構(gòu)、分布式文件系統(tǒng)等部分,如圖4所示。用戶(hù)接口主要有兩個(gè):JDBC和Shell。JDBC主要執(zhí)行數(shù)據(jù)的定義操作,即建立數(shù)據(jù)庫(kù)、建表、建分區(qū),對(duì)數(shù)據(jù)庫(kù)、表和分區(qū)的刪改等,同時(shí)可執(zhí)行數(shù)據(jù)查詢(xún)的SQL語(yǔ)句,暫不支持單條記錄的增刪改;數(shù)據(jù)立方提供友好的Shell交互界面,Shell支持?jǐn)?shù)據(jù)庫(kù)、表的增刪改以及數(shù)據(jù)查詢(xún)的SQL語(yǔ)句。數(shù)據(jù)在入庫(kù)的同時(shí)與數(shù)據(jù)對(duì)應(yīng)的索引也在同時(shí)建立,索引是一顆B樹(shù),數(shù)據(jù)插入到內(nèi)存的同時(shí),索引B樹(shù)也在生成,當(dāng)達(dá)到設(shè)置上限時(shí),數(shù)據(jù)和索引會(huì)刷新到分布式文件系統(tǒng)上成為文件。數(shù)據(jù)立方的元數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。其中包括,數(shù)據(jù)庫(kù)的名字和屬性,數(shù)據(jù)庫(kù)中的表,表的名字,表的列和分區(qū)及其屬性,表的屬性,表的數(shù)據(jù)所在目錄等等。SQL解析器接收從JDBC和Shell傳來(lái)的SQL查詢(xún)語(yǔ)句,同時(shí)對(duì)SQL進(jìn)行詞法分析、語(yǔ)法分析、編譯、優(yōu)化。作業(yè)生成器根據(jù)SQL語(yǔ)法樹(shù)生成查詢(xún)作業(yè),分析所要處理的數(shù)據(jù)表對(duì)應(yīng)的索引文件的所在存儲(chǔ)子節(jié)點(diǎn)位置,并將作業(yè)發(fā)送給并行計(jì)算架構(gòu)。并行計(jì)算架構(gòu)接收到作業(yè)生成器生成的作業(yè),根據(jù)索引文件的位置切分查詢(xún)作業(yè)形成子任務(wù),然后將子任務(wù)發(fā)送給數(shù)據(jù)所在的存儲(chǔ)子節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)執(zhí)行這些子任務(wù)查詢(xún)索引得到結(jié)果記錄所在的數(shù)據(jù)文件名與偏移量,并以廣播的方式發(fā)送查詢(xún)子任務(wù)到數(shù)據(jù)文件所在的節(jié)點(diǎn),在執(zhí)行完畢后將結(jié)果返回。數(shù)據(jù)立方可以使用HDFS和cStor[19]作為底層存儲(chǔ)系統(tǒng),cStor是一個(gè)主從結(jié)構(gòu)的分布式文件系統(tǒng),不僅具有HDFS的高吞吐率、高讀寫(xiě)性能等特性,還支持HDFS所不具備的對(duì)文件修改等功能,并且支持POXIS接口。

        2.2 分布式并行計(jì)算架構(gòu)(DPCA)

        數(shù)據(jù)立方的分布式并行架構(gòu)(DPCA)是典型的主從結(jié)構(gòu),如圖5所示。主Master與從Master分別部署在HDFS的主從NameNode物理節(jié)點(diǎn)上,而Slave部署在DataNode物理節(jié)點(diǎn)上,主從Master使用Zookeeper同步,并共享系統(tǒng)日志,Master與Slave之間用心跳信息保持信息交換。

        相對(duì)于MapReduce架構(gòu),DPCA具有實(shí)時(shí)性、計(jì)算的數(shù)據(jù)本地性以及數(shù)據(jù)平衡性。MapReduce架構(gòu)的作業(yè)(Job)提交過(guò)程較為復(fù)雜,客戶(hù)端將Job提交到JobTracker有較長(zhǎng)的延遲,JobTracker將Job處理為MapReduce Task后,通過(guò)TaskTracker的心跳信息將Task任務(wù)返回給TaskTracker,此過(guò)程中也存在延遲。

        MapReduce架構(gòu)雖然也遵循數(shù)據(jù)本地性,但仍會(huì)有很大比例的數(shù)據(jù)處理不是本地的,相對(duì)于MapReduce架構(gòu),DPCA的Job提交是實(shí)時(shí)性的,在提交Job之前所需程序Jar包已經(jīng)分發(fā)到所有計(jì)算節(jié)點(diǎn),在Job提交之后,Master在初始化處理之后即將Task直接分發(fā)到所有Slave節(jié)點(diǎn)上,如圖6所示,在Job提交后,Master根據(jù)數(shù)據(jù)文件所在位置分配Task,這樣在每個(gè)計(jì)算節(jié)點(diǎn)上要處理的HDFS上的數(shù)據(jù)塊就在本地,這樣避免了數(shù)據(jù)的移動(dòng),極大地減少了網(wǎng)絡(luò)IO負(fù)載,縮短了計(jì)算時(shí)間,每個(gè)計(jì)算節(jié)點(diǎn)會(huì)根據(jù)Task中SQL解析器生成的執(zhí)行計(jì)劃對(duì)Task執(zhí)行的結(jié)果進(jìn)行分發(fā),分發(fā)的方式有3種:分發(fā)所有中間數(shù)據(jù)到所有計(jì)算節(jié)點(diǎn)、分發(fā)所有中間數(shù)據(jù)到部分節(jié)點(diǎn)、根據(jù)數(shù)據(jù)所在位置分發(fā),如圖7所示。并行計(jì)算架構(gòu)能夠周期性地對(duì)HDFS上的數(shù)據(jù)表進(jìn)行維護(hù),保持?jǐn)?shù)據(jù)表在所有的DataNode節(jié)點(diǎn)上所存儲(chǔ)的數(shù)據(jù)量的平衡,減少因數(shù)據(jù)負(fù)載的不平衡而導(dǎo)致的計(jì)算負(fù)載的不平衡。

        舉一個(gè)典型的小表與大表Join連接的實(shí)例,如圖8所示,Master解析Job中的執(zhí)行計(jì)劃,判斷小表的位置后,將Task0發(fā)送給了Slave0,指令Slave0發(fā)送小表到所有節(jié)點(diǎn),而其他節(jié)點(diǎn)接收到的子任務(wù)是等待接受小表的數(shù)據(jù),接收到數(shù)據(jù)后將小表與大表連接并將數(shù)據(jù)返回給Master,當(dāng)所有數(shù)據(jù)返回完成則這個(gè)Job完成。

        2.3 分布式索引

        MapReduce是對(duì)每個(gè)查詢(xún)都是直接從分布式文件系統(tǒng)中讀入原始數(shù)據(jù)文件,I/O代價(jià)遠(yuǎn)高于數(shù)據(jù)庫(kù),相對(duì)于MapReduce架構(gòu)以及在其之上的SQL解析器Hive,數(shù)據(jù)立方引入了一種高效的分布式索引機(jī)制,不同于并行數(shù)據(jù)庫(kù)的Shared-nothing和Shared-disk架構(gòu),數(shù)據(jù)立方的數(shù)據(jù)文件與索引文件都存放在分布式文件系統(tǒng)之上。

        數(shù)據(jù)在入庫(kù)的同時(shí)B樹(shù)索引在內(nèi)存中同步生成,B樹(shù)中的葉子節(jié)點(diǎn)存儲(chǔ)的是數(shù)據(jù)文件路徑與記錄在文件中的偏移量,如圖9所示,在B樹(shù)中的葉子節(jié)點(diǎn)達(dá)到設(shè)置上限后,索引將被序列化到分布式文件系統(tǒng)之上,在根據(jù)條件進(jìn)行單表查詢(xún)的時(shí),Job被提交到并行計(jì)算框架,Master節(jié)點(diǎn)首先分析該表的索引文件根據(jù)索引文件所在的節(jié)點(diǎn)將Task發(fā)送到相應(yīng)的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)在查詢(xún)本地的索引文件之后將符合條件的數(shù)據(jù)文件路徑+偏移量打包成Task根據(jù)數(shù)據(jù)文件位置進(jìn)行再次分發(fā),在數(shù)據(jù)文件中的記錄查詢(xún)出來(lái)之后將結(jié)果返回,如圖9所示。

        3 實(shí)驗(yàn)與評(píng)估

        3.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)環(huán)境搭建在兩個(gè)機(jī)架的12臺(tái)物理機(jī)組成的集群上。每臺(tái)物理機(jī)使用Ubuntu9.04 server系統(tǒng),JDK版本為1.6.0.18,使用的Hadoop版本為2.0.0,將HDFS作為分布式存儲(chǔ)環(huán)境。軟硬件配置如表1、表2所示。

        當(dāng)前與數(shù)據(jù)立方類(lèi)似的產(chǎn)品有分布式數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù),如:開(kāi)源的HIVE、HadoopDB等,因此我們?cè)跀?shù)據(jù)入庫(kù)、查詢(xún)、查詢(xún)的并發(fā)量以及線(xiàn)性擴(kuò)展等多方面對(duì)數(shù)據(jù)立方、HIVE和HadoopDB做了對(duì)比實(shí)驗(yàn)。

        3.2 數(shù)據(jù)入庫(kù)實(shí)驗(yàn)

        數(shù)據(jù)立方能夠快速進(jìn)行數(shù)據(jù)入庫(kù)同時(shí)實(shí)時(shí)建立索引,相對(duì)于基于傳統(tǒng)數(shù)據(jù)庫(kù)的HadoopDB來(lái)說(shuō)具有天然的優(yōu)勢(shì),但由于HIVE在數(shù)據(jù)入庫(kù)的同時(shí)并沒(méi)有建立索引使其在查詢(xún)的過(guò)程中沒(méi)有優(yōu)勢(shì)。實(shí)驗(yàn)結(jié)果如圖10所示。

        3.3 單表查詢(xún)實(shí)驗(yàn)

        對(duì)于簡(jiǎn)單的單表查詢(xún)來(lái)說(shuō),數(shù)據(jù)量較小時(shí),HadoopDB與數(shù)據(jù)立方的查詢(xún)速度都是比較快的,但在大數(shù)據(jù)量下,數(shù)據(jù)立方的高效分布式查詢(xún)更有優(yōu)勢(shì),而HIVE的底層是基于MapReduce,所以速度較慢。實(shí)驗(yàn)結(jié)果如下圖11所示。

        3.4 多表查詢(xún)實(shí)驗(yàn)

        在多表查詢(xún)方面,在小表與小表、大表與小表之間的關(guān)聯(lián)查詢(xún),數(shù)據(jù)立方和HadoopDB都是較快的,但在大表與大表之間做關(guān)聯(lián)查詢(xún)時(shí),數(shù)據(jù)立方相對(duì)于HadoopDB更快,而HIVE是最慢的。多表查詢(xún)實(shí)驗(yàn)結(jié)果如圖12所示。

        3.5 并發(fā)查詢(xún)實(shí)驗(yàn)

        數(shù)據(jù)立方的每個(gè)節(jié)點(diǎn)支持200個(gè)并發(fā)查詢(xún),同時(shí)每個(gè)查詢(xún)均是秒級(jí)響應(yīng),HadoopDB由于是SMS的中間層,由于MapReduce架構(gòu)本身的心跳機(jī)制而導(dǎo)致了較大的延遲,所以是很難達(dá)到秒級(jí)響應(yīng)的,HIVE的任務(wù)并發(fā)數(shù)取決于MapReduce的并發(fā)任務(wù)數(shù),所以會(huì)更低。實(shí)驗(yàn)結(jié)果如圖13所示。

        3.6 線(xiàn)性擴(kuò)展實(shí)驗(yàn)

        數(shù)據(jù)立方、HadoopDB和HIVE均支持線(xiàn)性擴(kuò)展,而數(shù)據(jù)立方的擴(kuò)展效率更高,即對(duì)系統(tǒng)的軟硬件做擴(kuò)展后,性能也能夠達(dá)到類(lèi)似線(xiàn)性的增長(zhǎng)。實(shí)驗(yàn)結(jié)果如圖14所示。

        4 結(jié)束語(yǔ)

        Hadoop是一種流行的MapReduce計(jì)算模型的開(kāi)源實(shí)現(xiàn),用于大規(guī)模數(shù)據(jù)集的并行化分析處理,并行數(shù)據(jù)庫(kù)是在單機(jī)數(shù)據(jù)庫(kù)基礎(chǔ)之上發(fā)展而來(lái)的數(shù)據(jù)庫(kù)集群,本文通過(guò)研究MapReduce技術(shù)、并行數(shù)據(jù)庫(kù)技術(shù)以及混合技術(shù)探討了一系列相關(guān)的大數(shù)據(jù)處理技術(shù),更深一步探索了基于分布式文件系統(tǒng)的并行計(jì)算架構(gòu)和分布式海量數(shù)據(jù)實(shí)時(shí)索引機(jī)制,以此為基礎(chǔ)并輔以其他技術(shù)形成了一個(gè)支持非結(jié)構(gòu)化、結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)高效存儲(chǔ),支持離線(xiàn)數(shù)據(jù)分析和在線(xiàn)專(zhuān)題應(yīng)用,支持結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)之間的復(fù)雜計(jì)算的實(shí)時(shí)云計(jì)算數(shù)據(jù)庫(kù)數(shù)據(jù)立方。最后,本文通過(guò)實(shí)驗(yàn)驗(yàn)證了數(shù)據(jù)立方相對(duì)于其他系統(tǒng)的優(yōu)勢(shì)。

        參考文獻(xiàn)

        [1] DEAN J, GHEMAWAT S. MapReduce:Simplified data processing on large clusters [C]//Proceedings of the 6th USENIX Symposium on Operation Systems Design and Implementation (OSDI’04), Dec 6-8, 2004, San Francisco, CA USA. New York, NY, USA: ACM, 2004:137-150.

        [2] PAVLO A, PAULSON E, RASIN A, et al. A comparison of approaches to large scale data analysis [C]//Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’09), Jun 29-Jul 2, 2009,Providence,Rhode Island, USA. New York, NY, USA: ACM, 2009:165-178.

        [3] JIANG D, OOI B C, SHI L, et al. The performance of MapReduce: An in-depth study [J]. Proceedings of the VLDB Endowment (PVLDB), 2010, 3 (1): 472-483.

        [4] DEWITT D J, GERBER R H, GRAEFE G, et al. GAMMA- A high performance dataflow database machine [C]//Proceedings of the 12th International Conference on Very Large Data Bases (VLDB’86 ), Aug 15-18, 1986, Kyoto, Japan. San Francisco, CA,USA: Morgan Kaufmann Publishers, 1986: 228-237.

        [5] FUSHIMI S, KITSUREGAWA M, TANAKA H. An overview of the system software of a parallel relational database machine [C]//Proceedings of the 12th International Conference on Very Large Data Bases(VLDB’86), Aug 15-18, 1986, Kyoto,Japan. San Francisco, CA,USA: Morgan Kaufmann Publishers, 1986:209-219.

        [6] EMC Corporation. Greenplum [EB/OL]. [2013-04-02]. http://www. greenplum.com/.

        [7] Oracle Exadata [EB/OL]. [2013-04-09]. http://www.oracle.com/cn/products/database/ exadata/overview/index.html/.

        [8] Teradata Corporation. Teradata [EB/OL]. [2013-04-10]. http://www.teradata.com/.

        [9] DEWITT D, GRAY J. Parallel database systems: The future of high performance database systems [J]. Communications of the ACM, 1992,35(6):85-98.

        [10] MEHTA M, DEWITT D J. Data placement in Shared-nothing parallel database systems [J]. The VLDB Journal, 1997,6(1):53-72.

        [11] CHAMBERLIN D D, SCHMUCK F B. Dynamic data distribution(D3) in a Shared-nothing multiprocessor data store [C]//Proceedings of the 18th International Conference on Very Large Data Bases(VLDB’92), Aug 23-27, 1992,Vancouver, Canada. San Francisco, CA, USA: Morgan Kaufmann Publishers, 1992:163-174.

        [12] MAREK R, RAHM E. Performance evaluation of parallel transaction processing in Shared nothing database systems [C]//Proceedings of the 4th International Conference on Parallel Architectures and Languages Europe(PARLE’92), Jun 15-18, 1992, Paris, France. Berlin, Germany: Springer-Verlag,1992:295-310.

        [13] JENQ B C, TWICHELL B C, KELLER T W. Locking performance in a Shared nothing parallel database machine [J]. IEEE Transactions on Knowledge and Data Engineering, 1989,1(4): 530-543.

        [14] LEE C, CHANG Z A. Workload balance and page access scheduling for parallel JOINs in Shared-nothing systems [C]//Proceedings of the 9th International Conference on Data Engineering, Apr 19-23, 1993, Vienna, Austria. Washington, DC, USA: IEEE Computer Society, 1993:411-418.

        [15] Asterdata Corporation. Asterdata [EB/OL]. [2013-04-10]. http://www. asterdata.com/.

        [16] ABOUZEID A, BAJDA-PAWLIKOWSKI K, ABADI D J, et al. HadoopDB: An architectural hybrid of MapReduce and DBMS technologies for analytical workloads [C]//Proceedings of the 35th International Conference on Very Large Data Bases (VLDB’09), Lyon,F(xiàn)rance.2009: 733-743.

        [17] ABOUZIED A, BAJDA-PAWLIKOWSKI K, HUANG J W, et al. HadoopDB in action: Building real world applications [C]//Proceedings of the ACM SIGMOD International Conference on Management of Data(SIGMOD’10), Jun 6-10, 2010,Indianapolis, IA, USA. New York, NY, USA: ACM, 2010:1111-1114.

        [18] HadoopDB 數(shù)據(jù)倉(cāng)庫(kù)簡(jiǎn)介 [EB/OL]. [2013-04-10]. http://blog.csdn.net/suwei19870312/ article/details/7242995.

        [19] Cstor Corporation. cstor [EB/OL]. [2013-04-10]. http://www.cstor.cn.

        作者簡(jiǎn)介

        王磊,中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院碩士畢業(yè);南京云創(chuàng)存儲(chǔ)科技有限公司技術(shù)總監(jiān);從事大數(shù)據(jù)處理、數(shù)據(jù)立方產(chǎn)品技術(shù)規(guī)劃及架構(gòu)設(shè)計(jì),大數(shù)據(jù)處理項(xiàng)目需求分析等。

        張真,北京科技大學(xué)MBA碩士畢業(yè),南京云創(chuàng)存儲(chǔ)科技有限公司董事長(zhǎng)兼CEO。

        王胤然,南京航空航天大學(xué)畢業(yè);南京云創(chuàng)存儲(chǔ)科技有限公司云計(jì)算高級(jí)研發(fā)工程師;從事分布式數(shù)據(jù)處理和大規(guī)模數(shù)據(jù)挖掘工作。

        国产台湾无码av片在线观看| 黄片免费观看视频播放| 亚洲另类丰满熟妇乱xxxx| 亚洲熟妇自偷自拍另欧美| 国产肉丝袜在线观看| 久久一日本道色综合久久大香| 亚洲一区亚洲二区中文字幕| 国产自拍精品一区在线观看| 国产精品久久久久影院| 国产免费AV片在线看| av天堂一区二区三区| 丰满人妻一区二区三区蜜桃| 免费a级毛片永久免费| 国产高清吃奶成免费视频网站| 东京热东京道日韩av| 国产内射爽爽大片| 亚洲欧美激情在线一区| 国产精品网站夜色| 日本一区二区偷拍视频| 成人丝袜激情一区二区| 日本大片在线看黄a∨免费| 日韩美无码一区二区三区| 亚洲国产日韩一区二区三区四区| 性按摩xxxx在线观看| 人妻丰满熟妇AV无码区HD| 国产三级伦理视频在线| 国内自拍色第一页第二页| 国产精品一区二区无线| 日韩精品国产自在欧美| 国产一区二区三区小向美奈子| 国产成人小视频| 97久久久久人妻精品专区| 中文字幕人妻少妇美臀| 久久中文字幕人妻淑女| 999久久久国产精品| 日韩在线精品在线观看| 在线视频一区二区国产| 妇女bbbb插插插视频| 亚洲欧美日韩综合在线观看| 日本一区二三区在线中文| 免费乱理伦片在线观看|