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) 做了简要说明。

# 02 - Modern SQL

# 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)