這篇文章主要介紹“大數(shù)據(jù)OLAP系統(tǒng)可以分為哪兩類(lèi)”,在日常操作中,相信很多人在大數(shù)據(jù)OLAP系統(tǒng)可以分為哪兩類(lèi)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”大數(shù)據(jù)OLAP系統(tǒng)可以分為哪兩類(lèi)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
成都網(wǎng)站建設(shè)、做網(wǎng)站的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒(méi)有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)一個(gè)展示的機(jī)會(huì)來(lái)證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來(lái)新的靈感和驚喜。面向用戶(hù)友好,注重用戶(hù)體驗(yàn),一切以用戶(hù)為中心。
開(kāi)源大數(shù)據(jù)OLAP組件,可以分為MOLAP和ROLAP兩類(lèi)。ROLAP中又可細(xì)分為MPP數(shù)據(jù)庫(kù)和SQL引擎兩類(lèi)。對(duì)于SQL引擎又可以再細(xì)分為基于MPP架構(gòu)的SQL引擎和基于通用計(jì)算框架的SQL引擎:
MOLAP一般對(duì)數(shù)據(jù)存儲(chǔ)有優(yōu)化,并且進(jìn)行部分預(yù)計(jì)算,因此查詢(xún)性能最高。但通常對(duì)查詢(xún)靈活性有限制。
MPP數(shù)據(jù)庫(kù)是個(gè)完整的數(shù)據(jù)庫(kù),通常數(shù)據(jù)需要導(dǎo)入其中才能完成OLAP功能。MPP數(shù)據(jù)庫(kù)在數(shù)據(jù)入庫(kù)時(shí)對(duì)數(shù)據(jù)分布可以做優(yōu)化,雖然入庫(kù)效率有一定下降,但是對(duì)后期查詢(xún)性能的提高有很大幫助。MPP數(shù)據(jù)庫(kù)可以提供靈活的即席查詢(xún)能力,但一般對(duì)查詢(xún)數(shù)據(jù)量有一定限制,無(wú)法支撐特別大的數(shù)據(jù)量的查詢(xún)。
SQL引擎只提供SQL執(zhí)行的能力,本身一般不負(fù)責(zé)數(shù)據(jù)存儲(chǔ),通??梢詫?duì)接多種數(shù)據(jù)儲(chǔ)存,如HDFS、HBase、MySQL等。有的還支持聯(lián)邦查詢(xún)能力,可以對(duì)多個(gè)異構(gòu)數(shù)據(jù)源進(jìn)行聯(lián)合分析。SQL引擎中,基于MPP架構(gòu)的SQL引擎,一般對(duì)在線(xiàn)查詢(xún)場(chǎng)景有特殊優(yōu)化,所以端到端查詢(xún)性能一般要高于基于通用計(jì)算框架的SQL引擎;但是在容錯(cuò)性和數(shù)據(jù)量方面又會(huì)遜于基于通用計(jì)算框架的SQL引擎。
總之,可以說(shuō)沒(méi)有一個(gè)OLAP系統(tǒng)能同時(shí)在處理規(guī)模,靈活性和性能這三個(gè)方面做到完美,用戶(hù)需要基于自己的需求進(jìn)行取舍和選型。
對(duì)比差異
SparkSQL是Hadoop中另一個(gè)著名的SQL引擎,它以Spark作為底層計(jì)算框架,Spark使用RDD作為分布式程序的工作集合,它提供一種分布式共享內(nèi)存的受限形式。在分布式共享內(nèi)存系統(tǒng)中,應(yīng)用可以向全局地址空間的任意位置進(jìn)行讀寫(xiě)作,而RDD是只讀的,對(duì)其只能進(jìn)行創(chuàng)建、轉(zhuǎn)化和求值等作。這種內(nèi)存操作大大提高了計(jì)算速度。SparkSql的性能相對(duì)其他的組件要差一些,多表單表查詢(xún)性能都不突出。
Impala官方宣傳其計(jì)算速度是一大優(yōu)點(diǎn),在實(shí)際測(cè)試中我們也發(fā)現(xiàn)它的多表查詢(xún)性能和presto差不多,但是單表查詢(xún)方面卻不如presto好。而且Impala有很多不支持的地方,例如:不支持update、delete操作,不支持Date數(shù)據(jù)類(lèi)型,不支持ORC文件格式等等,所以我們查詢(xún)時(shí)采用parquet格式進(jìn)行查詢(xún),而且Impala在查詢(xún)時(shí)占用的內(nèi)存很大。
Presto綜合性能比起來(lái)要比其余組件好一些,無(wú)論是查詢(xún)性能還是支持的數(shù)據(jù)源和數(shù)據(jù)格式方面都要突出一些,在單表查詢(xún)時(shí)性能靠前,多表查詢(xún)方面性能也很突出。由于Presto是完全基于內(nèi)存的并行計(jì)算,所以presto在查詢(xún)時(shí)占用的內(nèi)存也不少,但是發(fā)現(xiàn)要比Impala少一些,比如多表join需要很大的內(nèi)存,Impala占用的內(nèi)存比presto要多。
HAWQ 吸收了先進(jìn)的基于成本的 SQL 查詢(xún)優(yōu)化器,自動(dòng)生成執(zhí)行計(jì)劃,可優(yōu)化使用hadoop 集群資源。HAWQ 采用 Dynamic pipelining 技術(shù)解決這一關(guān)鍵問(wèn)題。Dynamic pipelining 是一種并行數(shù)據(jù)流框架,利用線(xiàn)性可擴(kuò)展加速Hadoop查詢(xún),數(shù)據(jù)直接存儲(chǔ)在HDFS上,并且其SQL查詢(xún)優(yōu)化器已經(jīng)為基于HDFS的文件系統(tǒng)性能特征進(jìn)行過(guò)細(xì)致的優(yōu)化。但是我們發(fā)現(xiàn)HAWQ在多表查詢(xún)時(shí)比Presto、Impala差一些;而且不適合單表的復(fù)雜聚合操作,單表測(cè)試性能方面要比其余四種組件差很多,hawq環(huán)境搭建也遇到了諸多問(wèn)題。
ClickHouse 作為目前所有開(kāi)源MPP計(jì)算框架中計(jì)算速度最快的,它在做多列的表,同時(shí)行數(shù)很多的表的查詢(xún)時(shí),性能是很讓人興奮的,但是在做多表的join時(shí),它的性能是不如單寬表查詢(xún)的。性能測(cè)試結(jié)果表明ClickHouse在單表查詢(xún)方面表現(xiàn)出很大的性能優(yōu)勢(shì),但是在多表查詢(xún)中性能卻比較差,不如presto、impala、hawq的效果好。
GreenPlum作為關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品,它的特點(diǎn)主要就是查詢(xún)速度快,數(shù)據(jù)裝載速度快,批量DML處理快。而且性能可以隨著硬件的添加,呈線(xiàn)性增加,擁有非常良好的可擴(kuò)展性。因此,它主要適用于面向分析的應(yīng)用。比如構(gòu)建企業(yè)級(jí)ODS/EDW,或者數(shù)據(jù)集市等,GREENPLUM都是不錯(cuò)的選擇。
到此,關(guān)于“大數(shù)據(jù)OLAP系統(tǒng)可以分為哪兩類(lèi)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!