结构化数据与非结构化数据?

Posted

技术标签:

【中文标题】结构化数据与非结构化数据?【英文标题】:Structured data vs unstructured data? 【发布时间】:2018-09-08 19:40:58 【问题描述】:

我一直在使用 mongoDB 文档来测试我的应用程序。从我读到的内容来看,mongoDB 应该是非结构化数据。但是,我很困惑,因为我的文档有 id、title 等字段。这不是结构化的吗?

有人能给我一些来自数据库的结构化和非结构化数据的例子吗?

【问题讨论】:

请查看How to Ask 部分和edit 您的问题,以便提供minimal reproducible example。 没有必要无礼或报复,像那样反击:-(。这是一个社区,每个人都应该尽自己的一份力量来改善它。 哦,好吧,我很抱歉 :(((((( 【参考方案1】:

非结构化数据具有内部结构,但不是通过预定义的数据模型或架构进行结构化。

您可以有一个包含 4 个字段的行和另一个包含 15 个字段的行。在这里,如果您没有某些字段或列的数据,则您没有存储它们,否则您将忽略它们。在后期开发应用程序时,您可能会发现需要添加一些字段,这是非结构化数据库发挥主要作用的地方。

【讨论】:

你能提供一些例子吗?【参考方案2】:

MongoDB 是一个 NoSQL 数据库。简单来说,您不需要像 SQL 数据库那样创建具有列名及其数据类型的表。您存储在 MongoDB 中的数据不会在内部组织为表。但是,您仍然需要将数据以键值对(JSON 格式)的方式存储在集合中。

例如:db.details.find().pretty();,其中details 是集合的名称:

                                                                          
        "_id" : ObjectId("5b93721978b7d31f00fc1bd7"),                      
        "id" : "15IT112",                                                  
        "name" : "Shivam"                                                                                                                                                
                                                                          
                                                                          
        "_id" : ObjectId("5b93722d78b7d31f00fc1bd8"),                      
        "id" : "15IT113",                                                  
        "name" : "Reena"                                                                                                                                                    
                      

除此之外,MongoDB 还提供了一个使用 Mongoose 构建数据库的选项,Mongoose 是一个对象关系映射器。您可以根据需要定义架构。

例如:

let mongoose = require('mongoose');

let detailSchema = mongoose.Schema(
    id:
        type: String,
        required: true
    ,
    name:
        type: String,
        required: true
    
);                                                    

【讨论】:

【参考方案3】:

Unstructured data has internal structure but is not structured via pre-defined data models or schema.

这通常是在网上找到的定义,但可以理解的是,它令人困惑。

在使用 MongoDB 文档的示例中,这些文档是使用模式和模型定义的。这是用于定义非结构化数据的internal structure

但是,文档不是通过预定义的数据模型或架构构建的。这意味着documents are stored in a way that is not structured via pre-defined models or schema。相反,它们存储在不遵循预定义模型或架构的集合中。

【讨论】:

以上是关于结构化数据与非结构化数据?的主要内容,如果未能解决你的问题,请参考以下文章

数据结构大量数据(20万)的快速排序的递归与非递归算法三数取中思想

Java数据结构——二叉树的递归与非递归遍历(DFS)

数据结构——二叉树遍历之“递归与非递归遍历”

数据结构与算法二叉树递归与非递归遍历(附完整源码)(转)

NoSQL之redis配置

聚集索引与非聚集索引