999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談MapReduce與關系型數據庫技術的融合

2017-10-19 07:58:50鄒香玲
河北軟件職業技術學院學報 2017年3期
關鍵詞:數據庫信息

門 威,鄒香玲

(河南廣播電視大學,鄭州 450000)

淺談MapReduce與關系型數據庫技術的融合

門 威,鄒香玲

(河南廣播電視大學,鄭州 450000)

雖然關系數據庫擅長于OLTP事務處理,但在處理大規模數據時卻性能不足。MapReduce憑借其易操作性、高擴展性和高并發性,在大規模數據處理中占據優勢。結合這兩種技術,設計出兼有兩者優點的技術架構是解決大數據分析問題的重要途徑之一。二者共生的大數據生態系統成為技術融合的重要趨勢。

關系型數據庫;MapReduce;大數據分析

0 引言

在數據存取方面,傳統的關系型(分布式)數據庫在OLTP事務處理方面表現出高性能的特性,但是當索引和數據集增長到一定程度時,卻性能不足[1]。MapReduce是一種基于并行計算的數據處理架構,可運行在分布式服務器集群上,通過“分治策略”提高數據處理效率,在大規模數據處理和分析方面表現出高效能和高容錯性的特點。關系型數據庫與MapReduce各有特點,如何從數據查詢或組織等中心環節入手,整合兩種技術,設計出既具備關系型數據庫的高性能,又支持MapReduce高擴展性的混合架構,成為大數據分析技術的重要研究方向之一。

1 MapReduce數據處理架構

MapReduce計算模型最初于2004年由Google提出,其為大數據處理與分析提供了一種有效的解決方案[2]。MapReduce可被理解成一類編程模型,在不同的編程語言中有不同的實現,其函數式用于處理和構建大數據集,可并行執行在大規模計算機集群上。MapReduce架構為程序員屏蔽底層復雜性,甚至允許沒有分布式編程經驗的程序員輕松利用函數接口執行大規模數據的分布式運算。MapReduce是由Map與Reduce兩個階段組成的。Map函數用于處理輸入數據(Key/Value對)并產生中間結果,Reduce函數對中間結果排序、合并、計算并輸出最終結果。具體過程如圖1所示。

圖1 MapReduce計算模型

(1)MapReduce函數庫中的文件分隔函數將存儲數據文件分割成M塊(自Split[0]至Split[M-1]),塊的大小可使用參數設定。

(2)子塊被加載到集群中的工作節點(Worker)上。主控節點(Master)負責調度各工作節點,將M個Map任務與N個Reduce任務分解到多個空閑的Worker節點上。

(3)Worker節點接到任務后會自動讀取和處理相關輸入數據,并將中間結果以Key/Value對的形式緩存起來。

(4)當緩沖區內的數據超過閾值或到達定時器節點時,被flush到本地存儲。Master負責將數據塊位置信息等元數據傳輸給Reduce Workers,它們將讀取中間數據并按照Key值進行排序,使Key值相同的記錄聚集在一起。

(5)Reduce Worker利用自定義的Reduce函數處理Key值相同的中間數據,并將各自區域的數據輸出到輸出文件。

(6)在所有的Map和Reduce任務都完成后,Master負責將數據匯總輸出并返回到程序調用點。

MapReduce采用“分治”策略,將單任務分解成多個任務,通過任務并行達到提高數據處理效率的目的。

2 MapReduce與關系型數據庫融合技術

在MapReduce與關系型數據庫技術融合方面,中國人民大學譚雄派等在《大數據分析——RDBMS與MapReducede的競爭和共生》[3]一文中指出:關系數據庫相對于MapReduce具有更高的性能,而MapReduce在容錯性和擴展性方面更勝一籌,兩者各有優缺點。如何將二者進行融合,設計出同時具備兩者優點的數據存儲架構成為大數據分析技術的重要研究方向。

HadoopDB在MapReduce和關系型數據庫技術融合方面采取的策略是將系統分為兩層:下層利用關系型數據庫Postgresql進行數據查詢,而上層利用Hadoop技術對任務進行劃分和調度。該方法既利用Hadoop數據處理機制提高了系統的容錯能力和擴展能力,又利用關系型數據庫提高了數據查詢和存儲性能。試驗結果,HadoopDB的數據查詢性能依然無法與關系型數據庫相匹敵,這需要改進和優化MapReduce架構以提升其性能。

