Glossary for Database
记录数据库领域的部分术语,包括结构化/非结构化数据;关系型/非关系系数据库etc.
Structured/Unstructured Data
根据数据是否有预定义的数据模型,我们将其分为三类
1.1 结构化数据 (Structured Data)
定义:
结构化数据是高度组织化、格式整齐的数据,遵循严格的预定义模型(Schema)。它是传统关系型数据库(RDBMS)的基石。
- 核心特征:
- 二维表结构:数据可以完美地放入行与列中。
- 强类型:每个字段都有明确的数据类型(如 Integer, Varchar, Date)。
- 易于计算:计算机能够通过SQL极其高效地进行检索、聚合和分析。
- 典型来源:
- 企业核心系统:ERP、CRM、财务系统。
- 交易记录:银行转账、电商订单。
- 技术扩展:
在大数据领域,结构化数据通常采用Schema-on-Write[1]策略,即在数据写入前必须定义好结构,这保证了数据的一致性,但牺牲了写入的灵活性。
1.2 非结构化数据 (Unstructured Data)
定义:
非结构化数据没有预定义的模型或组织形式,通常被视为“二进制对象”(BLOBs)。这类数据占据了全球数据总量的 80% - 90%,是大数据分析的主要挑战与金矿。
- 常见形式:
- 多媒体:图片、音频、视频。
- 文档:PDF、Word、设计图纸。
- 机器数据:虽然部分日志有格式,但在未经清洗前常被视为非结构化流。
- 处理难点:
无法直接使用 SQL 查询。通常需要借助 OCR(光学字符识别)、NLP(自然语言处理)或 CV(计算机视觉)技术提取特征后,转化为结构化标签进行存储。
1.3 半结构化数据 (Semi-Structured Data)
定义:
介于两者之间,具有一定的自描述结构(Self-describing structure),但不符合关系型数据库严格的表格形式。它通过标签(Tags)或键值(Keys)来组织数据。
- 核心技术载体:
- XML (Extensible Markup Language):早期互联网数据交换标准。
- JSON (JavaScript Object Notation):现代 Web API 和 NoSQL 数据库(如 MongoDB)的主流格式。
- HTML:网页结构标记。
- 示例:
HTML 文档本身是非结构化的文本流,但通过<h1>、<div>等标签,机器可以识别出标题和段落,从而赋予其语义结构。
数据模型
关系型数据模型和非关系型数据模型
关系型数据模型
二、 关系型数据模型 (RDBMS):经典的秩序
关系型数据库管理系统(Relational Database Management System)基于数学上的“集合论”和“关系代数”。自 20 世纪 70 年代以来,它一直是企业级应用的标准。
2.1 核心概念解构
在 RDBMS 中,数据被组织成 Table(表/关系)。
| 术语 (Term) | 别名 (Alias) | 描述 (Description) |
|---|---|---|
| Table | Relation (关系) | 由行和列组成的二维网格,对应一个实体集(如“用户表”)。 |
| Record | Row (行), Tuple (元组) | 代表一个具体的实体实例。例如:用户 Alice 的完整信息。 |
| Field | Column (列), Attribute (属性) | 代表数据的某一类特征。例如:所有用户的“年龄”。 |
数据示例:User Table
| User ID (PK) | Username | Status | |
|---|---|---|---|
| 1001 | Alice | alice@tech.io | Active |
| 1002 | Bob | bob@data.net | Inactive |
非关系型数据模型 (NoSQL)
随着 Web 2.0 的爆发,传统 RDBMS 在高并发(High Concurrency)、海量数据存储(Massive Storage)和高可扩展性(Scalability)方面遇到瓶颈,NoSQL (Not Only SQL) 应运而生。
3.1 四大主流类型
NoSQL 并非一种特定的技术,而是一个技术簇,主要包含以下四类:
键值存储 (Key-Value Stores)
- 原理:类似编程语言中的 Map/Hash,通过 Key 快速读写 Value。
- 代表:Redis, Memcached。
- 场景:缓存、会话管理(Session)、实时排行榜。
文档数据库 (Document Stores)
- 原理:存储 JSON/BSON 格式的文档,Schema 灵活(Schema-free)。
- 代表:MongoDB, Couchbase。
- 场景:内容管理系统(CMS)、电商商品详情(属性差异大)、快速迭代的业务。
列族数据库 (Column-family Stores)
- 原理:数据按列存储,擅长写入和大数据量的聚合查询。
- 代表:Apache Cassandra, HBase。
- 场景:物联网(IoT)时序数据、海量日志记录、用户足迹。
图数据库 (Graph Databases)
- 原理:存储节点(Node)和边(Edge),专注于处理复杂的关系网络。
- 代表:Neo4j, JanusGraph。
- 场景:社交网络推荐、反欺诈风控关系网、知识图谱。
Glossary for Database