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