半结构化数据是不符合数据模型但具有一定结构的数据。它缺乏固定或僵化的模式。数据并不驻留在合理的数据库中,但具有一些使其更易于分析的组织属性。通过一些过程,我们可以将它们存储在关系数据库中。
半结构化数据的特点:
- 数据不符合数据模型,但具有某种结构。
- 数据不能像数据库那样以行和列的形式存储
- 半结构化数据包含标签和元素(元数据),用于对数据进行分组并描述数据的存储方式
- 相似的实体组合在一起并按层次结构组织
- 同一组中的实体可能具有或可能不具有相同的属性或特性
- 不包含足够的元数据,这使得数据的自动化和管理变得困难
- 组中相同属性的大小和类型可能不同
- 由于缺乏明确定义的结构,它不能被计算机程序轻易使用
半结构化数据来源:
- 电子邮件
- XML 和其他标记语言
- 二进制可执行文件
- TCP/IP 数据包
- 压缩文件
- 整合不同来源的数据
- 网页
半结构化数据的优点:
- 数据不受固定模式的约束
- 灵活,即架构可以轻松更改。
- 数据可移植
- 可以将结构化数据视为半结构化数据
- 它支持无法用 SQL 表达需求的用户
- 它可以轻松处理来源的异质性。
半结构化数据的缺点
- 缺乏固定的、僵化的模式导致数据存储困难
- 解释数据之间的关系很困难,因为模式和数据没有分离。
- 与结构化数据相比,查询效率较低。
存储半结构化数据面临的问题
- 数据通常具有不规则的部分结构。一些来源具有隐含的数据结构,这使得很难解释数据之间的关系。
- 模式和数据通常是紧密耦合的,即它们不仅链接在一起,而且相互依赖。同一个查询可能会更新架构和数据,而架构经常更新。
- 模式和数据之间的区别非常不确定或不清楚。这使数据结构的设计变得复杂
- 与结构化数据相比,存储成本较高
存储半结构化数据的可能解决方案
- 数据可以存储在专门用于存储半结构化数据的DBMS中
- XML 广泛用于存储和交换半结构化数据。它允许用户定义标签和属性,以分层形式存储数据。
架构和数据在 XML 中不是紧密耦合的。 - 对象交换模型 (OEM) 可用于存储和交换半结构化数据。 OEM 以图形的形式构建数据。
- RDBMS 可用于通过将数据映射到关系模式然后将其映射到表来存储数据
从半结构化数据中提取信息
由于来源的异质性,半结构化数据具有不同的结构。有时它们根本不包含任何结构。这使得标记和索引变得困难。因此,虽然从他们那里提取信息是一项艰巨的工作。以下是可能的解决方案——
- 基于图形的模型(例如 OEM)可用于索引半结构化数据
- OEM 中的数据建模技术允许将数据存储在基于图形的模型中。基于图形的模型中的数据更易于搜索和索引。
- XML 允许按层次顺序排列数据,从而可以对数据进行索引和搜索
- 各种数据挖掘工具的使用
要阅读结构化、半结构化和非结构化数据之间的差异,请参阅以下文章 –
- 结构化、半结构化和非结构化数据的区别