分析數(shù)據(jù)庫(kù)CitusDB:提供彈性計(jì)算能力
事實(shí)上并非如此,新技術(shù)的出現(xiàn)與發(fā)展,總是會(huì)帶來(lái)新的機(jī)遇。正如面向?qū)ο缶幊碳夹g(shù)的發(fā)展和成熟,催生了DB4O這樣純面向?qū)ο髷?shù)據(jù)庫(kù)。云計(jì)算服務(wù)與大數(shù)據(jù)處理的崛起,讓傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)在很多應(yīng)用場(chǎng)景顯得力不從心。于是在YC的支持下,創(chuàng)業(yè)公司Citus Data推出了分析數(shù)據(jù)庫(kù)CitusDB。
CitusDB是一個(gè)可伸縮的分析數(shù)據(jù)庫(kù),它是基于開(kāi)源的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)PostgreSQL開(kāi)發(fā)而成。用戶可以像使用常規(guī)數(shù)據(jù)庫(kù)那樣訪問(wèn)CitusDB的主節(jié)點(diǎn),然后由主節(jié)點(diǎn)將數(shù)據(jù)與查詢請(qǐng)求分配到數(shù)據(jù)庫(kù)集群的工作節(jié)點(diǎn)中,底層架構(gòu)與Hadoop類似。換句話說(shuō),CitusDB是一個(gè)將SQL的表現(xiàn)力、關(guān)系型數(shù)據(jù)庫(kù)的性能,以及Hadoop的可擴(kuò)展性與可用性有效地整合的數(shù)據(jù)庫(kù)產(chǎn)品。
那么,它與傳統(tǒng)數(shù)據(jù)庫(kù)相比優(yōu)勢(shì)何在?為此,我們請(qǐng)教了就職于阿里系的非著名攻城獅@楚明玉 同學(xué)。他也是首次接觸到這個(gè)新的數(shù)據(jù)庫(kù),在經(jīng)過(guò)簡(jiǎn)單的了解后給出了自己的理解:
初步的理解是類似HBase+Pig 這么一套體系 ,都是見(jiàn)長(zhǎng)于做大數(shù)據(jù)的實(shí)時(shí)存取工作。不同之處是CitusDB是基于對(duì)象關(guān)系型數(shù)據(jù)庫(kù)PostgreSQL二次開(kāi)發(fā)的,而HBase+Pig是建立在Hadoop和HDFS基礎(chǔ)上。他們和傳統(tǒng)數(shù)據(jù)庫(kù)比較大的區(qū)別就是都采用了管理配置節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)分離的分布式架構(gòu)搭建(類似Hadoop)。
這種建構(gòu)最直接的缺點(diǎn)是管理配置節(jié)點(diǎn)是單點(diǎn),只能通過(guò)主/備的方式去解決這個(gè)問(wèn)題。優(yōu)點(diǎn)很明顯,就是具有分布式分析計(jì)算能力,這個(gè)是傳統(tǒng)數(shù)據(jù)庫(kù)無(wú)法辦到的。有了分布式計(jì)算能力,做到可伸縮或者彈性計(jì)算就相對(duì)比較容易了,也離所謂的云計(jì)算比較近了,這些都是傳統(tǒng)數(shù)據(jù)庫(kù)所不具備的優(yōu)勢(shì)。
同時(shí)他還補(bǔ)充道:“傳統(tǒng)DB一次查詢過(guò)去之后是類似于一個(gè)線程完成的,而分布式存儲(chǔ)機(jī)制會(huì)將任務(wù)拆分為類似M/R的方式,各個(gè)線程運(yùn)算結(jié)束后再將結(jié)果合并起來(lái)返回給用戶。”
當(dāng)然,這是@楚明玉 在經(jīng)過(guò)短暫時(shí)間了解后給出的個(gè)人看法,僅供各位在理解CitusDB時(shí)做參考。如果你對(duì)這個(gè)數(shù)據(jù)庫(kù)確實(shí)感興趣,可以自己搭建環(huán)境測(cè)試后再下結(jié)論。
目前可以直接在Citus Data網(wǎng)站直接下載到CitusDB安裝包,8個(gè)節(jié)點(diǎn)及以下可以免費(fèi)使用。暫時(shí)只對(duì)Ubuntu、Fedora系統(tǒng)提供支持,即將發(fā)布Amazon Machine Image版本。
【編輯推薦】