Aster Data和Greenplum公司在關系型數據庫的基礎上,將MapReduce內置于大規模并行處理機MPP,將MPP核心引擎與MapRed作業引擎整合,將查詢分析函數交給MapReduce執行,這些分析函數可以并行執行在MPP上,相對于關系型數據庫的自定義函數來說,性能得到極大提高。分析函數以分析軟件包的形式發布。該策略利用MapReduce架構提高了分析函數的執行效率。

Vertical、Oracle、Teradata 等數據庫公司也在致力于研究關系型數據庫與MapReduce的融合技術。各自策略雖有不同,但基本類似:在關系型數據庫引擎內置MapReduce作業調度機制。Vertical數據庫于2009年啟動MapReduce技術整合研究。改進后的Vertical數據能夠處理結構化、半結構化和非結構化數據。Teradata設計的架構相對簡單,僅實現HDFS(Hadoop File System)和數據表之間的轉換以及數據裝載的加速。

2.1 Dumbo與LinearDB模型

中國人民大學高性能數據庫實驗室以數據組織和查詢為切入點,研究MapReduce和關系數據庫融合技術,設計出兼具關系數據庫性能和MapReduce高擴展性的數據倉庫查詢框架,提出了下述兩個研究方向[4]。

(1)Dumbo模式采用關系數據庫技術,并使用MapReduce模式改造OLAP查詢過程,提高其處理OLAP查詢的效率。Dumbo根據HDFS的特點優化存儲數據,采取有效的層次編碼技術把維表數據壓縮至事實表。Dumbo在MapReduce框架的基礎上進行擴展,設計了新型的OLAP處理框架 TMRP,即 Transform、Map、Reduce、Postprocess流程。

在Dumbo架構下,數據查詢首先被轉換成MapReduce任務。在Map階段,該任務以流水線模式掃描和匯聚本地數據,并在Reduce階段執行數據運算、篩選、排序與合并等操作。Master在Postprocess階段負責Data Node上數據集的連接操作。經實驗表明,Dumbo數據查詢性能高于HadoopDB。

(2)LinearDB借用MapReduce的設計思想提高OLAP查詢的可擴展性。該模型采用無連接雪花模型,利用層次編碼技術將維表信息壓縮至事實表,使事實表進行獨立的謂詞、聚集等數據查詢操作,從而把大規模集群上的數據連接操作轉化成局部操作。LinearDB查詢過程簡稱TRM(Transform、Reduce&Merge)。在 Transform 操 作 中,Master將維表上的謂詞判斷、聚集等操作轉換成事實表的操作。在Reduce階段,Data Node并行掃描數據,將結果提交給Master。最后在Merge階段,Master對Data Node返回的數據進行過濾、排序和合并。TRM模型的主旨是將查詢劃分成多個子任務并加載到MPP上并發執行。執行失敗的子任務可在其他備份節點上重新執行,具備較好的容錯性。LinearDB結合了MapReduce處理模式和關系型數據庫的層次編碼、泛型關系等技術,其執行代價主要在于Reduce操作復雜度。該模型可以獲得接近線性擴展能力。

Dumbo與LinearDB在一定程度上實現了關系型數據庫和MapReduce的技術融合,但在數據預處理上花費的時間較多(約是普通預處理時間的7倍左右),有待進一步優化。

2.2 基于分塊機制的ChunkDB模型

東北大學師金鋼等在借鑒分布式文件系統HDFS架構的基礎上,提出了基于分塊機制的數據庫模型ChunkDB[5]。該數據庫模型整體結構如圖2所示。

圖2 數據存取架構圖

圖2 中顯示了系統的三個主要角色:Master、Data Node和Client。其中Master負責數據塊基本信息和Data Node信息的管理,如實時監測節點運行狀況、維護節點信息表、存儲數據塊位置和副本信息;Data Node負責數據存儲,受Master統一管理;Client負責運行客戶端應用程序。

為通過并行計算提高查詢效率,系統首先要將待存儲數據表進行分塊并存儲到多個數據節點中。系統采用類似于基于列(類似HBase)或基于記錄的分塊劃分方式。若采用基于記錄的劃分方式,各子塊可被獨立查詢或添加索引。數據表被劃分成多個子塊的同時,也創建子塊副本,以保障系統容錯性。當子塊尺寸和副本數量確定后,Client便可根據設定參數向Data Node寫數據,同時將元數據信息寫入到Master。當Client讀取數據時,首先讀取Master中的元數據,然后根據元數據信息讀取Data Node。

