互联网的演化(尤其是云计算)使得关系型数据库越来越不被看好,随之而发起的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运动将矛头直指传统数据库的主宰者,虽然这在短期内无法动摇关系型数据库帝国,但是它所掀起的湍流却在数据库领域拍打出阵阵鸣响。
【编辑推荐】