傳統(tǒng)數(shù)倉(cāng)的三大缺陷,一篇梳理清楚
1、效率低
傳統(tǒng)的數(shù)倉(cāng)大多構(gòu)建在Hadoop之上。這位傳統(tǒng)的數(shù)倉(cāng)帶來了近乎無限的橫向擴(kuò)展能力,同時(shí)也造成了傳統(tǒng)的數(shù)倉(cāng)技術(shù)效率低的缺陷。效率低主要體現(xiàn)在以下幾個(gè)方面。
部署效率低:在部署Hive/HBase/Kylin之前,必須部署好Hadoop集群。和傳統(tǒng)數(shù)據(jù)庫(kù)相比,這個(gè)部署效率是非常低效的。
運(yùn)維效率低:Hive/HBase/Kylin基于Hadoop,Hadoop生態(tài)會(huì)帶來一個(gè)非常嚴(yán)重的單點(diǎn)故障問題,即Hadoop體系中任何一個(gè)組件出現(xiàn)問題,都可能引起整個(gè)系統(tǒng)的不可用。使用傳統(tǒng)的數(shù)倉(cāng)對(duì)運(yùn)維的要求非常高。
計(jì)算效率低:主要體現(xiàn)在Hive和Kylin上,這兩個(gè)數(shù)倉(cāng)沒有自己的存儲(chǔ)引擎和計(jì)算引擎,這導(dǎo)致Hive和Kylin只能依靠堆機(jī)器實(shí)現(xiàn)復(fù)雜查詢,而無法從數(shù)據(jù)本身下手。在大數(shù)據(jù)后期,一些以數(shù)據(jù)快速查詢?yōu)槟繕?biāo)而特殊設(shè)計(jì)的數(shù)據(jù)存儲(chǔ)格式成為標(biāo)準(zhǔn),這個(gè)現(xiàn)象才有所改觀。而HBase的優(yōu)化核心就是重新設(shè)計(jì)的存儲(chǔ)引擎,使得HBase可以對(duì)數(shù)據(jù)本身進(jìn)行查詢速度的優(yōu)化。
2、延遲高
構(gòu)建在Hadoop之上的數(shù)倉(cāng)引擎,除了效率低的缺點(diǎn)之外,還面臨著高延遲的挑戰(zhàn)。高延遲主要體現(xiàn)在以下幾個(gè)方面。
查詢延遲高:使用Hive作為數(shù)倉(cāng),受限于HDFS的性能瓶頸,Hive的查詢速度比較慢,難以支撐低延遲場(chǎng)景,無法應(yīng)用在實(shí)時(shí)計(jì)算的場(chǎng)景中。
寫入數(shù)據(jù)延遲高:同樣受限于HDFS,Hive的數(shù)據(jù)寫入延遲也很高,這意味著數(shù)據(jù)無法實(shí)時(shí)寫入Hive,從而無法支撐實(shí)時(shí)分析場(chǎng)景。
3、成本高
傳統(tǒng)的數(shù)倉(cāng)數(shù)倉(cāng)引擎還會(huì)帶來成本高的挑戰(zhàn),主要體現(xiàn)在以下幾個(gè)方面.
部署成本高:由于Hadoop的計(jì)算邏輯是通過堆計(jì)算資源的方式來攤銷復(fù)雜查詢的時(shí)間,因此如果需要達(dá)到一個(gè)比較理想的性能,必須要求集群中節(jié)點(diǎn)的數(shù)量達(dá)到一定的規(guī)模,否則因?yàn)橛?jì)算效率低的特點(diǎn),單機(jī)很容易成為性能瓶頸。這導(dǎo)致了Hive等基于Hadoop的數(shù)倉(cāng)部署成本高的缺陷。
運(yùn)維成本高:集群服務(wù)器達(dá)到一定規(guī)模后,運(yùn)維成本會(huì)指數(shù)級(jí)上升。同時(shí),由于Hadoop中組件太多,任何一個(gè)組件的失效都有可能導(dǎo)致整個(gè)服務(wù)的不可用,因此運(yùn)維團(tuán)隊(duì)必須包含所有組件的運(yùn)維人員,否則運(yùn)維團(tuán)隊(duì)有可能很好地執(zhí)行任務(wù)。這也極大地提高了運(yùn)維團(tuán)隊(duì)的人力成本。
存儲(chǔ)成本高:Hadoop的HDFS為了避免集群中服務(wù)器故障從而導(dǎo)致的不可用的情況,默認(rèn)使用三副本策略存儲(chǔ)數(shù)據(jù),即數(shù)據(jù)會(huì)保存三份。這會(huì)極大地提高存儲(chǔ)成本。即使是新一代的Hadoop采用了EC糾刪碼技術(shù)降低了副本數(shù)量,但使用場(chǎng)景有限只適合在冷數(shù)據(jù)存儲(chǔ)中使用,對(duì)于經(jīng)常需要查詢的熱數(shù)據(jù),并不適合采用該方案。
決策成本高:傳統(tǒng)的大數(shù)據(jù)由于部署成本高,導(dǎo)致企業(yè)在做決策時(shí)面臨比較大的決策成本,一方面是前期投入太大,短期內(nèi)看不到效果,長(zhǎng)期以來效果如何也很難說清楚。另一方面是即使企業(yè)下定決心來建設(shè)數(shù)倉(cāng),昂貴的基礎(chǔ)設(shè)施和專業(yè)技術(shù)人員的缺乏也會(huì)造成很長(zhǎng)的建設(shè)周期,長(zhǎng)的建設(shè)周期又會(huì)帶來很多不可預(yù)知的變數(shù),最終影響企業(yè)的決策。
本文摘編自《ClickHouse性能之巔:從架構(gòu)設(shè)計(jì)解讀性能之謎》,經(jīng)出版方授權(quán)發(fā)布。(書號(hào):9787111716587)轉(zhuǎn)載請(qǐng)保留文章出處。
關(guān)于作者:陳峰,資深大數(shù)據(jù)專家和架構(gòu)師,ClickHouse技術(shù)專家,滴普科技(2B領(lǐng)域獨(dú)角獸)合伙人兼首席架構(gòu)師?!禖lickHouse性能之巔:從架構(gòu)設(shè)計(jì)解讀性能之謎》作者。