子塊在Data Node中的分配方法可采用輪詢或哈希策略。其中輪詢策略將排序好的數據塊按順序存儲,哈希分布策略則根據塊id計算出的hash值將數據塊存儲到相應的Data Node上。

通過借鑒HDFS架構,Master中應包含集群節點信息表、已存儲數據表基本信息表、數據塊分布表和分塊策略表等。

集群節點信息表用于存儲集群節點信息,包括節點id、類型、角色、用戶、密碼、RDBMS連接字符串、數據庫驅動和節點狀態等信息。所有的節點由Master統一管理,并保持實時通信。

數據表基本信息表用于存儲數據表的基本信息,包括表id、表名稱、表大小、是否分塊、分塊大小、副本個數等信息。Client讀取數據時,首先獲取id,通過元數據關聯查詢獲取數據子塊信息。

數據塊分布表用于存儲數據塊基本信息,包括數據塊id、編號、地址、所在Data Nodeid、從屬的數據表id、副本編號等。Client通過表關聯查詢到某數據表的所有數據塊,然后從數據塊中讀取最終數據。

用戶提交任務后,系統首先讀取Master數據表,判斷任務中涉及的數據表是否在系統中存在,如果表存在,則繼續讀取數據塊分布表,找出數據表的所有分塊并啟動map任務,將多個分塊傳遞給map任務進行數據檢索,最后利用Reduce操作對結果進行排序、篩選、合并和聚集,最終輸出結果(與MapReduce處理流程相同)。

MapReduce默認的DBInputFormat接口多用于操作單一的數據庫,因此系統需要對該接口進行擴展以適應分布式數據庫環境。類似于HDFS從Name Node讀取文件數據塊信息的方式,系統從Master中讀取數據塊信息,然后由分塊信息生成輸入數據塊。擴展后的接口在操作分布式數據庫方面和HDFS的操作方式相同。

3 基于MapReduce與關系型數據庫的共生系統

在海量數據處理過程中,大數據分析的基本原則是將計算放在數據中,避免數據移動。傳統的基于關系型數據庫的大數據分析系統借助于外部ETL工具將待分析數據導入到數據庫中,利用SQL語言進行數據分析并生成報表。由于SQL語言的局限性,系統需要將數據導出到外部工具(SPSS等)進行數據分析。這種模式的缺點在于數據導入導出過程造成大規模數據移動,導致系統性能下降。相對于關系型數據庫,MapReduce在計算或存儲模式上具有更好的容錯性與擴展性,能為大數據分析提供更好的平臺。在深度分析方面,MapReduce的函數表達式勝過SQL函數。

以Facebook為代表的新型大數據分析系統應運而生,如圖3所示。Facebook單一集群的數據量超過100PB,每天新增的數據量超過500TB。在Facebook的數據架構中,OLTP事務處理由關系型數據庫負責,交易數據的管理和分析由Hive負責。Hive系統的數據分析結果導入到關系型數據庫中,用于用戶查詢。為減輕即時查詢給Hive核心系統造成的壓力,即時查詢交給備份的Hive服務器。Facebook的數據分析系統利用基于MapReduce的Hive-Hadoop架構,實現了系統高擴展性,同時利用關系型數據庫擅長OLTP事務的特點,使其用于處理數據的導入和分析結果的輸出,從而有效結合二者優點。

圖3 Facebook數據平臺架構

4 結論

在大數據分析處理過程中,關系型數據庫在可擴展性方面的不足成為制約其性能的主要瓶頸,SQL語言難以滿足復雜的數據分析需求。通過將關系型數據庫和MapReduce進行技術融合,將MapReduce架構可擴展性、容錯性等優勢與關系型數據庫的高性能結合起來,設計出同時具備二者優點的數據存儲架構,是解決大數據分析問題的重要途徑。在技術融合方面,Yale、Aster Data、Greenplum、中國人民大學高性能數據庫研究小組以及東北大學于戈教授等分別給出了不同解決方案。其共同點是利用關系型數據庫和MapReduce技術整合打破單一技術的局限性,最終通過兩種技術的相互滲透、相互學習產生新的大數據生態系統。

[1]張濱,陳吉榮,樂嘉錦.大數據管理技術研究綜述[J].計算機應用與軟件,2014(11):1-5,10.

[2]李建江,崔健,王聃,等.MapReduce并行編程模型研究綜述[J].電子學報,2011(11):2635-2642.

