开发者社区> 问答> 正文

为什么NoSQL应该被称作"使用另类存储模型的SQL"

通常,那些博客的观点都是:
性能(“SQL”永远不可能比得上“NoSQL”)
ACID(你并不经常需要它)
Schemalessness(存储任何数据)
因为一些有趣的原因,这些观点导致了对“NoSQL”的误解,被解释为”no SQL“,还有”not only SQL“。但是SQL仅表示 "结构化查询语言”,在表述关系数据方面是非常强大的。它是为创建元组,记录,表格,集合并映射(map)它们,减少(reduce)耦合等而精心设计的。注意,术语“map/reduce"是 NoSQL 传道者经常挂在嘴上的。

很好的例子, Facebook Query Language (FQL),领先的NoSQL查询语言之一,和SQL非常相似,尽管它操作的是另一个完全不同的数据模型。 Oracle也一样,加入了NoSQL的行列,并在卖自己的产品。在不久的将来这两种数据存储会合并起来并可以使用一个ISO/IEEE规范化的SQL语言(SQL:2015 ?)来查询。因为”NoSQL“的精髓之处在于它并不考虑数据是怎样查询的,而在于数据是怎样存储的。所以,迟早会有一天,你可以在同一个数据库中创建”传统“的内容为”图表“和”哈希表"的表并在一条SQL查询中连接它们,不用考虑现在的那么多。

"NoSQL"应该被称作“使用另类存储模型的SQL”并且使用纯SQL查询!

展开
收起
a123456678 2016-06-28 17:25:06 3128 0
3 条回答
写回答
取消 提交回答
  • nosql,不是没有SQL语句,而是不仅仅是SQL

    像es 也是nosql的一种,它有自己的查询语法,dsl,存储的数据类型与MySQL不一致,不是关系型的

    2021-10-12 11:01:20
    赞同 展开评论 打赏
  • NoSQL与SQL本质上就是对立关系,NoSQL强调的是非关系结构化存储,SQL注重数据与数据之间的关联关系,且其业务出发点不一样,因此不能一概而论。

    2021-10-12 10:39:08
    赞同 展开评论 打赏
  • sql只是处理数据库用的标准操作指令,和后台的数据存储方式没有关系的。

    文章说的是现在虽然有些nosql为了标榜与传统的不同,而使用新的操作指令集,但将来会回归到本质:操作指令集标准化+数据存储方式继续各种分流演化。

    2019-07-17 19:48:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载