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