为什么说nosql没有固定查询语言?

为什么说nosql没有固定查询语言?

阅读 5k
2 个回答

先说现在为什么没有
这里不存在为不为什么的问题,而是事实如此。
来看看SQL数据库,各大关系型数据库的语法只是接近,各自实现(方言)并不一样,谈论互相兼容基本谈不上
所以本来SQL数据库就不存在事实上的固定查询语言

然后来说说为什么接下去也不会有
这么多NoSQL厂商,存储结构,功能实现,背后原理都不尽相同,对于查询语句的设计固然也就不一样,没有统一的主观愿望。另外NoSQL的查询也都相对简单,学习成本也都并不高。

(当然了,可以说,json和restful在某种程度上是文档结构数据库比较常见和通用的一个事实标准,但这扯不上查询语句什么事)

没必要纠结这个。
非要纠结的话,可以先考虑下面几个问题:

  1. 这句话是谁说的

  2. sql是在关系数据库出现多久后出现的?(谁去制定标准)

  3. 什么是nosql?(什么是标准?)

  4. redis和memcached算不算nosql?(如何最大程度兼容现有标准?)

  5. redis和mongodb实现方式都不一样,怎么算?(方言怎么办?)

  6. mysql的json模式算不算?(底层实现方式不同,如何根据此制定最佳标准?)

  7. 当然,如果是教科书说的的话,那么可以认为他说的是“NoSQL现在没有标准查询语言,但是以后可能会有”。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进