大数据技术下 分布式数据库何去何从?
轉(zhuǎn)自:安華信達(dá)的文章
鏈接地址:http://www.sohu.com/a/133784835_481676
一、大數(shù)據(jù)技術(shù)的發(fā)展
大數(shù)據(jù)技術(shù)從誕生到現(xiàn)在,已歷經(jīng)了十幾個(gè)年頭,市場(chǎng)上也早已有公司或機(jī)構(gòu)對(duì)廣大金融從業(yè)者灌輸大數(shù)據(jù)未來的美好前景與趨勢(shì)。隨著對(duì)大數(shù)據(jù)理念與技術(shù)了解的不斷深入,人們開始尋找場(chǎng)景落地,以期讓大數(shù)據(jù)在自身的企業(yè)中落地并開花結(jié)果。
從數(shù)據(jù)的應(yīng)用角度來看,大數(shù)據(jù)的應(yīng)用方向主要集中在兩個(gè)領(lǐng)域。第一是大數(shù)據(jù)分析相關(guān),也就是傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)的延展,將更多的數(shù)據(jù)挖掘、更復(fù)雜的分析算法通過大數(shù)據(jù)技術(shù)來實(shí)現(xiàn);第二是在線數(shù)據(jù)訪問,也就是傳統(tǒng)ODS的延展,將更長(zhǎng)期的數(shù)據(jù)做到在線化、將所有大量相對(duì)靜態(tài)的數(shù)據(jù)(參數(shù))從昂貴的存儲(chǔ)設(shè)備下放到大數(shù)據(jù)平臺(tái),提供給更多的渠道進(jìn)行并發(fā)實(shí)時(shí)訪問。
大數(shù)據(jù)技術(shù)發(fā)展到今天,全新的大數(shù)據(jù)實(shí)現(xiàn)技術(shù)大致可以分為3類:Hadoop技術(shù)、分析型分布式數(shù)據(jù)庫(kù)和聯(lián)機(jī)交互型分布式數(shù)據(jù)庫(kù)。
在人們剛開始接觸大數(shù)據(jù)技術(shù)時(shí),第一個(gè)想到的場(chǎng)景大多是海量數(shù)據(jù)分析。但是,隨著人們對(duì)大數(shù)據(jù)技術(shù)更加深入的了解,除了單純的批處理分析之外,海量數(shù)據(jù)交互式實(shí)時(shí)應(yīng)用的場(chǎng)景同樣也成為技術(shù)人員關(guān)注的一個(gè)重點(diǎn)。因此,如果從技術(shù)路線的角度進(jìn)行劃分,上述所說的3類實(shí)現(xiàn)技術(shù)中,Hadoop技術(shù)適用于結(jié)構(gòu)化與非結(jié)構(gòu)化的數(shù)據(jù)批處理分析;分析型分布式數(shù)據(jù)庫(kù)適用于結(jié)構(gòu)化數(shù)據(jù)批處理分析與OLAP;而聯(lián)機(jī)交互型分布式數(shù)據(jù)庫(kù)則適用于交互式實(shí)時(shí)業(yè)務(wù)場(chǎng)景。
二、技術(shù)體系對(duì)比
在上述大數(shù)據(jù)的3種技術(shù)實(shí)現(xiàn)中,Hadoop技術(shù)貌似自成一套體系。Hadoop①與分布式數(shù)據(jù)庫(kù)的設(shè)計(jì)思路為什么有所差異,其定位和使用場(chǎng)景應(yīng)該如何與分布式數(shù)據(jù)庫(kù)技術(shù)進(jìn)行區(qū)分,這需要從兩種技術(shù)的起源與發(fā)展來進(jìn)行分析。
(一)Hadoop
本質(zhì)上,Hadoop技術(shù)只能算是以分布式文件系統(tǒng) (HDFS)+分布式調(diào)度器(YARN)作為基礎(chǔ)的分布式計(jì)算框架,而不是數(shù)據(jù)庫(kù)。
Hadoop的歷史可以往前追溯10年,當(dāng)年Google為了在幾萬臺(tái)PC服務(wù)器上構(gòu)建超大數(shù)據(jù)集合并提供極高性能的并發(fā)訪問能力發(fā)明了MapReduce,這也是Hadoop誕生的理論基礎(chǔ)。
從Hadoop誕生背景可以看到,其主要解決的是超大規(guī)模集群下對(duì)于非結(jié)構(gòu)化數(shù)據(jù)(Google扒取的網(wǎng)頁信息)進(jìn)行批處理計(jì)算(例如計(jì)算PageRank等)的問題。實(shí)際上,在Hadoop架構(gòu)中,一個(gè)分布式任務(wù)可以是類似傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)的關(guān)聯(lián)、排序、聚集操作,也可以是針對(duì)非結(jié)構(gòu)化數(shù)據(jù)的用戶自定義程序邏輯。
從Hadoop的發(fā)展歷程可以看到,最開始的Hadoop以Pig,Hive和MapReduce3種開發(fā)接口為代表,分別適用于腳本批處理、SQL批處理以及用戶自定義邏輯類型的應(yīng)用。而Spark的發(fā)展更是如此,最開始的SparkRDD幾乎完全沒有SQL能力,還是套用了Hive發(fā)展出的Shark才能對(duì)SQL有了一部分的支持。但是,隨著企業(yè)用戶對(duì)Hadoop越發(fā)廣泛的使用,SQL漸漸成了大數(shù)據(jù)平臺(tái)在傳統(tǒng)行業(yè)的主要訪問方式之一。Hortonworks的Stinger,Cloudera的Impala,Databricks的SparkSQL,IBM的BigSQL都在兩年前開始逐漸進(jìn)入市場(chǎng),使Hadoop看起來貌似也成為了SQL的主戰(zhàn)場(chǎng)。
(二)分布式數(shù)據(jù)庫(kù)
分布式數(shù)據(jù)庫(kù)有著悠久的歷史,從以O(shè)racle RAC為代表的聯(lián)機(jī)交易型分布式數(shù)據(jù)庫(kù),到IBM DB2 DPF統(tǒng)計(jì)分析性分布式數(shù)據(jù)庫(kù),分布式數(shù)據(jù)庫(kù)覆蓋了OLTP與OLAP幾乎全部的數(shù)據(jù)應(yīng)用場(chǎng)景。
大部分分布式數(shù)據(jù)庫(kù)更集中在結(jié)構(gòu)化計(jì)算與在線增刪改查上。例如IBM DB2 DPF,用戶可以像使用普通單點(diǎn)DB2數(shù)據(jù)庫(kù)一樣,幾乎透明地使用DPF版本。DPF中的SQL優(yōu)化器能夠?qū)⒁粋€(gè)查詢自動(dòng)拆解并分發(fā)到多個(gè)節(jié)點(diǎn)中并行執(zhí)行。
但是,傳統(tǒng)分布式數(shù)據(jù)庫(kù)最大的局限性在于對(duì)非結(jié)構(gòu)化數(shù)據(jù)的支持。由于大部分分布式數(shù)據(jù)庫(kù)都是用SQL作為標(biāo)準(zhǔn)查詢語言,因此其數(shù)據(jù)的處理能力也僅局限在結(jié)構(gòu)化數(shù)據(jù),對(duì)于無法使用SQL進(jìn)行解析的裸數(shù)據(jù)則完全無能為力。
分布式數(shù)據(jù)庫(kù)在近幾年也有著極大的轉(zhuǎn)型。從早年間NoSQL的異軍突起占據(jù)了互聯(lián)網(wǎng)分布式數(shù)據(jù)庫(kù)的半壁江山,到如今很多傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)紛紛開始支持JSON格式,數(shù)據(jù)庫(kù)已經(jīng)從單一的關(guān)系型數(shù)據(jù)庫(kù)向混合型數(shù)據(jù)庫(kù)發(fā)展。
(三)業(yè)務(wù)場(chǎng)景
從大數(shù)據(jù)技術(shù)的使用方式上來看,這些技術(shù)一方面可以按照結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)類型劃分,另一方面也可以按照業(yè)務(wù)類型劃分,即統(tǒng)計(jì)分析與聯(lián)機(jī)操作兩種類型,如圖1所示。
Hadoop的設(shè)計(jì)思路是解決超大規(guī)模數(shù)據(jù)場(chǎng)景下的統(tǒng)計(jì)分析問題,而分布式數(shù)據(jù)庫(kù)則根據(jù)細(xì)分領(lǐng)域的不同,適用于結(jié)構(gòu)化數(shù)據(jù)的統(tǒng)計(jì)分析,以及海量數(shù)據(jù)的聯(lián)機(jī)操作。
三、行業(yè)發(fā)展趨勢(shì)
不論是Hadoop還是新一代分布式數(shù)據(jù)庫(kù),在技術(shù)體系上兩者都已經(jīng)向著計(jì)算存儲(chǔ)層分離的方式演進(jìn)。對(duì)于Hadoop來說尤其明顯,HDFS存儲(chǔ)與YARN調(diào)度計(jì)算的分離,使得計(jì)算與存儲(chǔ)均可以按需橫向擴(kuò)展。而分布式數(shù)據(jù)庫(kù)近年來也在遵循類似的趨勢(shì),很多數(shù)據(jù)庫(kù)已經(jīng)將底層存儲(chǔ)與上層的SQL引擎進(jìn)行剝離,例如直接使用SparkSQL作為統(tǒng)計(jì)分析引擎、同時(shí)使用PostgreSQL作為交易處理引擎,是業(yè)界多種分布式數(shù)據(jù)庫(kù)使用的技術(shù)路線。兩種技術(shù)的體系結(jié)構(gòu)如圖2所示。
Gartner2016年最新的數(shù)據(jù)庫(kù)報(bào)告中可以看到,國(guó)際業(yè)界對(duì)新型數(shù)據(jù)庫(kù)的定義有了新的劃分。傳統(tǒng)的XML數(shù)據(jù)庫(kù)、OO數(shù)據(jù)庫(kù)與pre-RDBMS正在消亡;新興領(lǐng)域的文檔類數(shù)據(jù)庫(kù)、圖數(shù)據(jù)庫(kù)、Table-Style數(shù)據(jù)庫(kù)②與Multi-Model③數(shù)據(jù)庫(kù)正在擴(kuò)大自身影響;而傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)、列存儲(chǔ)數(shù)據(jù)庫(kù)、內(nèi)存分析型數(shù)據(jù)庫(kù)④也在考慮轉(zhuǎn)型。
可以看到,從技術(shù)完整性與成熟度來看,Hadoop確實(shí)還處于相對(duì)早期的形態(tài)。直到今天,一些SQL-on-Hadoop的方案還處于1.x甚至Beta版,在很多企業(yè)應(yīng)用中需要大量的手工調(diào)優(yōu)才能夠勉強(qiáng)運(yùn)行。同時(shí),Hadoop的主要應(yīng)用場(chǎng)景一直以來面向批處理分析型業(yè)務(wù),傳統(tǒng)數(shù)據(jù)庫(kù)在線聯(lián)機(jī)處理部分不是其主要的發(fā)展方向。
分布式數(shù)據(jù)庫(kù)領(lǐng)域經(jīng)歷了幾十年的磨練,傳統(tǒng)RDBMS的MPP技術(shù)早已經(jīng)爐火純青。不像Hadoop的發(fā)展方向完全固定為批處理作業(yè),在分類眾多的分布式數(shù)據(jù)庫(kù)中,其主要發(fā)展方向基本可以分為“分布式聯(lián)機(jī)數(shù)據(jù)庫(kù)”與“分布式分析型數(shù)據(jù)庫(kù)”兩種。例如,以文檔和Multi-Model數(shù)據(jù)庫(kù)對(duì)結(jié)構(gòu)化與半結(jié)構(gòu)化數(shù)據(jù)的高并發(fā)進(jìn)行聯(lián)機(jī)處理,以及列存儲(chǔ)、Table-Style、加內(nèi)存分析型數(shù)據(jù)庫(kù)的結(jié)構(gòu)化數(shù)據(jù)批處理分析,是這兩個(gè)方向最常見的技術(shù)實(shí)現(xiàn)手段。
同時(shí),新型NoSQL數(shù)據(jù)庫(kù)在經(jīng)歷了5-10年的發(fā)展后,已經(jīng)開始進(jìn)入到與傳統(tǒng)技術(shù)、其他技術(shù)互相融合的時(shí)代。例如,全球最知名的文檔數(shù)據(jù)庫(kù)與Multi-Model數(shù)據(jù)庫(kù)應(yīng)屬M(fèi)ongoDB,在支持JSON存儲(chǔ)的同時(shí)也開始支持內(nèi)置圖計(jì)算功能。國(guó)內(nèi)的巨杉數(shù)據(jù)庫(kù)SequoiaDB也是以文檔數(shù)據(jù)庫(kù)為基礎(chǔ),開始支持SQL與對(duì)象存儲(chǔ)。
對(duì)比Hadoop與分布式數(shù)據(jù)庫(kù)可以看出,Hadoop的產(chǎn)品發(fā)展方向定位與分布式數(shù)據(jù)庫(kù)中列存儲(chǔ)數(shù)據(jù)庫(kù)相當(dāng)重疊。例如,Pivotal Greenplum,IBM DB2 BLU及國(guó)內(nèi)的南大通用GBase 8a等,都與Hadoop的定位有著明顯的重合。而高并發(fā)聯(lián)機(jī)交易場(chǎng)景,在Hadoop中除了HBase能夠勉強(qiáng)沾邊以外,分布式數(shù)據(jù)庫(kù)則占據(jù)絕對(duì)的優(yōu)勢(shì),如圖3所示。
在另外的一個(gè)細(xì)分市場(chǎng),即非結(jié)構(gòu)化小文件存儲(chǔ)上,一直以來該領(lǐng)域都是對(duì)象存儲(chǔ)、塊存儲(chǔ)、與分布式文件系統(tǒng)的主戰(zhàn)場(chǎng)。如今,非關(guān)系型數(shù)據(jù)庫(kù)也開始進(jìn)入該領(lǐng)域,可以預(yù)見,在未來的幾年中,小型非結(jié)構(gòu)化文件存儲(chǔ)也可能成為分布式數(shù)據(jù)庫(kù)的戰(zhàn)場(chǎng)之一。
四、應(yīng)用場(chǎng)景
不同應(yīng)用場(chǎng)景應(yīng)該使用不同的技術(shù),沒有任何一種技術(shù)可以適用于所有業(yè)務(wù)場(chǎng)景。
大數(shù)據(jù)時(shí)代,在像金融這種傳統(tǒng)保守的行業(yè)中,對(duì)于交易類業(yè)務(wù)很少有企業(yè)敢于使用新技術(shù)替換主核心系統(tǒng)。一些企業(yè)開始嘗試在部分非核心交易的業(yè)務(wù)中使用MySQL,PostgreSQL等開源關(guān)系型數(shù)據(jù)庫(kù)。相比起過往任何業(yè)務(wù)都要使用Oracle或IBM的數(shù)據(jù)庫(kù)來說,這已經(jīng)是國(guó)內(nèi)金融行業(yè)在去IOE道路上的一大進(jìn)步。
Hadoop與新型分布式數(shù)據(jù)庫(kù)在金融行業(yè)中的主要戰(zhàn)場(chǎng)則集中在非交易型業(yè)務(wù)上,也就是數(shù)據(jù)倉(cāng)庫(kù)的延展,以及ODS的延展兩大方向。
數(shù)據(jù)倉(cāng)庫(kù)延展,實(shí)際上是對(duì)傳統(tǒng)數(shù)倉(cāng)模型的補(bǔ)充。一直以來,數(shù)據(jù)倉(cāng)庫(kù)的建設(shè)都是遵從著從上向下的原則,即先建立數(shù)據(jù)模型,再根據(jù)數(shù)據(jù)模型構(gòu)建表結(jié)構(gòu)與SQL,之后進(jìn)行ETL和數(shù)據(jù)清洗,最后得到相應(yīng)的報(bào)表。而大數(shù)據(jù)與新興的機(jī)器學(xué)習(xí),帶給人們另一種從下向上的分析思路:首先建立分析型數(shù)據(jù)湖,將需要分析的數(shù)據(jù)納入湖中進(jìn)行脫敏和標(biāo)準(zhǔn)化,之后利用機(jī)器學(xué)習(xí)、深度挖掘等分布式計(jì)算技術(shù),在這些海量的數(shù)據(jù)中尋找規(guī)律。這種思路與傳統(tǒng)數(shù)倉(cāng)思路的最大不同,在于以歷史數(shù)據(jù)展現(xiàn)出的事實(shí)為基礎(chǔ)構(gòu)建分析模型,而非與假設(shè)出的數(shù)據(jù)模型為基礎(chǔ)進(jìn)行構(gòu)建。數(shù)據(jù)倉(cāng)庫(kù)延展,是Hadoop與分布式列存儲(chǔ)的主打場(chǎng)景。
ODS的延展,是對(duì)銀行歷史數(shù)據(jù)的歸集與聯(lián)機(jī)使用。在規(guī)模相對(duì)較大的銀行中,傳統(tǒng)ODS一般僅僅保留一小段時(shí)間的歷史數(shù)據(jù)作為數(shù)據(jù)加工的臨時(shí)存放區(qū),而更早期的歷史數(shù)據(jù)要么被歸檔入帶庫(kù),要么被加工清洗后進(jìn)入數(shù)倉(cāng)。而在大數(shù)據(jù)的場(chǎng)景中,很多業(yè)務(wù)開始對(duì)歷史數(shù)據(jù)的在線交互式訪問提出明確的需求。例如,前臺(tái)柜面是否需要提供給用戶對(duì)全歷史周期的回單查詢功能;銀行內(nèi)部運(yùn)維團(tuán)隊(duì)能否對(duì)全行業(yè)務(wù)的歷史進(jìn)行在線查詢?cè)L問,以應(yīng)對(duì)司法查詢的需求等。這些類型的應(yīng)用場(chǎng)景存在并發(fā)量高、索引維度多、查詢延遲低等特性,使用Hadoop的HBase存在眾多不便,是分布式聯(lián)機(jī)數(shù)據(jù)庫(kù)的主要應(yīng)用場(chǎng)景。
除了存放歷史數(shù)據(jù)以外,ODS延展的另一大方向是存放從數(shù)據(jù)倉(cāng)庫(kù)中分析和挖掘的結(jié)果,供外部應(yīng)用調(diào)用查詢。例如,手機(jī)銀行根據(jù)每個(gè)用戶畫像的標(biāo)簽結(jié)果與當(dāng)前行為提供實(shí)時(shí)產(chǎn)品推薦,就是將分析結(jié)果與實(shí)時(shí)行為數(shù)據(jù)相結(jié)合的場(chǎng)景。這類應(yīng)用可以進(jìn)一步擴(kuò)展到事中風(fēng)控等更核心的業(yè)務(wù)場(chǎng)景中去。
因此,在大數(shù)據(jù)時(shí)代中,Hadoop與分布式數(shù)據(jù)庫(kù)在金融行業(yè)的架構(gòu)中應(yīng)當(dāng)相輔相成,互相彌補(bǔ)各自的不足。Hadoop與分布式分析型數(shù)據(jù)庫(kù)在結(jié)構(gòu)化數(shù)據(jù)批處理分析中都可以得到很好的滿足;Hadoop對(duì)于非結(jié)構(gòu)化數(shù)據(jù)內(nèi)容分析有著數(shù)據(jù)庫(kù)無法比擬的優(yōu)勢(shì);而分布式聯(lián)機(jī)數(shù)據(jù)庫(kù)則在高并發(fā)在線業(yè)務(wù)場(chǎng)景中能夠更靈活地管理和使用數(shù)據(jù)。
譬如,近幾年來很多銀行在做“用戶畫像”業(yè)務(wù),希望根據(jù)用戶的歷史交易行為給每個(gè)用戶打標(biāo)簽,并在柜面、網(wǎng)銀、手機(jī)銀行等多個(gè)渠道有針對(duì)性地推薦理財(cái)產(chǎn)品。當(dāng)使用大數(shù)據(jù)技術(shù)實(shí)現(xiàn)該場(chǎng)景時(shí),一個(gè)比較簡(jiǎn)單常見的做法是:
(1)將用戶的歷史行為批量寫入Hadoop;
(2)在Hadoop中使用機(jī)器學(xué)習(xí)對(duì)用戶行為分類建模;
(3)在Hadoop中定期批量掃描用戶歷史行為,根據(jù)模型對(duì)用戶打標(biāo)簽;
(4)將用戶標(biāo)簽結(jié)果寫入分布式數(shù)據(jù)庫(kù);
(5)各渠道業(yè)務(wù)通過中間件連接數(shù)據(jù)庫(kù),查詢用戶標(biāo)簽進(jìn)行產(chǎn)品推薦。
五、展望未來
在銀行中,對(duì)于新技術(shù)的產(chǎn)品選型不能僅僅為了滿足當(dāng)前業(yè)務(wù)場(chǎng)景的需求,還要考慮到該產(chǎn)品未來3-5年的發(fā)展道路和方向,及是否能夠不斷迭代以滿足企業(yè)未來的需求。因此,用戶僅了解每一種技術(shù)的現(xiàn)狀是遠(yuǎn)遠(yuǎn)不夠的,只有當(dāng)認(rèn)識(shí)到一種技術(shù)的發(fā)展策略以及其架構(gòu)的局限性后,才能夠預(yù)見和洞察未來。
架構(gòu)局限性并不等于功能的缺失。很多新型技術(shù)在開始時(shí)都無法提供像Oracle一樣完備的企業(yè)級(jí)功能,但并不意味著用戶必須要等到全部功能完備后才開始考慮學(xué)習(xí)和使用。用戶在評(píng)估一種新產(chǎn)品和技術(shù)時(shí),產(chǎn)品的功能點(diǎn)需要滿足幾個(gè)必備的基礎(chǔ)功能,而一些高級(jí)功能則不需要立刻具備。作為IT決策層,最重要的是評(píng)估該產(chǎn)品和技術(shù)的架構(gòu)局限性,及在可預(yù)見的未來,基于該架構(gòu)能否實(shí)現(xiàn)和滿足銀行一段時(shí)間后的業(yè)務(wù)需求。
Hadoop的架構(gòu)基礎(chǔ)核心是HDFS與YARN,任何請(qǐng)求首先被發(fā)送至YARN進(jìn)行調(diào)度。而YARN則是根據(jù)NameNode計(jì)算出一個(gè)任務(wù)需要訪問的數(shù)據(jù)塊所在的服務(wù)器生成一系列任務(wù),并發(fā)送給相應(yīng)的服務(wù)器進(jìn)行執(zhí)行。除非從底層重寫整個(gè)調(diào)度算法,該機(jī)制冗長(zhǎng)的流程制約著Hadoop向聯(lián)機(jī)業(yè)務(wù)繼續(xù)發(fā)展。
數(shù)據(jù)庫(kù)的架構(gòu)核心是數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。只有存在可定義的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)庫(kù)才能夠提供對(duì)數(shù)據(jù)字段的檢索、查詢、更新等操作。因此,該機(jī)制一方面提供了對(duì)結(jié)構(gòu)化與半結(jié)構(gòu)化數(shù)據(jù)有效的管理能力,另一方面卻制約著用戶對(duì)于非結(jié)構(gòu)化數(shù)據(jù)的處理能力。短期來看,分布式數(shù)據(jù)庫(kù)在非結(jié)構(gòu)化數(shù)據(jù)管理上主要還停留在小文件的存儲(chǔ)和檢索領(lǐng)域,對(duì)于文件內(nèi)部信息的查詢能力可以使用全文檢索索引實(shí)現(xiàn)。但是,對(duì)于二進(jìn)制非文本類的無結(jié)構(gòu)數(shù)據(jù),分布式數(shù)據(jù)庫(kù)還不存在較好的方式能夠?qū)ζ渲械男畔⒆龅饺S度自由檢索和查詢。
從分布式數(shù)據(jù)庫(kù)的角度來看,筆者認(rèn)為,在未來3-5年中,NoSQL數(shù)據(jù)庫(kù)將漸漸向Multi-Model數(shù)據(jù)庫(kù)演進(jìn),在提供直接API訪問數(shù)據(jù)的同時(shí),提供SQL結(jié)構(gòu)化數(shù)據(jù)的訪問方式。例如,業(yè)界知名的MongoDB與國(guó)內(nèi)的巨杉數(shù)據(jù)庫(kù)SequoiaDB都在支持JSON存儲(chǔ)的同時(shí),支持SQL甚至其他類型的數(shù)據(jù)存儲(chǔ)格式⑤。同時(shí),分布式關(guān)系型數(shù)據(jù)庫(kù)會(huì)進(jìn)一步加強(qiáng)融合,提供多引擎存儲(chǔ)方案(GBase 8a/8t),甚至開始支持JSON等半結(jié)構(gòu)化數(shù)據(jù)(PostgreSQL)。
總而言之,在大數(shù)據(jù)技術(shù)下,分布式數(shù)據(jù)庫(kù)與Hadoop兩者相輔相成。Hadoop適合非結(jié)構(gòu)化批處理分析場(chǎng)景;分布式分析型數(shù)據(jù)庫(kù)與SQL-on-Hadoop方案在結(jié)構(gòu)化批處理分析場(chǎng)景中有所重疊;而分布式聯(lián)機(jī)數(shù)據(jù)庫(kù)則更適合高并發(fā)在線業(yè)務(wù)場(chǎng)景。
① 盡管如今Spark異軍突起,MapReduce后繼無力,但多數(shù)廠商或機(jī)構(gòu)漸漸開始將Spark與Hadoop進(jìn)行融合。本文中,所有提到Hadoop的部分均指Hadoop與Spark兩種技術(shù)。
② 類似Cassandra這類有著表結(jié)構(gòu)定義,但是又不存在表之間關(guān)系定義的數(shù)據(jù)庫(kù)叫做Table-Style數(shù)據(jù)庫(kù)。
③ 類似MongoDB這類在一個(gè)數(shù)據(jù)庫(kù)中支持多種存儲(chǔ)格式,例如JSON、圖、表,并提供不同類型使用接口的數(shù)據(jù)庫(kù)。
④ 以SAP HANA為代表的內(nèi)存分析型數(shù)據(jù)庫(kù),以PC服務(wù)器配置大量?jī)?nèi)存為硬件基礎(chǔ),將海量數(shù)據(jù)緩存在內(nèi)存中換取極高的訪問效率,做到對(duì)大量數(shù)據(jù)的實(shí)時(shí)交互式分析。這類業(yè)務(wù)也稱作HTAP場(chǎng)景。
⑤ SequoiaDB支持小文件對(duì)象存儲(chǔ);MongoDB支持內(nèi)置圖計(jì)算機(jī)制。
總結(jié)
以上是生活随笔為你收集整理的大数据技术下 分布式数据库何去何从?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本田轿车系列新成员,定位介于飞度与思域之
- 下一篇: Kettle实例解析