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