這幾年來(lái), NoSQL數(shù)據(jù)庫(kù)憑借其易擴(kuò)展、高性能、高可用、數(shù)據(jù)模型靈活等特色吸引到了大量新興互聯(lián)網(wǎng)公司的青睞,包括國(guó)內(nèi)的淘寶、新浪、京東商城、360、搜狗等都已經(jīng)在局部嘗試NoSQL解決方案。 廣州巨杉數(shù)據(jù)庫(kù)是一家專注于新型NoSQL分布式數(shù)據(jù)庫(kù)研發(fā)的創(chuàng)業(yè)公司,目前已經(jīng)獲得首輪天使投資,核心產(chǎn)品是SequoiaDB。巨杉數(shù)據(jù)庫(kù)的創(chuàng)始團(tuán)隊(duì)成員多來(lái)自于IBM北美實(shí)驗(yàn)室,長(zhǎng)期從事關(guān)系型數(shù)據(jù)庫(kù)DB2的研發(fā)工作。SequoiaDB 1.3于2013年4月正式發(fā)布(最新版本為1.5),主要面向政府、電信、金融、電力和互聯(lián)網(wǎng)等擁有海量業(yè)務(wù)數(shù)據(jù)的行業(yè)提供大數(shù)據(jù)解決方案,其客戶中包括多家世界500強(qiáng)企業(yè),如國(guó)內(nèi)知名銀行、電信及互聯(lián)網(wǎng)企業(yè)等。
更專注于企業(yè)級(jí)市場(chǎng)
SequoiaDB與現(xiàn)在市面上主流的NoSQL數(shù)據(jù)庫(kù)最大區(qū)別在于更專注于企業(yè)級(jí)市場(chǎng),并為此開發(fā)出很多特性功能。巨杉數(shù)據(jù)庫(kù)聯(lián)合創(chuàng)始人/CTO王濤是前IBM DB2北美實(shí)驗(yàn)室資深研發(fā)成員,全球最高顧問(wèn)小組成員之一(全球僅15人)。在他看來(lái),目前市場(chǎng)上有很多優(yōu)秀的NoSQL產(chǎn)品,例如Redis、MongoDB、 HBase等,每個(gè)產(chǎn)品都有其特性,但都有其明顯的缺陷。例如,SequoiaDB是一款文檔類數(shù)據(jù)庫(kù),從分類上來(lái)看和MongoDB屬于同一個(gè)類型,但雙方走的道路截然不同。MongoDB天生具有互聯(lián)網(wǎng)基因,它的功能和需求是根據(jù)互聯(lián)網(wǎng)模式打造出來(lái)的,因而在運(yùn)用到企業(yè)級(jí)市場(chǎng)的時(shí)候,不可避免的會(huì)出現(xiàn)水土不服的場(chǎng)景。
記者在和民生銀行科技部袁春光溝通中了解到,作為國(guó)內(nèi)銀行業(yè)第一批涉足大數(shù)據(jù)技術(shù)的民生銀行,在使用現(xiàn)有的NoSQL產(chǎn)品(如MongoDB)的過(guò)程中發(fā)現(xiàn)其缺乏很多企業(yè)級(jí)功能,例如缺乏事務(wù)和SQL支持、與Hadoop系統(tǒng)的整合不緊密等,尤其是MongoDB對(duì)重用現(xiàn)有投資并不友好,包括在開發(fā)人員技能的延續(xù)性、和現(xiàn)有的應(yīng)用程序?qū)拥确矫?。這些對(duì)于像民生銀行這類傳統(tǒng)企業(yè)來(lái)說(shuō),信息孤島所帶來(lái)的架構(gòu)上的破壞是致命性的,其遠(yuǎn)遠(yuǎn)大于這個(gè)產(chǎn)品所帶來(lái)的價(jià)值。
通過(guò)引入巨杉數(shù)據(jù)庫(kù)的NoSQL產(chǎn)品SequoiaDB,其諸如事務(wù)、SQL支持、數(shù)據(jù)壓縮、與Hadoop系統(tǒng)整合、可運(yùn)行在IBM power機(jī)器上等特性更能滿足企業(yè)級(jí)用戶的需求,并使得現(xiàn)有技能與投資盡可能得到了重用。尤其是SequoiaDB提供的SQL接口,能與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)對(duì)接等功能都是MongoDB現(xiàn)階段無(wú)法提供、甚至沒有計(jì)劃提供的。另一方面,MongoDB也在加速向行業(yè)用戶滲透,尤其在北美市場(chǎng),“即使要趕上SequoiaDB在企業(yè)級(jí)方面的核心技術(shù)優(yōu)勢(shì),MongoDB也還有一到兩年的路要走”,王濤表示。
此外,對(duì)于其他數(shù)據(jù)庫(kù),例如HBase,它也有很多特有功能,但仍無(wú)法滿足企業(yè)用戶的需求,例如在和Hadoop系統(tǒng)的整合上。舉一個(gè)銀行機(jī)構(gòu)業(yè)務(wù)場(chǎng)景為例,銀行在對(duì)交易流水歸檔后,需要根據(jù)多個(gè)不同字段的條件進(jìn)行快速實(shí)時(shí)查詢。SequoiaDB可以通過(guò)分區(qū)表、多索引等特性,在毫秒到秒級(jí)內(nèi)就可以從幾十個(gè)TB的數(shù)據(jù)中搜索到所需要的數(shù)據(jù)。而用HBase,由于僅支持主鍵索引,通過(guò)非主鍵字段查詢的時(shí)候需要掃描全部數(shù)據(jù),需要幾十分鐘才能出一個(gè)結(jié)果,完全不能滿足需求。
未采用開源數(shù)據(jù)庫(kù)引擎和代碼
現(xiàn)在看來(lái),傳統(tǒng)數(shù)據(jù)庫(kù)明顯有很多不適合的場(chǎng)景和技術(shù)局限性,主要局限性表現(xiàn)在數(shù)據(jù)模型僵硬、可擴(kuò)展性差、處理海量數(shù)據(jù)時(shí)的性能瓶頸、缺乏處理半結(jié)構(gòu)和非結(jié)構(gòu)化數(shù)據(jù)的能力上。在最近幾年,隨著大量非結(jié)構(gòu)化化與半結(jié)構(gòu)化數(shù)據(jù)進(jìn)入企業(yè),關(guān)系型數(shù)據(jù)庫(kù)開始顯現(xiàn)了越來(lái)越多的局限性和不足。王濤認(rèn)為,“NoSQL數(shù)據(jù)庫(kù)的出現(xiàn)可以用來(lái)彌補(bǔ)這些缺憾,但NoSQL數(shù)據(jù)庫(kù)缺乏企業(yè)級(jí)基因和商業(yè)級(jí)技術(shù)服務(wù)支持,這也是我們做SequoiaDB的原因。”
此外,巨杉的核心產(chǎn)品SequoiaDB由前IBM DB2資深研發(fā)成員在北美完成原型設(shè)計(jì)和內(nèi)核開發(fā)。開發(fā)過(guò)程中并未采用開源數(shù)據(jù)庫(kù)引擎和代碼,這是因?yàn)槟壳爸髁鞯腘oSQL數(shù)據(jù)庫(kù)方案基本都是基于GPL協(xié)議開源,這與巨杉做商業(yè)級(jí)數(shù)據(jù)庫(kù)的策略不符合。但并不排除未來(lái)在合適時(shí)候?qū)equoiaDB開源出來(lái)的可能性。而在現(xiàn)階段最讓王濤頭疼的是,國(guó)內(nèi)很難找到對(duì)Hadoop分布式和NoSQL數(shù)據(jù)庫(kù)技術(shù)在行的技術(shù)人才,或者已經(jīng)被一些巨頭們所挖走,即使通過(guò)例如做技術(shù)公開課等多種方式,能找到的合適人才依然有限。技術(shù)人才隊(duì)伍的培養(yǎng)將是他們接下來(lái)重點(diǎn)要做的事。
在一年前的時(shí)候,還有大量的行業(yè)用戶在觀察NoSQL數(shù)據(jù)庫(kù)的解決方案,但這一年來(lái),越來(lái)越多的企業(yè)用戶已經(jīng)開始做POC(Proof of concept,概念驗(yàn)證),開始部署相應(yīng)的解決方案了。雖然NoSQL不會(huì)很快的取代SQL,但是NoSQL提供的特性恰是新時(shí)代應(yīng)用程序所需要的。王濤認(rèn)為,關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)不是取代的關(guān)系,而是兩者將長(zhǎng)期共存下去,有超過(guò)70%的現(xiàn)有關(guān)系型數(shù)據(jù)庫(kù)場(chǎng)景其實(shí)可以用NoSQL所替代。