張波
摘 要:文章通過(guò)對(duì)某保險(xiǎn)公司的分布式數(shù)據(jù)庫(kù)架構(gòu)下數(shù)據(jù)自助分析平臺(tái)中的應(yīng)用方案進(jìn)行研究與應(yīng)用,提出在自助分析系統(tǒng)中使用分布式MPP數(shù)據(jù)庫(kù)進(jìn)行海量數(shù)據(jù)處理的思路,對(duì)開(kāi)源分布式數(shù)據(jù)庫(kù)GreenPlum進(jìn)行了重點(diǎn)分析,同時(shí)結(jié)合ROLAP自助分析系統(tǒng)的功能特點(diǎn),給出系統(tǒng)部署的應(yīng)用建議。研究?jī)?nèi)容對(duì)于分布式數(shù)據(jù)庫(kù)在大數(shù)據(jù)決策分析系統(tǒng)的落地具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:分布式數(shù)據(jù)庫(kù);BIG LAKE;ROLAP;數(shù)據(jù)分析
中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)11-0055-02
Abstract: Through the research and application of the data self-help analysis platform under the distributed database architecture of an insurance company, this paper puts forward the idea of using distributed MPP database for mass data processing in the self-help analysis system, analyzes the open source distributed database GreenPlum emphatically, and through the function characteristics of ROLAP self-help analysis system, the application suggestions of system deployment are given. The research content has certain practical value to the distributed database in big data decision analysis system landing.
Keywords: distributed database; BIG LAKE; ROLAP; data analysis
1 概述
近幾年,隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,大數(shù)據(jù)、云計(jì)算等新技術(shù)的不斷推進(jìn),保險(xiǎn)公司面臨著海量的數(shù)據(jù)處理、復(fù)雜的數(shù)據(jù)結(jié)構(gòu)分析、精細(xì)化業(yè)務(wù)需求、平臺(tái)能力開(kāi)放共享等多重壓力,所以需要先進(jìn)的技術(shù),搭建公司全新的大數(shù)據(jù)處理平臺(tái)及自助分析系統(tǒng)。國(guó)內(nèi)外有一個(gè)非常火熱的詞匯“BIG LAKE”(數(shù)據(jù)湖泊),目的是不需要再對(duì)數(shù)據(jù)像以前那樣經(jīng)過(guò)定制,生成特定的業(yè)務(wù)報(bào)表,而是要保存原始數(shù)據(jù),什么時(shí)候想分析就從原始數(shù)據(jù)上直接處理。依托云計(jì)算分布式數(shù)據(jù)庫(kù)技術(shù),處理、整合海量數(shù)據(jù),實(shí)現(xiàn)原始清單粒度的ROLAP技術(shù)的自助分析系統(tǒng),將會(huì)極大提高數(shù)據(jù)挖掘的價(jià)值,為企業(yè)經(jīng)營(yíng)提供決策、營(yíng)銷、服務(wù)建議的支撐工作。
2 云計(jì)算下的分布式數(shù)據(jù)庫(kù)
2.1 SQL on Hadoop和MPP技術(shù)選型
數(shù)據(jù)倉(cāng)庫(kù)是數(shù)據(jù)分析類系統(tǒng)的核心,傳統(tǒng)數(shù)倉(cāng)一般采用完全共享的架構(gòu)部署,隨著存儲(chǔ)數(shù)據(jù)的增長(zhǎng),性能負(fù)載將急劇增加,導(dǎo)致存儲(chǔ)I/O瓶頸、系統(tǒng)應(yīng)用加載時(shí)間長(zhǎng)等問(wèn)題。作為IT的最新演進(jìn)成果,大數(shù)據(jù)分布式數(shù)據(jù)庫(kù)技術(shù)已成為一系列可能改變未來(lái)生活和企業(yè)發(fā)展技術(shù)的基石,選型上有Hadoop(分布式系統(tǒng)基礎(chǔ)架構(gòu))、MPP(Massive Parallel Processing,海量并行處理結(jié)構(gòu))架構(gòu)兩種技術(shù)架構(gòu)。這兩種都可處理大規(guī)模數(shù)據(jù)的并行計(jì)算,共同之處在于:
(1)存儲(chǔ)數(shù)據(jù)分布在多個(gè)節(jié)點(diǎn)服務(wù)器上。
(2)支持橫向擴(kuò)展來(lái)提高整個(gè)系統(tǒng)的計(jì)算能力和存儲(chǔ)容量。
(3)采用分布式并行計(jì)算框架。
(4)支持X86開(kāi)放集群架構(gòu)。
但在數(shù)據(jù)存儲(chǔ)、計(jì)算方法、效率、功能上,也存在明顯差異:
(1)MPP按照關(guān)系數(shù)據(jù)庫(kù)行列表方式存儲(chǔ)數(shù)據(jù)(有模式),Hadoop按照文件切片方式分布式存儲(chǔ)(無(wú)模式)。
(2)數(shù)據(jù)分布機(jī)制不同,MPP采用Hash分布,計(jì)算節(jié)點(diǎn)和存儲(chǔ)緊密耦合,而Hadoop按照文件切塊后隨機(jī)分配,節(jié)點(diǎn)和數(shù)據(jù)無(wú)耦合。MPP采用SQL并行查詢計(jì)劃,Hadoop采用Mapreduce框架。
(3)MPP數(shù)據(jù)庫(kù)在計(jì)算并行度和算法上比Hadoop效率更高且靈活。在同樣的環(huán)境下測(cè)試對(duì)比中,Mapreduce對(duì)單表的計(jì)算尚可,但對(duì)于復(fù)雜查詢,如多表關(guān)聯(lián)等,性能很差。
(4)MPP數(shù)據(jù)庫(kù)采用SQL作為主要交互式語(yǔ)言,SQL語(yǔ)言簡(jiǎn)單易學(xué),大幅簡(jiǎn)化了數(shù)據(jù)的操作和交互過(guò)程。而對(duì)MapReduce編程明顯是困難的,這幾年SQL-on-HADOOP技術(shù)大量涌現(xiàn)出來(lái),這些技術(shù)包括:Hive、Impala、SPARK SQL等,雖然易用上有所提高,但仍與MPP數(shù)據(jù)庫(kù)有較大差距。SQL-on-Hadoop大多不支持?jǐn)?shù)據(jù)局部更新和刪除功能(update/delete),基本上都缺少索引和存儲(chǔ)過(guò)程等特征綜上,MPP在更靈活,適合于統(tǒng)計(jì)分析一類的業(yè)務(wù)場(chǎng)景,結(jié)合我公司的自助分析系統(tǒng)的應(yīng)用場(chǎng)景,選用開(kāi)源的MPP軟件GreenPlum作為系統(tǒng)的分析引擎。
2.2 開(kāi)源分布式數(shù)據(jù)庫(kù)GreenPlum
GreenPlum(簡(jiǎn)稱:GP)數(shù)據(jù)庫(kù)也是關(guān)系型數(shù)據(jù)庫(kù),是由數(shù)個(gè)獨(dú)立的數(shù)據(jù)庫(kù)服務(wù)組合的分布式邏輯數(shù)據(jù)庫(kù),GP于2016年開(kāi)源。GP的基本組件為Master節(jié)點(diǎn)、Segment節(jié)點(diǎn)以及它們之間的高速互聯(lián)網(wǎng)絡(luò)。Master節(jié)點(diǎn)是訪問(wèn)入口,負(fù)責(zé)處理客戶端的連接和SQL命令入口,在Segment節(jié)點(diǎn)之間分配工作負(fù)載,整合Segment處理結(jié)果并將最終結(jié)果呈現(xiàn)給客戶端程序。Segment節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和查詢,由Master生成執(zhí)行計(jì)劃,處理邏輯數(shù)據(jù),并將結(jié)果返回至Master,節(jié)點(diǎn)間可通過(guò)高速互聯(lián)網(wǎng)絡(luò)進(jìn)行彼此的數(shù)據(jù)交互。
GP能夠提升大數(shù)據(jù)分析的處理能力,關(guān)鍵原因有兩點(diǎn):一是采用MPP并行處理架構(gòu),使得對(duì)大數(shù)據(jù)量的處理工作可被分配至多個(gè)Segment并行執(zhí)行,發(fā)揮了并行計(jì)算的性能優(yōu)勢(shì);二是采用完全不共享的數(shù)據(jù)庫(kù)體系,使得每個(gè)Segment都具有獨(dú)立使用的磁盤子系統(tǒng)及數(shù)據(jù)傳輸通道,數(shù)據(jù)存取的I/O能力強(qiáng)。
3 ROLAP自助分析系統(tǒng)的規(guī)劃與設(shè)計(jì)
OLAP技術(shù)一般分為ROLAP和MLAP兩種,ROLAP技術(shù)擴(kuò)展性更好,可以在不影響模型的情況下無(wú)限擴(kuò)展指標(biāo)和維度,數(shù)據(jù)加工負(fù)擔(dān)小,適合快速迭代的數(shù)據(jù)分析場(chǎng)景特點(diǎn)。ROLAP自助分析是一種敏捷靈活的分析方法,簡(jiǎn)化了用戶對(duì)多樣化信息的訪問(wèn),為數(shù)據(jù)分析和挖掘創(chuàng)造了良好的條件。
結(jié)合我公司保險(xiǎn)大數(shù)據(jù)的業(yè)務(wù)場(chǎng)景需求,基于ROLAP的思想,可以將清單粒度的業(yè)務(wù)指標(biāo)和維度數(shù)據(jù)放在分布式GP數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ),同時(shí)為用戶提供一個(gè)靈活定制的前臺(tái)功能,前臺(tái)采用B/S架構(gòu),展現(xiàn)層采用HTML+CSS+JS等語(yǔ)言開(kāi)發(fā),服務(wù)器端以JAVA、SQL等語(yǔ)言處理業(yè)務(wù)邏輯及數(shù)據(jù)的抽取、清洗采用Mybatis技術(shù)框架,前后臺(tái)獨(dú)立開(kāi)發(fā)。
用戶可以對(duì)單指標(biāo)或多指標(biāo)組合,系統(tǒng)隨之自動(dòng)生成動(dòng)態(tài)SQL邏輯,利用強(qiáng)大的分布式數(shù)據(jù)庫(kù)GP的并行查詢優(yōu)勢(shì),快速在前端生成數(shù)據(jù)分析結(jié)果。在設(shè)計(jì)過(guò)程中,為達(dá)到最優(yōu)的效率以及靈活可擴(kuò)展,我們采用獨(dú)創(chuàng)的一指標(biāo)一事實(shí)表的數(shù)據(jù)存儲(chǔ)模型方式,對(duì)查詢接口方面做了大量?jī)?yōu)化,更是引入Redis緩存數(shù)據(jù)庫(kù),在數(shù)據(jù)分析效率方面也是表現(xiàn)極佳。圖2是自助取數(shù)分析的邏輯關(guān)系圖。
4 結(jié)束語(yǔ)
大數(shù)據(jù)時(shí)代,全球數(shù)據(jù)生產(chǎn)量在高速增長(zhǎng),數(shù)據(jù)將改變企業(yè)的傳統(tǒng)業(yè)務(wù)模式,對(duì)系統(tǒng)提出新的挑戰(zhàn)。傳統(tǒng)數(shù)據(jù)處理技術(shù)在原始清單粒度的數(shù)據(jù)分析應(yīng)用中出現(xiàn)了明顯的性能瓶頸,用戶無(wú)法靈活自主,快速的獲得想要的信息。而MPP數(shù)據(jù)庫(kù)具有很強(qiáng)的大規(guī)模并行數(shù)據(jù)分析處理能力,能夠解決數(shù)據(jù)量過(guò)大后系統(tǒng)處理能力低效、數(shù)據(jù)加載耗時(shí)較長(zhǎng)等問(wèn)題,因此基于大數(shù)據(jù)分布式數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)ROLAP自助分析,將使我們的業(yè)務(wù)人員對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的指標(biāo)和維度進(jìn)行提取和拖拽分析,3-5分鐘便可以滿足任務(wù)數(shù)據(jù)需求,快速、靈活、敏捷地發(fā)現(xiàn)以前無(wú)法得到的分析方向,為業(yè)務(wù)人員開(kāi)啟了數(shù)據(jù)世界的自由掘?qū)氈?,真正?shí)現(xiàn)大數(shù)據(jù)時(shí)代業(yè)務(wù)數(shù)據(jù)分析的新模式,最終讓公司在市場(chǎng)競(jìng)爭(zhēng)中更具活力。
參考文獻(xiàn):
[1]魏進(jìn)武,靳淑嫻,張基恒.大數(shù)據(jù)關(guān)鍵技術(shù)及運(yùn)營(yíng)商落地建議[J].郵電設(shè)計(jì)技術(shù),2015.
[2]劉瑋.企業(yè)的變革思維——大數(shù)據(jù)時(shí)代的來(lái)臨[J].辦公自動(dòng)化,2014.
[3]何清,莊福振.基于云計(jì)算的大數(shù)據(jù)挖掘平臺(tái)[J].中興通訊技術(shù),2013.
[4]IT架構(gòu)設(shè)計(jì)研究組.大數(shù)據(jù)時(shí)代的IT架構(gòu)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2014.
[5]薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2010.
[6]Hive DB. http://www.hivedb.org[EB/OL].
[7]邵佩英.分布式數(shù)據(jù)庫(kù)系統(tǒng)及其應(yīng)用[M].科學(xué)出版社,2005.