一、分布式關(guān)系型數(shù)據(jù)庫和Newsql主要區(qū)別
兩個路線的出發(fā)點(diǎn)不一樣,但是目標(biāo)是一樣的。
1.分布式關(guān)系型數(shù)據(jù)庫,或者類似叫法,都是從關(guān)系型數(shù)據(jù)庫出發(fā),加入分布式技術(shù),實(shí)現(xiàn)基于關(guān)系模型的具備容量和性能擴(kuò)展能力的路線。有的是基于已有數(shù)據(jù)庫,有的則是從頭寫,后者難度非常大,比如OB。
2.NEWSQL,這個概念類似NOSQL,都是肩負(fù)著除舊革新的大任的商業(yè)使命的,畢竟SQL只是一個查詢語言,只有SQL99 2003這樣的標(biāo)準(zhǔn),哪有什么新舊之分。所以大多數(shù)這些NEWSQL最后都是臉著地,既然要兼容SQL,自然NEW的是架構(gòu),和SQL半毛錢關(guān)系沒有。這條路線則是從分布式系統(tǒng)出發(fā),做存儲,做查詢,利用天然的擴(kuò)展能力和列存的性能優(yōu)勢,實(shí)現(xiàn)基于KV存儲的支持關(guān)系查詢的數(shù)據(jù)庫。至于為什么大部分是kv存儲,可以簡單理解為簡化存儲引擎的設(shè)計(jì),畢竟像MySQL,Oracle的各種段,頁,塊,太燒腦了。
目標(biāo)都是一樣的:解決現(xiàn)在業(yè)務(wù)系統(tǒng)對數(shù)據(jù)庫的要求:具備可擴(kuò)展,高性能,高可用的數(shù)據(jù)庫服務(wù),較好又能TP又能AP的萬金油系統(tǒng)。仔細(xì)看這個需求,像不像CAP理論同時滿足?
喬幫主都說過,要搞清楚用戶將來要什么,而不是他現(xiàn)在哪里痛就給他們治哪里。
延伸閱讀:
二、Vertica是什么
Vertica是一款基于列存儲的MPP(massively parallel processing)架構(gòu)的數(shù)據(jù)庫。
它可以支持存放多至PB(Petabyte)級別的結(jié)構(gòu)化數(shù)據(jù)。Vertica是由關(guān)系數(shù)據(jù)庫大師Michael Stonebraker(2014 年圖靈獎獲得者)所創(chuàng)建,于2011年被惠普收購并成為其核心大數(shù)據(jù)平臺軟件。Vertica 采用無共享的MPP 架構(gòu),基于工業(yè)標(biāo)準(zhǔn)的x86 服務(wù)器,擁有高可擴(kuò)展性。Vertica 集群中的所有節(jié)點(diǎn)100%對等,集群中沒有主節(jié)點(diǎn)或其他共享資源。通過增加節(jié)點(diǎn),就可以線性地擴(kuò)展集群的計(jì)算能力和數(shù)據(jù)處理容量。Vertica 是真正的純列式數(shù)據(jù)庫,優(yōu)化器和執(zhí)行引擎可以忽略表中與查詢無關(guān)的列。Vertica 不僅僅按列式存儲數(shù)據(jù),還主動地根據(jù)列數(shù)據(jù)的特點(diǎn)和查詢的要求選用優(yōu)異的算法對數(shù)據(jù)進(jìn)行排序和編碼壓縮,這就極大地降低磁盤I/O 消耗。同時,Vertica 的執(zhí)行引擎和優(yōu)化器也是基于列式數(shù)據(jù)庫設(shè)計(jì)的,編碼壓縮過的列數(shù)據(jù)在Vertica 的執(zhí)行引擎中進(jìn)行過濾、關(guān)聯(lián)、分組等操作時不需要解反編碼,從而大大降低了CPU 和內(nèi)存消耗。