Matt Asay —— 现任10gen公司策略副总监,自2005年起于多家公司担任过类似职务。出名的开源提倡者,前OSI董事会成员。
以下为译文
因为在其用处上开发者和架构师很难达成共识,NoSQL数据库已经成为争论的热点。有些开发者甚至认为NoSQL只是填补一时所需的产物:他们坚信NoSQL数据库将受制于特殊用途的应用程序,而SQL也将恢复其统治性地位。然而这种观点明显忽略了应用程序设计原因及方式的根本性改变。出于多种原因,NoSQL必将存活。
可扩展性和大数据
GB级数据时代已经成为过去,当下的应用程序即使再控制都需要应对TB或者PB级的数据,并且大多数的还呈持续性增长。随着数据负载的增加,IT机构需要的是低成本下进行灵活扩展,而不是那种需要几十万美元才可以构建的单服务器方案,并且随着规模的增加变的愈加昂贵。
NoSQL数据库很容易满足扩展需求,因为它们就是为了横向扩展而生的——而非传统数据库的纵向扩展。通过运行在廉价的商用服务器或云计算实例上,NoSQL数据库在增加或减少站点性能的时可带来成本效益——即使你没有很多的预算也可以拥有一个较高的性能。
更因为NoSQL数据库上更少的扩展限制,它们能使新时代应用程序在应对巨体积数据时更得心应手。因为数据体积只会越来越多,所以我们对可以应对其增长的数据库需求是永恒的。
系统架构的改变
随着云计算的出现,系统的建立方式也发生了彻底的改变;当然随着新类型服务器和技术的出现,它们肯定会继续的变化。数据库实例必须可以轻松的在节点间进行传播,这些节点可能建立在世界各地并且同时服务于分散在世界各地的客户。
NoSQL的特性更适合于新时代的架构,它们可以扩展到无限数量的服务器上;即使添加和删除节点它们都会保持正常的运行,这一点会显著的减少服务器管理的开销和时间。许多NoSQL数据库还具备定位功能,根据地理位置信息可以显著增加用户数据传输的速度。
易于使用
因为NoSQL数据库的弱模式化,它们使用起来更加方便。不需要考虑将数据迁移到新数据结构模式(随着应用程序的变化)所用的时间,你可以快速的进行编码。此外面向文档的数据库更省略了将面向对象的代码转换成SQL查询,然后再把SQL查询结果返回到对象继续应用程序逻辑。
虽然NoSQL不会很快的取代SQL,但是NoSQL提供的特性恰是新时代应用程序所需要的。
(编译/仲浩 审校/王旭东)