通常,那些博客的观点都是:
性能(“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查询!
nosql,不是没有SQL语句,而是不仅仅是SQL
像es 也是nosql的一种,它有自己的查询语法,dsl,存储的数据类型与MySQL不一致,不是关系型的
NoSQL与SQL本质上就是对立关系,NoSQL强调的是非关系结构化存储,SQL注重数据与数据之间的关联关系,且其业务出发点不一样,因此不能一概而论。
sql只是处理数据库用的标准操作指令,和后台的数据存储方式没有关系的。
文章说的是现在虽然有些nosql为了标榜与传统的不同,而使用新的操作指令集,但将来会回归到本质:操作指令集标准化+数据存储方式继续各种分流演化。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。