[3]覃雄派,王會舉,杜小勇,等.大數據分析——RDBMS與MapReduce 的競爭與共生[J].軟件學報,2012(1):32-45.

[4]王珊,王會舉,覃雄派,等.架構大數據:挑戰、現狀與展望[J].計算機學報,2011(10):1741-1752.

[5]師金鋼,鮑玉斌,冷芳玲,等.基于MapReduce的關系型數據倉庫并行查詢[J].東北大學學報:自然科學版,2011(5):626-629.

A Brief Discussion on the Integration of MapReduce&Relational Database

MEN Wei,ZOU Xiang-ling

(Henan Radio and Television University,Zhengzhou 45000,China)

RDBMS is good at OLTP,but its performance is inadequate when dealing with massive data.MapReduce uses its easy operability,high scalability and high concurrency to show high efficiency on processing large-scale data.Technical architecture with both advantages is one of the important ways to solve the problem of big data analysis.The ecosystem with both symbioses is becoming an important trend of technology integration.

Relationed Datebase;MapReduce;Big Data Analysis

TP311

A

1673-2022(2017)03-0010-04

2017-03-21

河南省科技廳科研項目(172102210235);河南省教育廳科研項目(16B520008);國家開放大學科研項目(G16F2406Q)

門威(1988-),男,河南永城人,講師,碩士,研究方向為軟件工程;鄒香玲(1987-),女,河南周口人,講師,碩士,研究方向為計算機軟件。

猜你喜歡
數據庫信息
數據庫
財經(2017年15期)2017-07-03 22:40:49
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
數據庫
財經(2010年20期)2010-10-19 01:48:32
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 在线观看免费人成视频色快速| 青青操国产| 制服无码网站| 亚洲精品成人福利在线电影| 久久天天躁夜夜躁狠狠| 中国美女**毛片录像在线| 日韩毛片在线播放| 国产成人永久免费视频| 欧美区一区二区三| 日韩在线播放中文字幕| 欧美午夜一区| 久久夜色精品国产嚕嚕亚洲av| 欧美一级片在线| 国产精品冒白浆免费视频| 日本91在线| 亚洲无码熟妇人妻AV在线| 99久久亚洲综合精品TS| 亚洲高清国产拍精品26u| 婷婷六月激情综合一区| 久久精品视频亚洲| 国产呦视频免费视频在线观看 | 无码视频国产精品一区二区| 一级福利视频| 精品人妻无码中字系列| 欧美综合一区二区三区| 国产精品亚洲va在线观看| 欧美伦理一区| 国产亚洲高清视频| 国产91成人| 欧美精品黑人粗大| 久久中文无码精品| JIZZ亚洲国产| 免费又爽又刺激高潮网址| 国产系列在线| 最新国语自产精品视频在| 日本精品视频| 久久香蕉国产线看观看亚洲片| 国产一区亚洲一区| 亚洲成a人在线播放www| 日韩欧美国产另类| 国产自无码视频在线观看| 日韩国产亚洲一区二区在线观看 | 欧美日韩亚洲国产| 婷婷六月综合网| 狠狠五月天中文字幕| 女人18毛片水真多国产| 亚洲欧洲自拍拍偷午夜色无码| 国产丰满成熟女性性满足视频| 香蕉视频国产精品人| 极品尤物av美乳在线观看| 91精品人妻一区二区| 岛国精品一区免费视频在线观看| 九九视频免费看| 色妞永久免费视频| 亚洲精品第五页| 欧美日韩国产精品va| 福利在线免费视频| 91在线一9|永久视频在线| 狠狠色综合久久狠狠色综合| 五月天综合网亚洲综合天堂网| 国产性精品| 全午夜免费一级毛片| 亚洲第一网站男人都懂| 乱人伦中文视频在线观看免费| 亚洲视频无码| 亚洲大学生视频在线播放| 欧美人与性动交a欧美精品| 亚洲人成日本在线观看| 在线播放91| 亚洲va在线观看| 自拍偷拍欧美日韩| 色综合中文综合网| 国产精品女熟高潮视频| 全部毛片免费看| 久久精品国产91久久综合麻豆自制| 华人在线亚洲欧美精品| 国产精品无码作爱| 五月天久久综合国产一区二区| 久久精品波多野结衣| 99九九成人免费视频精品| 视频二区中文无码| 成人在线不卡视频|