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

​1.结构化数据

结构化数据指的是具有明确的、预定义的数据模型,遵循一致顺序的数据。最为常见的结构化数据是关系型数据库中的数据。

结构化数据有三大特征,同时满足这三个特征的,可以称之为结构化数据。
(1)有明确的含义(2)有严格、一致的顺序 (3)有明确的数据类型

​2.非结构化数据

非结构化数据指的是没有预定义的数据模型,数据结构不规则或者不完整的数据。最为常见的非结构化数据是文档、图片、视频等。

​3.半结构化数据

半结构化数据是指介于结构化数据和非结构化数据之间,具有一定的结构化特征,但不完全符合结构化特征的数据。
最为常见的半结构化数据包括日志文件、XML 文档、JSON 文档、Email、HTML文档等。

(1)数据结构带有自描述性;
数据中包含了对数据结构的描述信息,例如数据含义、数据类型等信息;

(2)结构与数据往往融合在一起;
在数据中既有描述结构的数据,又含有实际的数据,体现出结构与数据紧耦合的特征。

结构化数据可以通过固有键值获取相应信息,且数据的格式固定,如RDBMS data半结构化数据可以通过灵活的键值调整获取相应信息,且数据的格式不固定,如json,同一键值下存储的信息可能是数值型的,可能是文本型的,也可能是字典或者列表非结构化数据不可以通过键值获取相应信息。

在信息社会,信息可以划分为两大类:

信息能够用数据或统一的结构加以表示,称之为结构化数据;
信息无法用数字或统一的结构表示,称之为非结构化数据。

结构化、半结构化、非结构化其实是按照数据格式分类。结构化数据属于非结构化数据,是非结构化数据的特例。结构化与半结构化数据都是有基本固定结构模式的数据半结构与非结构化数据与目前流行的大数据之间只是有领域重叠的关系,本质讲两者并无必然联系。业界有将大数据认为半结构/非结构化数据,是因为大数据技术最初是在半结构化数据领域发挥作用,其本质是将数据处理技术与数据格式混淆,是不正确的。

半结构化数据,是介于结构化和非结构化之间的数据。它是结构化的数据,但是结构变化很大。因为若要了解数据的细节,不仅仅是将数据简单的组织成一个文件,按照非结构化数据,而由于结构变化很大,也不能够简单的建立一个表和它对应,以结构化数据来处理。

据了解,和普通纯文本相比,半结构化数据具有一定的结构性,如OEM(Object exchange Model)是一种典型的半结构化数据模型。此外,半结构化数据的典型场景包括:邮件系统、WEB集群、教学资源库、数据挖掘系统、档案系统等等,这些应用对于数据存储、数据备份、数据共享以及数据归档等基本存储需求。

日常工作生活中,我们最常接触到的半结构化数据就是个人简历了。个人简历不像个人基本信息那样一致,每个人的简历大不相同。有的人的简历很简单,比如只包括教育情况;有的人的简历却很复杂,比如包括工作情况、婚姻情况、出入境情况、户口迁移情况、党籍情况、技术技能等等;甚至可能还有一些我们没有预料的信息。

而我们要完整的保存这些信息并不是很容易的,因为我们不会希望系统中的表的结构在系统的运行期间进行变更。因此,在做一个信息系统设计时肯定会涉及到数据的存储,一般我们都会将系统信息保存在某个指定的关系数据库中。我们会将数据按业务分类,并设计相应的表,然后将对应的信息保存到相应的表中。比如我们做一个业务系统,要保存员工基本信息:工号、姓名、性别、出生日期等等;我们就会建立一个对应的staff表

半结构化数据中结构模式附着或相融于数据本身,数据自身就描述了其相应结构模式。具体来说,半结构化数据具有下述特征:数据结构自描述性,结构与数据相交融,在研究和应用中不需要区分“元数据”和“一般数据”(两者合二为一);数据结构描述的复杂性,结构难以纳入现有的各种描述框架,实际应用中不易进行清晰的理解与把握;数据结构描述的动态性。数据变化通常会导致结构模式变化,整体上具有动态的结构模式。

也因此,半结构化数据有以下5种:日志文件;XML 文档;JSON 文档;Email;HTML文档:

日志文件是用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,数据库系统有数据库系统日志文件;

XML文档是一种用于标记电子文件使其具有结构性的标记语言;

JSON文档是一种轻量级的数据交换格式的文档,易于人阅读和编写,同时也易于机器解析和生成,JSON采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C,C++, C#, Java, JavaScript, Perl, Python 等);

电子邮件可以是文字、图像、声音等多种形式,同时,用户可以得到大量免费的新闻、专题邮件,并轻松实现轻松的信息搜索;

HTML文档是自描述的,数据的结构和内容混在一起,没有明显的区分,因此,HTML文档就属于半结构化数据。

半结构化数据的存储方式一般是化解为结构化数据。这种方法通常是对现有的信息进行粗略的统计整理,总结出信息所有的类别同时考虑系统真正关心的信息。对每一类别建立一个子表。比如上面提到个人简历我们可以建立教育情况子表、工作情况子表、党籍情况子表等等,并在主表中加入一个备注字段,将其它系统不关心的信息和一开始没有考虑到的信息保存在备注中。

这种方式的优点是查询统计比较方便。缺点则是不能适应数据的扩展,不能对扩展的信息进行检索,对项目设计阶段没有考虑到的同时又是系统关心的信息的存储不能很好的处理。

此外,半结构化数据的存储方式还有:用XML格式来组织并保存到CLOB字段中;用JSON格式来组织并保存到CLOB字段中。

XML很适合存储半结构化的数据,只需要将不同类别的信息保存在XML的不同的节点中就可以了。其优点是能够灵活的进行扩展,信息进行扩展时只要更改对应的DTD或者XSD;缺点是查询效率比较低,要借助XPATH来完成查询统计。

JSON非常适合存储半结构化的数据,只需要将不同类别的信息保存在JSON的不同的节点中就可以了。其优点是能够灵活的进行扩展,信息进行扩展时只要在应用程序来控制JSON对应的Schema;缺点是查询效率比较低,要通过数据库本身提供的JSON处理方法来完成查询统计。

        二维表属于半结构化数据,构化数据 行数据,存储在数据库中,可以用二维表结构来逻辑表达实现的数据。 结构化数据是先有结构,后有数据。 半结构化数据 这种数据介于上面二者之间,所以属于半结构化数据。
  相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。
  非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图像、声音、影视、超媒体等信息)。
  非结构化WEB数据库主要是针对非结构化数据而产生的,与以往流行的关系数据库相比,其最大区别在于它突破了关系数据库结构定义不易改变和数据定长的限制,支持重复字段、子字段以及变长字段并实现了对变长数据和重复字段进行处理和数据项的变长存储管理,在处理连续信息(包括全文信息)和非结构化信息(包括各种多媒体信息)中有着传统关系型数据库所无法比拟的优势。

相关参考链接:

https://www.renrendoc.com/paper/195431258.html

https://blog.youkuaiyun.com/weixin_43606502/article/details/103412028

半结构化数据_百度百科 (baidu.com)icon-default.png?t=O83Ahttps://baike.baidu.com/item/%E5%8D%8A%E7%BB%93%E6%9E%84%E5%8C%96%E6%95%B0%E6%8D%AE/3193001?fr=ge_ala

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值