数据库
数据库(Database)是按照一定结构组织和存储数据的系统,配合数据库管理系统(DBMS)对数据进行增删改查。按数据模型划分,主流数据库分为关系型和非关系型两大类。
关系型数据库
关系型数据库(Relational Database)以表(Table)为基本单位,行表示记录,列表示字段,表与表之间通过外键建立关联。使用 SQL(结构化查询语言)进行数据操作,具备 ACID 特性(原子性、一致性、隔离性、持久性),保证数据强一致。
适合场景: 业务逻辑复杂、需要事务支持、数据结构固定的场景,如订单系统、用户系统、财务系统。
常见代表:MySQL、PostgreSQL、Oracle、SQLite。
非关系型数据库
非关系型数据库(NoSQL,Not Only SQL)不强制使用表结构,根据数据模型又分为多个子类:
| 类型 | 特点 | 代表 |
|---|---|---|
| 键值存储(Key-Value) | 结构最简单,读写性能极高 | Redis、Memcached |
| 文档数据库 | 以 JSON/BSON 文档存储,结构灵活 | MongoDB、CouchDB |
| 列式数据库 | 按列存储,适合大规模分析查询 | HBase、Cassandra |
| 图数据库 | 以节点和边表示关系,适合社交网络等 | Neo4j |
适合场景: 数据结构多变、需要水平扩展、高并发读写、海量数据存储的场景,如缓存、日志、推荐系统。
如何选型
- 数据结构固定 + 强事务需求 → 关系型
- 高并发缓存 / 会话存储 → Redis
- 灵活文档结构 / 快速迭代 → 文档数据库
- 日志 / 时序 / 分析型大数据 → 列式数据库