欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

结构化、非结构化和半结构化数据

程序员文章站 2022-06-01 21:34:28
...

一直对结构化、非结构化和半结构化数据三个数据类型的概念有点模糊不清,今天特意花点时间网上查找了一番,继而,来此处进行一通总结。

**

结构化数据

**
结构化数据可以使用关系型数据库来表示和存储,如MySQL、Oracle、SQL Server等,表现二维形式的数据。可以通过固有键值获取相应信息。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。但是,显然,它的扩展性不好(比如,我希望增加一个字段)。

**

非结构化数据

**
非结构化数据,就是没有固定结构的数据,包含全部格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。一般直接整体进行存储,而且一般存储为二进制的数据格式

**

半结构化数据

**
半结构化数据可以通过灵活的键值调整获取相应信息,且数据的格式不固定,如json,同一键值下存储的信息可能是数值型的,可能是文本型的,也可能是字典或者列表。
半结构化数据,属于同一类实体可以有不同的属性,即使他们被组合在一起,这些属性的顺序并不重要。常见的半结构数据有XML和JSON。

第一个XML

<person>
    <name>A</name>
    <age>13</age>
    <gender>female</gender>
</person>

第二个XML

<person>
    <name>B</name>
    <gender>male</gender>
</person>

从上面的例子中,属性的顺序是不重要的,不同的半结构化数据的属性的个数是不一定一样的。有些人说半结构化数据是以树或者图的数据结构存储的数据,从上面的例子中,标签是树的根节点,和标签是子节点。通过这样的数据格式,可以*地表达很多有用的信息,包括自我描述信息(元数据)。所以,半结构化数据的扩展性是很好的。

参考:
http://blog.csdn.net/liangyihuai/article/details/54864952
https://www.zhihu.com/question/50986354/answer/243722470