当前位置:  开发笔记 > 后端 > 正文

什么nosql意味着什么?有人能用简单的话语向我解释一下吗?

如何解决《什么nosql意味着什么?有人能用简单的话语向我解释一下吗?》经验,为你挑选了2个好方法。

在这篇文章Stack Overflow Architecture我读到了一些名为nosql的东西,我不明白这意味着什么,我试图搜索谷歌但接缝我不能得到它究竟是什么.

任何人都可以用简单的词解释nosql的含义吗?



1> Jon Smock..:

如果您曾经使用过数据库,那么您可能已经使用了关系数据库.示例可以是Access数据库,SQL Server或MySQL.当您考虑这些类型的数据库中的表时,通常会想到一个网格,就像在Excel中一样.您必须为数据库表的每一列命名,并且必须指定该列中的所有值是否为整数,字符串等.最后,当您要在该表中查找信息时,必须使用一种名为SQL.

围绕非关系型数据库形成了一种新的趋势,即不属于整齐网格的数据库.您不必指定哪些内容是整数,字符串和布尔值等.这些类型的数据库更灵活,但它们不使用SQL,因为它们不是这样构造的.

简而言之,这就是为什么它们是"NoSQL"数据库.

使用NoSQL数据库的优势在于,您无需提前确切了解数据的样子.也许您有一个联系人表,但您不知道您希望存储哪些关于每个联系人的信息.在关系数据库中,您需要创建"名称"和"地址"之类的列.如果您稍后发现需要电话号码,则必须为此添加一列.在NoSQL数据库中不需要这种规划/结构.还有潜在的扩展优势,但这有点争议,所以我不会在那里提出任何要求.

NoSQL数据库的缺点实际上是缺少SQL.SQL很简单,无处不在.SQL允许您更容易地对数据进行切片和切块以获得聚合结果,而在NoSQL数据库中则更复杂(您可能会使用MapReduce之类的东西,因为它有一些学习曲线).


是的,我很确定提到NoSQL的人都在谈论这个概念,而不是一个特定的工具.

2> David Basara..:

来自NoSQL主页

NoSQL是一种快速,可移植的关系数据库管理系统,没有任何限制(除了内存和处理器速度),它在UNIX 1操作系统下运行并与之交互.它使用1991年3月的"Unix Review"中描述的"Operator-Stream Paradigm",第24页,标题为"A 4GL Language".有许多"运营商"各自对数据执行独特的功能."流"由UNIX输入/输出重定向机制提供.因此,每个运算符处理一些数据,然后通过UNIX管道函数将其传递给下一个运算符.这非常有效,因为UNIX管道在内存中实现.NoSQL符合"关系模型".

我也会在Stackoverflow上看到这个答案.


从来不知道NoSQL是一个真正的产品,但现在每个人都在谈论NoSQL意味着非RDBMS(例如,参见Jon的回答).
推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有