Clustrix Sierra分布式數(shù)據(jù)庫系統(tǒng):云計(jì)算時(shí)代的MySQL
NewSQL數(shù)據(jù)庫初創(chuàng)公司 Clustrix最近獲得1650萬美元的C輪融資,該輪融資的投資方包括紅杉資本(Sequoia Capital)、U.S. Venture Partners以及ATA Ventures。而截至目前為止,這家成立于2005年的創(chuàng)新公司總?cè)谫Y金額已經(jīng)高達(dá)4650萬美元。Clustrix公司總部在舊金山,在2006年曾是 Y Combinator資助的一個(gè)創(chuàng)業(yè)項(xiàng)目。
Clustrix在兩年前曾推出了一個(gè)可高度擴(kuò)容的伸縮式數(shù)據(jù)庫解決方案Sierra,它提供了和SQL數(shù)據(jù)庫相似的功能,同時(shí)還可以對數(shù)據(jù)存儲(chǔ)進(jìn)行擴(kuò)展。Clustrix Sierra在業(yè)內(nèi)被稱之為云計(jì)算時(shí)代的MySQL。
公司的CEO Robin Purohit告訴記者:“我們已經(jīng)在世界上多家云平臺(tái)之上運(yùn)行了自己的應(yīng)用,但是現(xiàn)在我們的目標(biāo)是將這個(gè)分布式系統(tǒng)開放給開發(fā)者。”而且最近Clustrix在AWS平臺(tái)上發(fā)布了專有的數(shù)據(jù)庫5.0新版本。當(dāng)然該版本在Rackspace、GoGrid、Equinix以及BlueBoxGroup等平臺(tái)上也可以運(yùn)行。 (2010年,在Clustrix 初始版本發(fā)布的時(shí)候,GigaOM的記者Stacey Higginbotham對該產(chǎn)品也做了 報(bào)道。)
Clustrix Sierra
Clustrix Sierra是一款分布式數(shù)據(jù)庫系統(tǒng),它既支持最簡單的Key-Value格式,又兼容MySQL的功能,同時(shí)能非常簡單通過添加新的節(jié)點(diǎn)來存儲(chǔ)數(shù)十億條數(shù)據(jù)。它的功能主要體現(xiàn)在下面這四個(gè)方面:
擴(kuò)展和高可用性方面:只要添加一個(gè)節(jié)點(diǎn),就能在吞吐量等性能指標(biāo)上實(shí)現(xiàn)線性提升,最多能擴(kuò)展到幾百個(gè)節(jié)點(diǎn)。
速度方面:其解決傳統(tǒng)數(shù)據(jù)庫寫數(shù)據(jù)慢的情況,并保證了讀數(shù)據(jù)的速度。
兼容MySQL:其支持MySQL所有功能,并支持ACID(Atomicity, Consistency, Isolation, Durability),而且在遷移現(xiàn)有MySQL方面非常方便。
在線修改和擴(kuò)展方面:不僅能在生產(chǎn)環(huán)境中動(dòng)態(tài)添加新的節(jié)點(diǎn),而且能在在線的情況下修改數(shù)據(jù)庫的表結(jié)構(gòu)。
運(yùn)作機(jī)制
首先,Clustrix Sierra系統(tǒng)主要有三個(gè)核心模塊組成:其一是Distributed Query Compiler(分布式查詢編譯器)。其二是分布式Shared-Nothing執(zhí)行引擎(Execution Engine)。其三是支持同步事務(wù)(ransactional concurrent)的存儲(chǔ)引擎(Storage Engine)。而且整個(gè)系統(tǒng)通過整合這三大核心模塊來實(shí)現(xiàn)其主要功能。Clustrix Sierra數(shù)據(jù)庫架構(gòu)圖如下:

運(yùn)行流程
當(dāng)很多查詢發(fā)送至Front-end Network,系統(tǒng)會(huì)通過Database Personality Module來將這些查詢翻譯成系統(tǒng)內(nèi)部的格式,接著系統(tǒng)會(huì)通過上面提到的Distributed Query Compiler和執(zhí)行引擎以并行的些查詢,并通過存儲(chǔ)引擎在SSD上來存儲(chǔ)數(shù)據(jù),在NVRAM上存儲(chǔ)日志方面的修改,最后通過Infiniband來在多個(gè)節(jié)點(diǎn)之間進(jìn)行通信和同步。