博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非、半、结构化数据学习【转载】
阅读量:6090 次
发布时间:2019-06-20

本文共 1454 字,大约阅读时间需要 4 分钟。

转自:

一、结构化数据

结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例子:

id      name            age     gender1       Liu Yi          20      male2       Chen Er         35      female3       Zhang San       28      male

所以,结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。

但是,它的扩展性不好。比如,如果字段不固定,利用关系型数据库也是比较困难的,有人会说,需要的时候加个字段就可以了,这样的方法也不是不可以,但在实际运用中每次都进行反复的表结构变更是非常痛苦的,这也容易导致后台接口从数据库取数据出错。你也可以预先设定大量的预备字段,但这样的话,时间一长很容易弄不清除字段和数据的对应状态,即哪个字段保存有哪些数据。

二、半结构化数据

半结构化数据是结构化数据的一种形式,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,它也被称为自描述的结构。

半结构化数据,属于同一类实体可以有不同的属性,即使他们被组合在一起,这些属性的顺序并不重要。

常见的半结构数据有XML和JSON,对于对于两个XML文件,第一个可能有

A
13
female

 第二个可能为:

B
male

 

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

三、非结构化数据

非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、各类报表、图像和音频/视频信息等等。

非结构化数据其格式非常多样,标准也是多样性的,而且在技术上非结构化信息比结构化信息更难标准化和理解。所以存储、检索、发布以及利用需要更加智能化的IT技术,比如海量存储、智能检索、知识挖掘、内容保护、信息的增值开发利用等。

【百度百科】这类信息我们通常无法直接知道他的内容,数据库也只能将它保存在一个BLOB字段中,对以后检索非常麻烦。一般的做法是,建立一个包含三个字段的表(编号 number、内容描述 varchar(1024)、内容 blob)。引用通过编号,
检索通过内容描述。现在还有很多非结构化数据的处理工具,市面上常见的内容管理器就是其中的一种。

转载于:https://www.cnblogs.com/BlueBlueSea/p/10306713.html

你可能感兴趣的文章
线程锁Lock
查看>>
SpringMvc 文件上传后台处理
查看>>
WEB框架Django之Form组件
查看>>
spring cloud学习(一) 服务注册
查看>>
Java多线程
查看>>
洛谷P3296 刺客信条
查看>>
vue-cli2 和vue-cli3
查看>>
python 清空list的几种方法
查看>>
2.03 按子串排序
查看>>
gridview单元格合并解决方法
查看>>
Android深入浅出系列之服务机制—1.Android中的Service
查看>>
Android深入浅出系列之Android开发环境搭建—配置Eclipse(五)
查看>>
设计模式漫谈之中介者模式
查看>>
ubuntu18.04 and Linux mint 19安装virtualbox
查看>>
ElasticSeaarch 遇到的问题 (-)
查看>>
CMD中文乱码之另解决方案
查看>>
内存对齐
查看>>
工作周记 - 第六周 (2016/06/27 - 2016/07/01)
查看>>
我们为何要使用多线程,它有什么优点?
查看>>
OPNET统计结果的显示与分析
查看>>