Module 04 · Data literacy for Data Science (Optional)
Relational Database Management System关系数据库(RDBMS)概览
关系数据库是一种将数据组织成表格结构的集合,其中的表格可以通过共同数据进行关联或链接。表格由行(记录/Records)和列(属性/Attributes)组成。
1. 结构与核心概念
A. 表格与关系
- 表格 (Tables): 关系数据库的基本组成单位。
- 行 (Rows): 代表一个记录(Record),例如一个客户的完整信息。
- 列 (Columns): 代表一个属性(Attribute),例如公司名称、地址。
- 关联 (Linking): 表格可以基于共同的字段(如 Customer ID)连接起来,从而实现跨表查询和数据整合,例如将客户信息与该客户的所有交易记录关联起来生成客户对账单。
B. 与平面文件的区别
关系数据库基于平面文件的组织原则(行和列),但相似性仅此而已。
- 优化: RDBMS 为大规模数据的优化存储、检索和处理而设计,而电子表格的行和列数量有限。
- 结构: 每个表有唯一的行和列集合,表之间可以定义关系,从而最大限度地减少数据冗余。
- 数据完整性: 可以将字段限制为特定的数据类型和值,从而提高一致性和数据完整性。
C. 核心技术
- 查询语言: 结构化查询语言 (SQL) 是关系数据库的标准查询语言,具有在几秒钟内处理数百万条记录的能力。
- 安全: 关系数据库提供受控的数据访问和强制执行数据治理策略的安全架构。
2. RDBMS 的关键优势与流行系统
A. 优势
| 优势 | 描述 |
|---|---|
| ACID 合规性 | 保证数据在故障发生时仍能保持准确性和一致性,可靠地处理数据库事务。ACID 代表 Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)。 |
| 灵活性 | 使用 SQL,可以在数据库运行和查询正在进行时添加新列、添加新表、重命名关系等。 |
| 减少冗余 | 通过在主表中存储信息,并在相关表中存储链接(例如 Customer ID),最大限度地减少了数据冗余。 |
| 备份与灾难恢复 | 提供简单的导出和导入选项,使备份和恢复变得容易。云数据库提供连续镜像,可将恢复时数据丢失量降至秒级甚至更低。 |
| 成熟度 | RDBMS 是一种成熟且文档完善的技术,易于学习和寻找合格人才。 |
B. 流行系统
- 本地系统: IBM DB2, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL。
- 云系统 (Database-as-a-Service): Amazon RDS, Google Cloud SQL, IBM DB2 on Cloud, Oracle Cloud, SQL Azure。
3. RDBMS 的用例与限制
A. 主要用例
- 在线事务处理 (OLTP):
- RDBMS 非常适合 OLTP 应用,因为它能容纳大量用户,支持高频率的查询和更新,快速响应,并能高效地插入、更新或删除少量数据。
- 数据仓库 (Data Warehouses):
- RDBMS 可针对 在线分析处理 (OLAP) 进行优化,用于分析历史数据以获取商业智能。
- IoT 解决方案:
- 需要轻量级数据库解决方案,以实现快速收集和处理来自边缘设备的数据。
B. 限制
- 数据类型支持: 不适合处理半结构化和非结构化数据,因此不适用于对这些数据类型进行广泛分析。
- 迁移限制: 在两个 RDBMS 之间迁移时,源表和目标表之间的模式和数据类型需要一致。
- 字段长度限制: 关系数据库对数据字段的长度有限制,输入超出容量的信息将无法存储。
尽管存在限制,RDBMS 仍是处理结构化数据的主导技术,特别是在大数据、云计算和物联网时代。