NoSQL運(yùn)動(dòng):緩慢而堅(jiān)定的前進(jìn)著
互聯(lián)網(wǎng)的演化(尤其是云計(jì)算)使得關(guān)系型數(shù)據(jù)庫越來越不被看好,隨之而發(fā)起的NoSQL運(yùn)動(dòng)在一段時(shí)間內(nèi)吸引了很多人的眼球。不過NoSQL運(yùn)動(dòng)真的能產(chǎn)生什么成績么?
看似已經(jīng)“成熟穩(wěn)重”的數(shù)據(jù)庫領(lǐng)域居然再次掀起一輪新的浪潮。更確切地說,是數(shù)據(jù)庫領(lǐng)域中最為穩(wěn)固的關(guān)系數(shù)據(jù)模型最近居然遭遇到NoSQL支持者的尖銳質(zhì)疑。
2009年6月,NoSQL運(yùn)動(dòng)成員的一次全球性聚會(huì)引爆了一嘲數(shù)據(jù)庫革命”的導(dǎo)火索。在此次會(huì)議上,熱衷于NoSQL的人們分享著推翻緩慢而昂貴的關(guān)系型數(shù)據(jù)庫、用更有效和便宜的方法來管理數(shù)據(jù)的創(chuàng)新構(gòu)想。外界對(duì)此舉的評(píng)論是,這次行動(dòng)讓人嗅到了技術(shù)革命的味道,NoSQL的旗手們正在醞釀一次現(xiàn)代IT版本的“波士頓傾茶”事件。
NoSQL之所以備受矚目,與用戶對(duì)傳統(tǒng)關(guān)系模型和關(guān)系型數(shù)據(jù)庫的負(fù)面看法直接相關(guān)。而在這些質(zhì)疑的聲音中,很多的確是用戶在數(shù)據(jù)庫應(yīng)用過程中所遇到的實(shí)際問題和困難。而這些問題和困難與Web 2.0應(yīng)用的風(fēng)行息息相關(guān)。
首先,NoSQL的支持者認(rèn)為,關(guān)系模型人為地扭曲了目標(biāo)對(duì)象的本質(zhì)內(nèi)容,過于僵化,尤其不利于Web 2.0應(yīng)用的操作?,F(xiàn)有的關(guān)系數(shù)據(jù)庫產(chǎn)品,似乎都對(duì)數(shù)據(jù)的寫入增加過多負(fù)載,以至于難于適應(yīng)Web 2.0環(huán)境下大量非結(jié)構(gòu)化內(nèi)容信息的入庫,包括博客、視頻、音效等。即便這些非結(jié)構(gòu)化內(nèi)容可以勉強(qiáng)入庫,現(xiàn)有的關(guān)系數(shù)據(jù)庫產(chǎn)品也會(huì)因?yàn)闆]有對(duì)內(nèi)容結(jié)構(gòu)進(jìn)行定制,難于滿足Web 2.0應(yīng)用(或其他創(chuàng)新應(yīng)用)對(duì)于信息的檢索。
而從技術(shù)體系上看,關(guān)系數(shù)據(jù)庫更多強(qiáng)調(diào)集中或者有限節(jié)點(diǎn)集群的架構(gòu),但沒有對(duì)信息內(nèi)容面向大量廉價(jià)的分散計(jì)算單元進(jìn)行設(shè)計(jì),以致于無法支持類似Google BigTable、Amazon Dynamo這樣的世界級(jí)信息管理技術(shù)。
為了支持SQL語言,各家關(guān)系數(shù)據(jù)庫廠商不得不在產(chǎn)品中增加很多額外的模塊。例如,為了支持運(yùn)行維護(hù)能力增加了新的功能;為了便于不同語言的開發(fā)者使用,堆砌一系列的新特性等。幾番“催肥”之后,在NoSQL的支持者眼中,關(guān)系數(shù)據(jù)庫已經(jīng)變成了“怪物”。也就是說,這些數(shù)據(jù)庫在引入一個(gè)特征之后,為了令它與其他的特征協(xié)調(diào)一致,緊接著又引入一個(gè)新的特征。尤其是在打上“企業(yè)級(jí)”標(biāo)簽之后,這種貼貼補(bǔ)補(bǔ)的步伐越來越快,以致數(shù)據(jù)庫廠商自己都“欲罷不能”,“怪物”數(shù)據(jù)庫在市場和技術(shù)的推動(dòng)下以更快的速度進(jìn)行變異。
顯而易見,NoSQL運(yùn)動(dòng)將矛頭直指傳統(tǒng)數(shù)據(jù)庫的主宰者,雖然這在短期內(nèi)無法動(dòng)搖關(guān)系型數(shù)據(jù)庫帝國,但是它所掀起的湍流卻在數(shù)據(jù)庫領(lǐng)域拍打出陣陣鳴響。
【編輯推薦】