目前关于SQL与NoSQL之间的话题非常之多,也不乏各种深入技术细节的讨论。相比较于传统的关系型数据库,NoSQL更显得朝气蓬勃,其开源、面向Web等特性都使得NoSQL得到了越来越多的追捧。SQL与NoSQL数据库之间的对比往往也都集中在性能、ACID和模式等方面,而很少有人考虑到它的命名就有不妥之处。也许是为了同SQL作出区分,其实NoSQL的关键点并不在SQL之上,DBA同样需要SQL语言去进行查询,NoSQL与传统数据库最大的区别是在于数据存储方面。
让我们首先来看看SQL。SQL的中文是“结构化查询语言”,即Structured Query Language,它针对关系数据有非常强大的功能。SQL是经过了精心设计的,可以将数组、记录、表以及集合映射(Mapping)其他的投影,然后化简(Reducing)到自定义聚合等。而映射/化简就是我们常说的MapReduce,它在NoSQL中是经常用到的。
再来看看NoSQL。比如FQL就是Facebook开发的一套查询语言,它其实就是把SQL重新组装来操作完全不同的数据模型。Oracle的NoSQL数据库也是一样。其实对查询语言来说,SQL与NoSQL并不会存在巨大的差异,而相信未来它们也会逐渐合并,完全可以通过标准化的SQL来进行查询。NoSQL的核心概念并不在数据如何被查询上,相信这一点不会有太多的质疑,它的核心是数据如何被存储。NoSQL使用的是不同的数据存储,就像一些DBA所说的,NoSQL更应该称为“不同存储模型的SQL”,当然在命名方面就会繁琐许多了。
也许再过几年,DBA就可以在同一个数据库中创建传统表、图形表或者哈希表,然后使用一个SQL查询就把它们join起来。到时,相信就不会再有人使用NoSQL这样的名词了。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
创建NoSQL数据建模符号 企业架构师亲自上阵
新兴的NoSQL数据风格促使创新的应用程序快速发展,但NoSQL同时也带来了挑战。NoSQL系统能够快速投入生产,有时甚至根本不用创建任何的前期模式。
-
深入理解Amazon DynamoDB NoSQL云数据库服务
Amazon DynamoDB NoSQL云数据库即服务主要为跨移动设备、网页web端、游戏、数字营销和物联网领域的应用提供支持。