Relational Database 关系型数据库

由多张表组成,表之间靠主键/外键建立关联的数据库。 “关系” 不是指”表里的数据有关联”,是数学里 relation 的概念。

跟 NoSQL 对比

Relational(SQL)NoSQL
结构严格的表 schema灵活的文档/键值
关联JOIN通常没有,要在应用层做
一致性强(ACID)通常最终一致
MySQL, PostgreSQL, SQL ServerMongoDB, Redis, DynamoDB

关键特性

  • Schema —— 表结构预先定义
  • PK / FK —— 建立关联
  • JOIN —— 跨表查询
  • ACID —— 原子、一致、隔离、持久

安全相关

绝大多数业务系统底层都是关系型 DB,数据泄露事件十之八九涉及 SQL DB。 SIEM 后端也常用 PostgreSQL 存索引和元数据。