数据通常可以分为 结构化数据(Structured Data)非结构化数据(Unstructured Data),有时还会提到 半结构化数据(Semi-structured Data)。这个分类最初属于 数据库理论和数据管理 领域,如今在大数据、搜索引擎、数据仓库、机器学习、生成式 AI 等领域都被广泛使用。

结构化数据

指具有固定格式、固定字段、固定数据类型的数据。

特点:

  • 数据有明确的 Schema(表结构)
  • 可以直接存储在关系型数据库中
  • 容易查询、统计和分析
  • 通常以行和列组织

示例 — 用户表:

idnameageemail
1Tom18tom@test.com
2Jack20jack@test.com

SQL 查询:

SELECT * FROM user WHERE age > 18;

常见存储: MySQL、PostgreSQL、Oracle Database、Microsoft SQL Server

典型数据: 用户信息、订单数据、商品数据、财务数据、CRM 数据


半结构化数据

介于结构化和非结构化之间——没有严格表结构,但有一定组织形式。

示例 — JSON:

{
  "id": 1,
  "name": "Tom",
  "skills": ["Java", "React"]
}

示例 — XML:

<user>
  <name>Tom</name>
  <age>18</age>
</user>

特点:

  • 字段可以动态变化
  • 有层级关系
  • 比非结构化更容易解析

常见存储: MongoDB、Elasticsearch、Apache Kafka 消息体


非结构化数据

指没有固定格式的数据,无法直接用表格描述。

特点:

  • 没有固定 Schema
  • 内容形式丰富
  • 难以直接用 SQL 查询
  • 通常需要搜索、AI、NLP 等技术处理

典型数据:

  • 文本: 邮件内容、聊天记录、Word 文档、PDF、网页内容
  • 媒体: 图片、视频、音频

传统数据库无法直接理解非结构化数据:

SELECT * FROM photo WHERE age > 18  -- 图片本身没有 age 字段

三者对比

  • 格式 — 结构化:固定 Schema / 半结构化:有结构但不固定 / 非结构化:无固定格式
  • 查询 — 结构化:SQL 直接查询 / 半结构化:需解析后查询 / 非结构化:需搜索或 AI 理解
  • 存储 — 结构化:关系型数据库 / 半结构化:MongoDB、ES 等 / 非结构化:文件系统、对象存储
  • 示例 — 结构化:用户表、订单表 / 半结构化:JSON 日志、XML 配置 / 非结构化:图片、PDF、视频

在不同领域中的应用

数据库领域(最早、最核心)

数据库设计时的核心问题:数据是否有固定结构? 关系型数据库(MySQL、PostgreSQL)处理结构化数据;NoSQL 数据库(MongoDB)处理半结构化数据。

大数据领域

企业数据来源混合了三种类型:

类型示例
结构化订单表
半结构化JSON 日志
非结构化PDF、图片、视频

大数据平台(Hadoop、Spark、数据湖)需要统一处理这些数据。

AI / 机器学习领域

传统机器学习主要处理结构化特征(年龄、收入、学历),而大模型处理的是非结构化数据(文章、代码、图片、音频、视频)。OpenAI、Anthropic 的模型本质上都在解决 如何理解非结构化数据 的问题。

数据仓库与 BI 领域

BI 分析(Snowflake、Tableau、Power BI)偏好结构化数据(销售额、用户数、留存率),但企业大量数据(客服聊天记录、会议录音、用户评价)是非结构化的,需要先处理再分析。

搜索引擎领域

搜索引擎(Elasticsearch、Google)主要处理网页、文档、邮件、日志等非结构化数据。


AI 为什么特别擅长处理非结构化数据?

传统数据库擅长精确查询:

SELECT * FROM user WHERE age > 18;

但不擅长语义理解:

找出和"前端工程化"相关的所有文档

大模型可以把文本、图片、音频、视频转换成 向量(Embedding),从而理解内容。

例如用户上传 1000 份 PDF,传统数据库无法理解文档含义,而 AI 可以回答:

"哪些文档提到了微前端架构?"

如果你最近在接触 RAG、向量数据库、知识库、AI Agent,“非结构化数据”这个概念会频繁出现,因为这些技术的核心目标就是让机器能够理解和利用非结构化数据。


一句话理解

  • 结构化数据:像 Excel 表格,列和字段固定。
  • 半结构化数据:像 JSON,可以有结构但不固定。
  • 非结构化数据:像图片、视频、文档、聊天记录,没有固定字段,需要搜索或 AI 理解内容。