摘要:基于快速發(fā)展的并行數(shù)據(jù)庫技術(shù)、云計算MapReduce技術(shù)及其混合技術(shù),分析了這些技術(shù)的優(yōu)缺點,對并行計算架構(gòu)、分布式存儲系統(tǒng)之上的索引以及其他方面進(jìn)行了研究,提出了一種被稱為數(shù)據(jù)立方的大數(shù)據(jù)處理系統(tǒng)。通過與大數(shù)據(jù)處理系統(tǒng)Hive和HadoopDB的對比實驗表明,數(shù)據(jù)立方的大數(shù)據(jù)處理系統(tǒng)在入庫、查詢、并發(fā)、擴展等多方面有明顯的優(yōu)勢。
關(guān)鍵詞: 云計算;實時;大數(shù)據(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
中圖分類號:TN915.03; TP393.03 文獻(xiàn)標(biāo)志碼:A 文章編號:1009-6868 (2013) 04-0025-007
近年來,隨著計算機技術(shù)的發(fā)展,各領(lǐng)域數(shù)據(jù)的增長越來越快。這些數(shù)據(jù)來自方方面面,從搜集天氣情況的感測器、接入社交媒體網(wǎng)站的指令、數(shù)碼圖片、在線的視頻資料,到網(wǎng)絡(luò)購物的交易記錄、手機的全球定位系統(tǒng)信號等。隨著數(shù)據(jù)規(guī)模的急劇膨脹,各行業(yè)累積的數(shù)據(jù)量越來越巨大,數(shù)據(jù)類型也越來越多、越來越復(fù)雜,已經(jīng)超越了傳統(tǒng)數(shù)據(jù)管理系統(tǒng)、處理模式的能力范圍,傳統(tǒng)的串行數(shù)據(jù)庫系統(tǒng)已經(jīng)難以適應(yīng)這種飛速增長的應(yīng)用需求。在這種需求的驅(qū)動下,云計算中的MapReduce[1]技術(shù)、并行數(shù)據(jù)庫技術(shù)以及云計算與數(shù)據(jù)庫相結(jié)合的技術(shù)應(yīng)運而生。
本文在大數(shù)據(jù)的背景下,對大數(shù)據(jù)處理技術(shù)進(jìn)行了探討,將其分為三類:MapReduce技術(shù)、并行數(shù)據(jù)庫技術(shù)和云計算與數(shù)據(jù)庫相結(jié)合的技術(shù)。通過研究這些技術(shù)的架構(gòu)、適用環(huán)境,本文提出了一種全新的云計算數(shù)據(jù)庫——數(shù)據(jù)立方。
1 云計算相關(guān)技術(shù)
1.1 大數(shù)據(jù)處理技術(shù)——MapReduce
MapReduce計算架構(gòu)把運行在大規(guī)模集群上的并行計算過程簡單抽象為兩個函數(shù):Map和Reduce,也就是分解與規(guī)約。簡單地說,MapReduce就是“任務(wù)的分解與結(jié)果的匯總”。程序?qū)⒋髷?shù)據(jù)分解為多個數(shù)據(jù)塊由Map函數(shù)處理,Reduce把分解后多任務(wù)處理產(chǎn)生的中間結(jié)果匯總起來,得到最終結(jié)果。適合MapReduce處理的任務(wù)特征為:待處理的大規(guī)模數(shù)據(jù)集可以切分為多個小的數(shù)據(jù)集,并且每一個小數(shù)據(jù)集都可以完全并行地進(jìn)行處理。
圖1介紹了用MapReduce處理大數(shù)據(jù)集的過程。一個MapReduce操作可以分為兩個階段:Map階段和Reduce階段。
在映射階段,MapReduce并行計算架構(gòu)將用戶的輸入數(shù)據(jù)切分為M個數(shù)據(jù)段,每個數(shù)據(jù)段對應(yīng)1個Map任務(wù)。每一個Map函數(shù)的輸入是數(shù)據(jù)段中的鍵值對
這種簡潔的并行計算模型在系統(tǒng)層面解決了可用性、擴展性、容錯性等問題,是非關(guān)系數(shù)據(jù)管理和分析技術(shù)的典型代表。MapReduce是面向廉價計算機組成的大規(guī)模集群設(shè)計的,其非共享結(jié)構(gòu)、松耦合性和較強的容錯能力帶來了較強的擴展能力,同時,MapReduce在工業(yè)界被廣泛應(yīng)用,Google、twitter、Facebook、Yahoo等廠商對其進(jìn)行了深度的改進(jìn)和擴展。此外,MapReduce的
1.2 并行數(shù)據(jù)庫技術(shù)
在20世紀(jì)80年代,數(shù)據(jù)庫流行的同時并行數(shù)據(jù)庫也開始起源,早期并行數(shù)據(jù)庫(如Gamma[4]和Grace[5])的基礎(chǔ)架構(gòu)被沿用至今,當(dāng)前的并行數(shù)據(jù)庫主要有Oracle的Exdata[6]、EMC的Greenplum[7]、Teradata[8],這些數(shù)據(jù)庫都支持標(biāo)準(zhǔn)SQL。并行數(shù)據(jù)庫一般可以分為無共享架構(gòu)(Shared-nothing)和磁盤共享存儲架構(gòu)(Shared-disk)兩種存儲架構(gòu),如圖2所示。這兩種架構(gòu)有各自的優(yōu)缺點,在Shared-nothing系統(tǒng)中,數(shù)據(jù)集被切分成為了多個子集[9-11],集群中每個節(jié)點分別存儲一個子集在本地磁盤上,一般來說,Shared-nothing系統(tǒng)可以提供很高的并行I/O和并行計算能力,但是也有多節(jié)點事務(wù)處理[12-13]、數(shù)據(jù)傳輸以及數(shù)據(jù)傾斜[14]等問題。在Shared-disk系統(tǒng)中,數(shù)據(jù)被集中存儲,所有的數(shù)據(jù)庫節(jié)點都可以訪問存儲系統(tǒng)的任意一個磁盤,因此數(shù)據(jù)也沒有必要被切分,這也避免了數(shù)據(jù)傾斜的問題,這種系統(tǒng)主要的缺陷在于較低的I/O帶寬和擴展能力。
1.3 云計算與數(shù)據(jù)庫相結(jié)合的技術(shù)
與數(shù)據(jù)庫相結(jié)合的云計算技術(shù)一般指的是MapReduce技術(shù),當(dāng)前主要有Teradata公司的Aster Data[15]和耶魯大學(xué)提出的HadoopDB[16]。
Aster Data將MapReduce與SQL引擎相結(jié)合,針對大數(shù)據(jù)處理和分析提出了SQL/MapReduce框架,用戶可以使用JAVA、C++等多種語言在Aster Data的并行框架上編寫MapReduce函數(shù),編寫的函數(shù)可以作為一個子查詢在SQL中使用,從而獲得SQL的易用性和MapReduce的開放性。同時Aster Data能夠?qū)Χ嘟Y(jié)構(gòu)化數(shù)據(jù)、原始數(shù)據(jù)進(jìn)行處理和分析,并擁有豐富的統(tǒng)計軟件包可以講數(shù)據(jù)分析推向數(shù)據(jù)庫內(nèi)進(jìn)行,提升了數(shù)據(jù)分析性能。
在HadoopDB中,系統(tǒng)清晰地分成兩層,上層使用Hadoop進(jìn)行任務(wù)的分解和調(diào)度,下層用RDBMS(Postgresql)進(jìn)行數(shù)據(jù)的查詢和處理,在處理查詢時,執(zhí)行的是SQL to mapReduce to SQL操作過程(SMS planner)。該工作的創(chuàng)新之處是:試圖利用Hadoop的任務(wù)調(diào)度機制提高系統(tǒng)的擴展性和容錯性,以解決大數(shù)據(jù)分析的橫向擴展問題;利用RDBMS實現(xiàn)數(shù)據(jù)存儲和查詢處理,以解決性能問題。在其性能實驗中,HadoopDB的性能仍然落后于關(guān)系數(shù)據(jù)庫系統(tǒng)。如何提升MapReduce的性能,已引起研究人員的高度重視,研究人員提出了MapReduce的各種優(yōu)化技術(shù),獲得了重要的性能改進(jìn)。Yale大學(xué)Abadi領(lǐng)導(dǎo)的小組正在使用包括列存儲、持續(xù)裝載和分析等技術(shù),以改進(jìn)HadoopDB的性能[17]。
圖3所示是HadoopDB的一個結(jié)構(gòu)圖,在原來的Hadoop與hive的基礎(chǔ)上,增加了一些組件[18]:其中SMS Planner的作用是在hive解析SQL語句生成MapReduce任務(wù)樹之后,對MapReduce任務(wù)樹進(jìn)行優(yōu)化,指導(dǎo)Hadoop去并行數(shù)據(jù)庫中執(zhí)行SQL。Catalog里面存儲了并行數(shù)據(jù)庫的一些信息。Data loader負(fù)責(zé)把原始數(shù)據(jù)加載到并行數(shù)據(jù)庫中,需要完成的工作是對原始數(shù)據(jù)的劃分。Database Connector用于向各個節(jié)點傳遞信息,包含了節(jié)點里面數(shù)據(jù)庫的鏈接信息和需要執(zhí)行的SQL語句。Paralled DataBase用于代替HDFS在各個節(jié)點上存儲數(shù)據(jù)。
2 云計算數(shù)據(jù)庫
——數(shù)據(jù)立方
通過對MapReduce、并行數(shù)據(jù)庫和兩者的混合技術(shù)研究,南京云創(chuàng)存儲科技有限公司推出了實施云計算數(shù)據(jù)庫——數(shù)據(jù)立方,該系統(tǒng)通過引入索引模塊、并行執(zhí)行架構(gòu)以及讀取本地磁盤的執(zhí)行方式,使查詢達(dá)到了實時完成、簡單易用、高可靠安全的效能,使艾字節(jié)級的數(shù)據(jù)能夠秒級處理,極大地提高了用戶執(zhí)行查詢操作后的使用效率,不僅在查詢和檢索這部分?jǐn)?shù)據(jù)的時候具有非常高的性能優(yōu)勢,數(shù)據(jù)立方還可以支持?jǐn)?shù)據(jù)倉庫存儲、數(shù)據(jù)深度挖掘和商業(yè)智能分析等業(yè)務(wù)。
2.1 數(shù)據(jù)立方的體系架構(gòu)
數(shù)據(jù)立方(DataCube)的結(jié)構(gòu)分為用戶接口、索引、SQL解析器、作業(yè)生成器、元數(shù)據(jù)管理、并行計算架構(gòu)、分布式文件系統(tǒng)等部分,如圖4所示。用戶接口主要有兩個:JDBC和Shell。JDBC主要執(zhí)行數(shù)據(jù)的定義操作,即建立數(shù)據(jù)庫、建表、建分區(qū),對數(shù)據(jù)庫、表和分區(qū)的刪改等,同時可執(zhí)行數(shù)據(jù)查詢的SQL語句,暫不支持單條記錄的增刪改;數(shù)據(jù)立方提供友好的Shell交互界面,Shell支持?jǐn)?shù)據(jù)庫、表的增刪改以及數(shù)據(jù)查詢的SQL語句。數(shù)據(jù)在入庫的同時與數(shù)據(jù)對應(yīng)的索引也在同時建立,索引是一顆B樹,數(shù)據(jù)插入到內(nèi)存的同時,索引B樹也在生成,當(dāng)達(dá)到設(shè)置上限時,數(shù)據(jù)和索引會刷新到分布式文件系統(tǒng)上成為文件。數(shù)據(jù)立方的元數(shù)據(jù)存儲在數(shù)據(jù)庫中。其中包括,數(shù)據(jù)庫的名字和屬性,數(shù)據(jù)庫中的表,表的名字,表的列和分區(qū)及其屬性,表的屬性,表的數(shù)據(jù)所在目錄等等。SQL解析器接收從JDBC和Shell傳來的SQL查詢語句,同時對SQL進(jìn)行詞法分析、語法分析、編譯、優(yōu)化。作業(yè)生成器根據(jù)SQL語法樹生成查詢作業(yè),分析所要處理的數(shù)據(jù)表對應(yīng)的索引文件的所在存儲子節(jié)點位置,并將作業(yè)發(fā)送給并行計算架構(gòu)。并行計算架構(gòu)接收到作業(yè)生成器生成的作業(yè),根據(jù)索引文件的位置切分查詢作業(yè)形成子任務(wù),然后將子任務(wù)發(fā)送給數(shù)據(jù)所在的存儲子節(jié)點,每個節(jié)點執(zhí)行這些子任務(wù)查詢索引得到結(jié)果記錄所在的數(shù)據(jù)文件名與偏移量,并以廣播的方式發(fā)送查詢子任務(wù)到數(shù)據(jù)文件所在的節(jié)點,在執(zhí)行完畢后將結(jié)果返回。數(shù)據(jù)立方可以使用HDFS和cStor[19]作為底層存儲系統(tǒng),cStor是一個主從結(jié)構(gòu)的分布式文件系統(tǒng),不僅具有HDFS的高吞吐率、高讀寫性能等特性,還支持HDFS所不具備的對文件修改等功能,并且支持POXIS接口。
2.2 分布式并行計算架構(gòu)(DPCA)
數(shù)據(jù)立方的分布式并行架構(gòu)(DPCA)是典型的主從結(jié)構(gòu),如圖5所示。主Master與從Master分別部署在HDFS的主從NameNode物理節(jié)點上,而Slave部署在DataNode物理節(jié)點上,主從Master使用Zookeeper同步,并共享系統(tǒng)日志,Master與Slave之間用心跳信息保持信息交換。
相對于MapReduce架構(gòu),DPCA具有實時性、計算的數(shù)據(jù)本地性以及數(shù)據(jù)平衡性。MapReduce架構(gòu)的作業(yè)(Job)提交過程較為復(fù)雜,客戶端將Job提交到JobTracker有較長的延遲,JobTracker將Job處理為MapReduce Task后,通過TaskTracker的心跳信息將Task任務(wù)返回給TaskTracker,此過程中也存在延遲。
MapReduce架構(gòu)雖然也遵循數(shù)據(jù)本地性,但仍會有很大比例的數(shù)據(jù)處理不是本地的,相對于MapReduce架構(gòu),DPCA的Job提交是實時性的,在提交Job之前所需程序Jar包已經(jīng)分發(fā)到所有計算節(jié)點,在Job提交之后,Master在初始化處理之后即將Task直接分發(fā)到所有Slave節(jié)點上,如圖6所示,在Job提交后,Master根據(jù)數(shù)據(jù)文件所在位置分配Task,這樣在每個計算節(jié)點上要處理的HDFS上的數(shù)據(jù)塊就在本地,這樣避免了數(shù)據(jù)的移動,極大地減少了網(wǎng)絡(luò)IO負(fù)載,縮短了計算時間,每個計算節(jié)點會根據(jù)Task中SQL解析器生成的執(zhí)行計劃對Task執(zhí)行的結(jié)果進(jìn)行分發(fā),分發(fā)的方式有3種:分發(fā)所有中間數(shù)據(jù)到所有計算節(jié)點、分發(fā)所有中間數(shù)據(jù)到部分節(jié)點、根據(jù)數(shù)據(jù)所在位置分發(fā),如圖7所示。并行計算架構(gòu)能夠周期性地對HDFS上的數(shù)據(jù)表進(jìn)行維護(hù),保持?jǐn)?shù)據(jù)表在所有的DataNode節(jié)點上所存儲的數(shù)據(jù)量的平衡,減少因數(shù)據(jù)負(fù)載的不平衡而導(dǎo)致的計算負(fù)載的不平衡。
舉一個典型的小表與大表Join連接的實例,如圖8所示,Master解析Job中的執(zhí)行計劃,判斷小表的位置后,將Task0發(fā)送給了Slave0,指令Slave0發(fā)送小表到所有節(jié)點,而其他節(jié)點接收到的子任務(wù)是等待接受小表的數(shù)據(jù),接收到數(shù)據(jù)后將小表與大表連接并將數(shù)據(jù)返回給Master,當(dāng)所有數(shù)據(jù)返回完成則這個Job完成。
2.3 分布式索引
MapReduce是對每個查詢都是直接從分布式文件系統(tǒng)中讀入原始數(shù)據(jù)文件,I/O代價遠(yuǎn)高于數(shù)據(jù)庫,相對于MapReduce架構(gòu)以及在其之上的SQL解析器Hive,數(shù)據(jù)立方引入了一種高效的分布式索引機制,不同于并行數(shù)據(jù)庫的Shared-nothing和Shared-disk架構(gòu),數(shù)據(jù)立方的數(shù)據(jù)文件與索引文件都存放在分布式文件系統(tǒng)之上。
數(shù)據(jù)在入庫的同時B樹索引在內(nèi)存中同步生成,B樹中的葉子節(jié)點存儲的是數(shù)據(jù)文件路徑與記錄在文件中的偏移量,如圖9所示,在B樹中的葉子節(jié)點達(dá)到設(shè)置上限后,索引將被序列化到分布式文件系統(tǒng)之上,在根據(jù)條件進(jìn)行單表查詢的時,Job被提交到并行計算框架,Master節(jié)點首先分析該表的索引文件根據(jù)索引文件所在的節(jié)點將Task發(fā)送到相應(yīng)的節(jié)點,每個節(jié)點在查詢本地的索引文件之后將符合條件的數(shù)據(jù)文件路徑+偏移量打包成Task根據(jù)數(shù)據(jù)文件位置進(jìn)行再次分發(fā),在數(shù)據(jù)文件中的記錄查詢出來之后將結(jié)果返回,如圖9所示。
3 實驗與評估
3.1 實驗環(huán)境
實驗環(huán)境搭建在兩個機架的12臺物理機組成的集群上。每臺物理機使用Ubuntu9.04 server系統(tǒng),JDK版本為1.6.0.18,使用的Hadoop版本為2.0.0,將HDFS作為分布式存儲環(huán)境。軟硬件配置如表1、表2所示。
當(dāng)前與數(shù)據(jù)立方類似的產(chǎn)品有分布式數(shù)據(jù)庫和數(shù)據(jù)倉庫,如:開源的HIVE、HadoopDB等,因此我們在數(shù)據(jù)入庫、查詢、查詢的并發(fā)量以及線性擴展等多方面對數(shù)據(jù)立方、HIVE和HadoopDB做了對比實驗。
3.2 數(shù)據(jù)入庫實驗
數(shù)據(jù)立方能夠快速進(jìn)行數(shù)據(jù)入庫同時實時建立索引,相對于基于傳統(tǒng)數(shù)據(jù)庫的HadoopDB來說具有天然的優(yōu)勢,但由于HIVE在數(shù)據(jù)入庫的同時并沒有建立索引使其在查詢的過程中沒有優(yōu)勢。實驗結(jié)果如圖10所示。
3.3 單表查詢實驗
對于簡單的單表查詢來說,數(shù)據(jù)量較小時,HadoopDB與數(shù)據(jù)立方的查詢速度都是比較快的,但在大數(shù)據(jù)量下,數(shù)據(jù)立方的高效分布式查詢更有優(yōu)勢,而HIVE的底層是基于MapReduce,所以速度較慢。實驗結(jié)果如下圖11所示。
3.4 多表查詢實驗
在多表查詢方面,在小表與小表、大表與小表之間的關(guān)聯(lián)查詢,數(shù)據(jù)立方和HadoopDB都是較快的,但在大表與大表之間做關(guān)聯(lián)查詢時,數(shù)據(jù)立方相對于HadoopDB更快,而HIVE是最慢的。多表查詢實驗結(jié)果如圖12所示。
3.5 并發(fā)查詢實驗
數(shù)據(jù)立方的每個節(jié)點支持200個并發(fā)查詢,同時每個查詢均是秒級響應(yīng),HadoopDB由于是SMS的中間層,由于MapReduce架構(gòu)本身的心跳機制而導(dǎo)致了較大的延遲,所以是很難達(dá)到秒級響應(yīng)的,HIVE的任務(wù)并發(fā)數(shù)取決于MapReduce的并發(fā)任務(wù)數(shù),所以會更低。實驗結(jié)果如圖13所示。
3.6 線性擴展實驗
數(shù)據(jù)立方、HadoopDB和HIVE均支持線性擴展,而數(shù)據(jù)立方的擴展效率更高,即對系統(tǒng)的軟硬件做擴展后,性能也能夠達(dá)到類似線性的增長。實驗結(jié)果如圖14所示。
4 結(jié)束語
Hadoop是一種流行的MapReduce計算模型的開源實現(xiàn),用于大規(guī)模數(shù)據(jù)集的并行化分析處理,并行數(shù)據(jù)庫是在單機數(shù)據(jù)庫基礎(chǔ)之上發(fā)展而來的數(shù)據(jù)庫集群,本文通過研究MapReduce技術(shù)、并行數(shù)據(jù)庫技術(shù)以及混合技術(shù)探討了一系列相關(guān)的大數(shù)據(jù)處理技術(shù),更深一步探索了基于分布式文件系統(tǒng)的并行計算架構(gòu)和分布式海量數(shù)據(jù)實時索引機制,以此為基礎(chǔ)并輔以其他技術(shù)形成了一個支持非結(jié)構(gòu)化、結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)高效存儲,支持離線數(shù)據(jù)分析和在線專題應(yīng)用,支持結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)之間的復(fù)雜計算的實時云計算數(shù)據(jù)庫數(shù)據(jù)立方。最后,本文通過實驗驗證了數(shù)據(jù)立方相對于其他系統(tǒng)的優(yōu)勢。
參考文獻(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ù)倉庫簡介 [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.
作者簡介
王磊,中國礦業(yè)大學(xué)計算機學(xué)院碩士畢業(yè);南京云創(chuàng)存儲科技有限公司技術(shù)總監(jiān);從事大數(shù)據(jù)處理、數(shù)據(jù)立方產(chǎn)品技術(shù)規(guī)劃及架構(gòu)設(shè)計,大數(shù)據(jù)處理項目需求分析等。
張真,北京科技大學(xué)MBA碩士畢業(yè),南京云創(chuàng)存儲科技有限公司董事長兼CEO。
王胤然,南京航空航天大學(xué)畢業(yè);南京云創(chuàng)存儲科技有限公司云計算高級研發(fā)工程師;從事分布式數(shù)據(jù)處理和大規(guī)模數(shù)據(jù)挖掘工作。