首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么它被称为NoSQL?

为什么它被称为NoSQL?
EN

Stack Overflow用户
提问于 2012-10-16 12:59:17
回答 3查看 2.9K关注 0票数 1

我最近使用了MongoDB,了解了它的无模式设计。但是,我对术语NoSQL感到困惑?为什么叫它这个名字?它不使用SQL或类似SQL的查询吗?

我还从article上读到,主要的区别在于数据的存储方式。这是真的吗?对于MongoDB,它像JSON文档一样存储。

此外,我也不明白为什么我总是看到“NoSQL与关系数据库”。NoSQL数据库不是关系数据库吗?我相信MongoDB中的文档仍然通过某些键关联/链接(如果我错了,请纠正我)。那么为什么它被标记为非关系型的呢?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-16 13:04:53

不使用SQL或类似SQL的查询吗?

虽然“非关系数据库”可能是一个更准确的名称,但它们中的大多数实际上并不使用SQL或类似的东西。

NoSQL数据库不是关系数据库吗?我相信MongoDB中的文档仍然通过某些键关联/链接(如果我错了,请纠正我)。那么为什么它被标记为非关系型的呢?

NoSQL数据库是非关系数据库。

它们有多种类型(主要是“文档数据库”、“键值存储”和“图形数据库”),但您通常不会获得以下任何或所有“关系”特性:

  • 定义带有模式的表(命名的、通常是类型化的columns)
  • Ability,用于在单个query
  • Long-running,中联接多个表)任意范围的隔离事务
  • 即席查询可能需要很长时间,以及许多方法来索引数据以加快速度(而不是必须更改整个数据库布局)

(通过放弃这些方便的特性,您可以获得更好的性能、可用性和可伸缩性)。

票数 4
EN

Stack Overflow用户

发布于 2012-10-16 16:05:13

实际上,Carlo Strozzi在1998年首次使用"NoSQL“这个名称作为他正在开发的基于文件的数据库的名称。具有讽刺意味的是,它是关系数据库。Wiki

下面是一些名人对‘nosql’的评价:

Eric Evans (rackspace):

“我在nosql上花了几天时间,这里最热门的话题之一是"nosql”这个名字。可以理解的是,有很多人担心这个名字不好,担心它传递了不恰当或不准确的信息。虽然我没有对这个想法提出任何要求,但我确实不得不为它现在被称为的东西接受一些指责。怎么回事?Johan Oskarsson正在组织第一次会议,他问了一个问题:“什么是好名字?”在IRC上;这是我在45秒内不假思索地说出的3到4个建议之一。

然而,我遗憾的不是名字说了什么,而是它没有说什么。当约翰最初有了第一次meetup的想法时,他似乎在考虑大数据和线性可扩展的分布式系统,但这个名字太模糊了,以至于它打开了讨论任何存储数据的提交的大门,而不是一个RDBMS。

Martin Fowler

事实上,NoSQL的名称本身经常有一个曲折:许多SQL倡导者说,这并不意味着对

说“不”,相反,它不仅仅意味着SQL。在这一点上,我认为将单个数据库与NoSQL所倡导的未来生态系统分开是很有用的。当我们说"x是一个NoSQL数据库“时,我认为将NoSQL解释为”不仅仅是“是愚蠢的,因为这会使这个术语变得毫无意义。(然后您可以合理地争辩说,SQL Server (比方说)是一个NoSQL数据库。)所以我认为最好的说法是"NoSQL数据库“是一个"no-sql”数据库。

票数 5
EN

Stack Overflow用户

发布于 2012-10-16 13:05:50

正如维基百科所说:

NoSQL是一大类数据库管理系统,它不符合广泛使用的关系数据库管理系统模型。

这意味着它是一个不遵循关系模型(由Codd创建的模型)的数据库,因此它不使用SQL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12907794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档