順勢而生又順勢而變:當NoSQL失去“No”
譯文【51CTO.com快譯】隨著NoSQL熱潮的全面來襲,我們又發(fā)現(xiàn)了新一輪新、舊數(shù)據(jù)庫技術的交融趨勢。
多年以來,數(shù)據(jù)庫市場一直分為涇渭分明的兩派——傳統(tǒng)關系型數(shù)據(jù)庫與新型NoSQL數(shù)據(jù)庫。不過根據(jù)Gartner公司的預測,這兩個世界正在走向合并。
雖然這種“合并”趨勢并不一定真會如Gartner公司的預測很快出現(xiàn),但必須承認,NoSQL數(shù)據(jù)庫正憑借著出色的靈活性、橫向擴展以及高性能優(yōu)勢快速普及。事實上,最終數(shù)據(jù)庫市場很可能會被NoSQL廠商所統(tǒng)治。
NoSQL:錯誤的名稱,正確的思路
“NoSQL”其實有點名不符實。這主要是因為其一方面極力排斥SQL,但另一方面又在利用同一框架吸納各類不同數(shù)據(jù)庫。舉例來說,Neo4j等圖形數(shù)據(jù)庫與Cassandra等列式數(shù)據(jù)庫幾乎毫無共同之處。
然而,這些不同的數(shù)據(jù)庫亦在NoSQL的大旗下獲得了三大創(chuàng)新重點。正如前MongoDB高管Kelly Stirman所言,“NoSQL包含著三項傳統(tǒng)供應商難以實現(xiàn)的創(chuàng)新要點:1)靈活的數(shù)據(jù)模型,2)分布式架構(gòu)(這一點對于云非常重要),3)靈活的一致性模型(對性能非常重要)。”
事實上,面對基于云的現(xiàn)代應用,傳統(tǒng)RDBMS已經(jīng)顯得力不從心。大多數(shù)RDBMS雖然功能出色,但卻缺乏靈活的數(shù)據(jù)模型。另外,其亦未能成功實現(xiàn)靈活的一致性模型。再有,RDBMS在擁抱分布式架構(gòu)時也陷入困境。
即使如此,RDBMS作出的這些嘗試還是使其更趨近于NoSQL。用DataStax公司***布道師Patrick McFadin撰文,這場“大融合”將最終帶來“多模”數(shù)據(jù)庫。更重要的是,McFadin認為同樣的融合趨勢亦會出現(xiàn)在NoSQL當中,其將引入更多RDBMS組件以真正沖擊大規(guī)模主流應用場景。
不過,這樣的融合也會帶來新的問題。
融合的障礙
根據(jù)Esgyn公司CTO Rohi Jain所言:
我們很難利用單一查詢引擎以支持單一操作、商務智能或者分析型工作負載(事實上,應有不同的專用平臺支持各類負載)。要實現(xiàn)這樣一套能夠面對全部工作負載的查詢引擎,意味著其必須支持更為廣泛的實際要求。因此,我們正踏上一片新大陸,而這里顯然充滿障礙。
毫無疑問,SQL擁有著明確的競爭優(yōu)勢——相關人才更豐富,企業(yè)也掌握著更多相關經(jīng)驗。然而,真正讓NoSQL給予SQL沉重一擊的是其分布式架構(gòu)。
VMware公司云原生應用***技術專家Jared Rosoff亦強調(diào)了這一點:“即使所有數(shù)據(jù)庫皆進行融合并以SQL作為查詢語言,NoSQL數(shù)據(jù)庫仍能夠憑借著分布式架構(gòu)從根本上占據(jù)優(yōu)勢。”他同時補充稱,“大家可以想象一下,MySQL或者Postgres或者Oracle或者SQL Server要用多長時間才能支持一套包含100個節(jié)點的分布式集群?”
雖然雙方陣營間同時存在著對立與融合趨勢,但“NoSQL數(shù)據(jù)庫更易于轉(zhuǎn)化為SQL形式,而SQL數(shù)據(jù)庫很難轉(zhuǎn)化為NoSQL形式”,而且“完全兼容SQL的數(shù)據(jù)庫無法輕松實現(xiàn)規(guī)模擴展”,相比之下“完全分布式數(shù)據(jù)庫則能夠輕松支持部分SQL子集。”
簡而言之,SQL非常出色但卻可被替代。而在大數(shù)據(jù)時代之下,分布式計算則不存在任何替代性方案。
最終贏家
在這個融合新世界中,勝利的天秤似乎在朝NoSQL傾斜。然而,NoSQL廠商是否能夠最終實現(xiàn)制霸?
盡管MongoDB與Cassandra都在一定程度上擁有王者氣象,但是:
市場真正需要的是一套像MongoDB那樣易于使用且靈活,但同時又像Cassandra那樣具備出色擴展能力的開源數(shù)據(jù)庫,而且不會影響現(xiàn)有安全性與工具儲備。MongoDB在這方面擁有優(yōu)勢地位,但AWS則更可能在長期市場上取勝。
是的,就是很可能掌控整個Hadoop市場并擁有全球***企業(yè)級公有云基礎設施的AWS。憑借著主導權、可觀的企業(yè)客戶吸引力以及大量分布式應用作為支持,各大數(shù)據(jù)庫廠商最終很可能將徹底拜倒在Bezos膝下。
原文標題:Who took the 'no' out of NoSQL?,原文作者:Matt Asay
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】