SequoiaDB巨杉軟件公司CTO及總架構(gòu)師 王濤

據(jù)了解,SequoiaDB是一款完全自主研發(fā)的文檔型NoSQL分布式數(shù)據(jù)庫。SequoiaDB 1.0發(fā)布于2013年4月,主要向政府、電信、金融、電力和互聯(lián)網(wǎng)等擁有海量業(yè)務(wù)數(shù)據(jù)的行業(yè)提供大數(shù)據(jù)解決方案,目前客戶已包括國內(nèi)知名銀行、電信及互聯(lián)網(wǎng)企業(yè)。

談到為何從DB2轉(zhuǎn)至NoSQL,王濤認為主要有兩個原因,一是關(guān)系型數(shù)據(jù)庫的沒落,二是企業(yè)級NoSQL潛力巨大。在很多程序員和DBA的眼中,關(guān)系型數(shù)據(jù)庫才是王道。事實并非如此,在與全球財富500強的用戶交流中王濤發(fā)現(xiàn),傳統(tǒng)數(shù)據(jù)庫并非適合所有場景,也存在諸多技術(shù)局限性,如數(shù)據(jù)模型僵硬、可擴展性差、處理海量數(shù)據(jù)時存在性能瓶頸、缺乏處理半結(jié)構(gòu)和非結(jié)構(gòu)化數(shù)據(jù)的能力等。關(guān)系型數(shù)據(jù)庫稱霸市場的時代已經(jīng)過去了。

另一方面,NoSQL經(jīng)過這幾年的發(fā)展已經(jīng)日趨成熟,應(yīng)用場景也已不再局限于互聯(lián)網(wǎng)企業(yè),而逐漸蔓延至傳統(tǒng)企業(yè)。有預(yù)測稱,NoSQL特別是文檔型NoSQL在未來2-5年內(nèi)將會規(guī)模進入傳統(tǒng)企業(yè)。企業(yè)級NoSQL將成為未來數(shù)據(jù)庫市場的發(fā)展趨勢。

SequoiaDB——企業(yè)級NoSQL

預(yù)見到NoSQL在傳統(tǒng)企業(yè)的發(fā)展?jié)摿螅鯘_始了SequoiaDB的研發(fā)。與其他NoSQL不同,SequoiaDB主打企業(yè)級,即能夠適應(yīng)傳統(tǒng)企業(yè)中的IT環(huán)境。他在與傳統(tǒng)行業(yè)用戶的交流中發(fā)現(xiàn),現(xiàn)有的文檔型NoSQL產(chǎn)品中忽略了很多企業(yè)級需求,如事務(wù)、SQL支持、與Hadoop系統(tǒng)的整合等。

于是在年初發(fā)布的SequoiaDB 1.0中加入了以上企業(yè)級功能,并將在下一個版本中(SequoiaDB 1.2預(yù)計在9月底發(fā)布)增加數(shù)據(jù)壓縮功能,同時索引和數(shù)據(jù)可以在文件系統(tǒng)中分離以提高讀寫性能,還可以運行在IBM power機器上,這都是其他NoSQL所沒有的獨特優(yōu)勢。除了傳統(tǒng)企業(yè),企業(yè)級NoSQL在廣大中小互聯(lián)網(wǎng)企業(yè)中也有強烈需求。

另外,SequoiaDB還可以根據(jù)企業(yè)的需求進行定制化開發(fā),這是國外NoSQL廠商無法比擬的優(yōu)勢。即使企業(yè)具有較強的研發(fā)實力,開源數(shù)據(jù)庫引擎的定制化改動也只有廠商研發(fā)團隊才能完全駕馭。這也是SequoiaDB為什么沒有使用任何開源數(shù)據(jù)庫引擎和代碼的原因之一。

SequoiaDB是一款文檔型NoSQL,被認為是最接近傳統(tǒng)關(guān)系型數(shù)據(jù)庫的NoSQL。文檔數(shù)據(jù)庫的核心是數(shù)據(jù)嵌套,將原本一些星形模式(Star Schema)的數(shù)據(jù)嵌套在同一條記錄中以減少表之間關(guān)聯(lián)的需求。這種設(shè)計可以從某種程度上大大簡化傳統(tǒng)數(shù)據(jù)庫復(fù)雜的關(guān)聯(lián)問題,同時由于擺脫了關(guān)系模型里面的強一致性的限制,文檔型數(shù)據(jù)庫還可以做到水平擴張與高可用。因此王濤認為,文檔型NoSQL的應(yīng)用范圍要比其他NoSQL廣泛許多。

NoSQL取代關(guān)系型數(shù)據(jù)庫?

談到NoSQL與傳統(tǒng)數(shù)據(jù)庫的關(guān)系,王濤表示,NoSQL不會取代關(guān)系型數(shù)據(jù)庫,而會與關(guān)系型數(shù)據(jù)庫長期并存。NoSQL相對于傳統(tǒng)數(shù)據(jù)庫的發(fā)展歷程而言還很年輕,目前NoSQL主要用于對關(guān)系型數(shù)據(jù)庫的補充,在其不適用的領(lǐng)域填補進去。

關(guān)系型數(shù)據(jù)庫的核心是強一致性的關(guān)系模型,當初的設(shè)計理念是將ACID放在首位,其次考慮性能與可擴展性。而當人們發(fā)現(xiàn)并不是所有的數(shù)據(jù)都要求那么強的一致性,同時對于性能和數(shù)據(jù)量的需求越來越高時,NoSQL應(yīng)用而生。

NoSQL主要將可擴展性放在首位,而高可用或一致性則放到了第二位,這種設(shè)計與原本的關(guān)系模型產(chǎn)生了極大的差異。尤其在當今大數(shù)據(jù)時代影響下,NoSQL勢頭漸強。大數(shù)據(jù)領(lǐng)域強調(diào)的是分布式計算,而關(guān)系型數(shù)據(jù)庫為了維持強一致性需要在實體間進行大量數(shù)據(jù)交互。因此分布式計算是關(guān)系模型的一個不能適用的領(lǐng)域。

對此,王濤總結(jié)到,企業(yè)在需要強一致性的場景時,最好使用關(guān)系型數(shù)據(jù)庫。在需要分布式計算和高性能存儲的場景時,考慮使用NoSQL。其余的場景大多數(shù)人依然會選擇關(guān)系型數(shù)據(jù)庫,但有超過70%的現(xiàn)有關(guān)系型數(shù)據(jù)庫場景其實是可以用NoSQL替代的。隨著NoSQL的發(fā)展,從成本和易用性角度出發(fā),相信越來越多的用戶會開始使用NoSQL。

小結(jié)

SequoiaDB的出現(xiàn)將NoSQL從互聯(lián)網(wǎng)推向企業(yè)級,彌補企業(yè)中關(guān)系型數(shù)據(jù)庫的應(yīng)用盲點,幫助企業(yè)從非結(jié)構(gòu)化數(shù)據(jù)中獲得價值。中國是天然的大數(shù)據(jù)搖籃,相信會有越來越多的創(chuàng)業(yè)企業(yè)關(guān)注大數(shù)據(jù),關(guān)注NoSQL。

分享到

lixiaofei

相關(guān)推薦