Abstract
数据库管理系统 (Database Management System, DBMS) 是让应用程序能在数据库中存储和分析查询数据的软件。
Note
在「数据库系统」tag 下的内容,大多为 CMU 15-445 的学习笔记。除非特殊注释,其中内容、例子、资源等来源于该课程。
# 01 - Relational Model & Algebra
- Database 是有组织的数据集合,在其组织过程中会遇到诸多问题。
- 通用的 DBMS 用于在特定 Data Model 下,对数据库的定义、创建、查询、更新和管理。
- 早期的 DBMS 维护成本很高,Relational DBMS 应运而生。
- Relational DBMS 使用的 Data Model 是 Relational Model,这是一种基于关系的 model,我们看到了它的基本思路和相关逻辑。
- Data Manipulation Language 是 DBMS 提供的用于存储和查询数据的 API,在本课程中我们主要讨论 Relational Algebra。
- Relational Algebra。
- 对于一些其他 Data Model (Document / Vector) 做了简要说明。
# 03 - Database Storage: Files & Pages
- disk based architecture:我们假设数据库存储在非易失性存储上,DBMS 需要有组件管理磁盘和内存之间的数据交换。
- Volatile: CPU Registers, CPU Caches, DRAM. Random Access (Byte-Addressable)
- Non-Volatile: SSD, HDD, Network Storage (S3, etc.). Sequencial Access (Block-Addressable)