首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么rdbms不能存储非结构化数据?为什么nosql数据库可以?

为什么rdbms不能存储非结构化数据?为什么nosql数据库可以?
EN

Stack Overflow用户
提问于 2013-09-10 15:42:50
回答 3查看 3.4K关注 0票数 3

我读到rdbms和nosql数据库的一个区别是存储非结构化数据,我知道每个nosql数据库都有自己的架构和算法,但我想知道为什么rdbms不能存储非结构化数据?

为什么nosql数据库可以做到这一点,如果你给我一个简单的例子,让我理解nosql数据库是如何做到这一点的,以及是什么使rdbms无法存储非结构化数据,我将非常感谢。

EN

回答 3

Stack Overflow用户

发布于 2013-09-10 16:41:54

关系数据库基于Edgar F. Codd's relational data model,它假定数据是严格结构化的。整个SQL语言都是围绕这个模型构建的,实现它的数据库也针对这种工作方式进行了优化。

但在过去的几年中,有人尝试在SQL中添加允许处理非结构化数据的功能,如SQL/XML扩展,它允许将XML文档存储在SQL表的字段中,并透明地查询它们的文档树。

另一方面,面向文档的数据库,如MongoDB或CouchDB,从一开始就是为处理非结构化数据而设计的,它们的查询语言也是围绕这一概念设计的,因此在处理非结构化数据时,它们通常更快、更方便。

票数 2
EN

Stack Overflow用户

发布于 2013-09-10 16:58:08

我完全错误地理解了这个问题,一开始我认为这个问题是完全错误的(“结构化”的多语言环境定义),所以忽略我的评论,然而,MongoDB确实存储了结构化数据。维基百科的定义(我可以说,这似乎在互联网上本身是不同的)是( http://en.wikipedia.org/wiki/Unstructured_data ):

非结构化数据(或非结构化信息)指的是没有预定义数据模型或没有以预定义方式组织的信息。

但对于MongoDB来说就不是这样了,因为它确实有一个:

代码语言:javascript
复制
{
    _id:{}
}

由于_id始终是必需的,因此MongoDB用户最近更准确地说,MongoDB具有“灵活的”模式,而不是不可靠的模式,这就是为什么大多数人说它存储非结构化数据的原因。

所以,是的,它确实存储了一些非结构化数据,但不是完全的……

票数 0
EN

Stack Overflow用户

发布于 2014-01-15 06:31:09

简单地说,NOSQL数据存储是分层的、可变长度的、高度分布式的基于文件的系统,具有最终的一致性。模式嵌入在数据中(或嵌入在代码中,但NOSQL不是无模式的),列可以从一个实例到下一个实例变化,即使是在相同的结构中,列的大小也不是固定的。

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

https://stackoverflow.com/questions/18713217

复制
相关文章

相似问题

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