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