数据库常识:能在客户面前聊的深度
关系型 vs NoSQL、索引为什么快、事务 ACID、主从与集群——售前对话级的数据库常识。
技术广度基础10 分钟读完更新于 2026-09-11
📌 一句话结论
售前聊数据库,不是去和 DBA 拼调优,而是要在客户问"你们用什么库、为什么这么选、并发够不够"时讲清取舍:记住"关系型 vs NoSQL 选型、索引为什么快、事务 ACID、主从/集群保可用"四件事就够用。
🧠 知识要点
关系型 vs NoSQL(选型话术)
| 维度 | 关系型(MySQL/PG) | NoSQL(MongoDB/Redis 等) |
|---|---|---|
| 数据结构 | 表、行、强结构 | 文档/键值/列族,灵活 |
| 事务 | 强事务(ACID) | 多为最终一致 |
| 强项 | 关联查询、强一致 | 高并发、灵活 schema、易扩展 |
| 典型场景 | 订单/账务/核心业务 | 缓存、日志、内容、画像 |
讲法:"核心交易用关系型保一致,缓存/海量日志用 NoSQL 提性能——方案里常常组合用,不是二选一。"
索引为什么快(一句话)
- 没索引:全表逐行扫,数据越多越慢。
- 有索引:像书的目录,按结构(多为 B+ 树)定位,把扫描降到对数级。
- 代价:索引占空间、写入要维护,不是越多越好。
- 售前一句:"加索引能让查询从秒级降到毫秒级,但会拖慢写入并占空间,所以只给高频查询条件加。"
事务 ACID(背得出就加分)
- A 原子性:一组操作要么全成,要么全不 成。
- C 一致性:事务前后数据约束不破坏。
- I 隔离性:并发事务互相不干扰。
- D 持久性:提交后落盘,掉电不丢。
- 客户场景:"为什么转账必须用关系型?" → 因为钱要 ACID,NoSQL 的最终一致撑不住强一致要求。
主从与集群(保可用 / 保扩展)
- 主从复制:主库写,从库读,读分离 + 故障可切;售前常画进方案的高可用图。
- 集群/分片:数据量大到单机放不下时,按规则拆到多台(分库分表/分片)。
- 高可用话术:"主挂了自动切从,业务不中断;读写分离让并发能力翻倍——这就是方案里的可用性兜底。"
💼 面试怎么问
- "为什么索引能让查询变快?" → 像目录,B+ 树定位,避免全表扫描;
- "关系型和 NoSQL 怎么选?" → 看强一致/关联 vs 灵活/高并发,常组合用;
- "事务的 ACID 是什么?" → 原子/一致/隔离/持久,各一句;
- "怎么保证数据库高可用?" → 主从复制 + 自动切换 + 读写分离。
✅ 自检清单
- 能说出关系型 vs NoSQL 各一个典型场景
- 能用"书的目录"讲清索引为什么快,并说出代价
- 能背 ACID 四个词并各举一句含义
- 能向客户讲清主从复制如何提升可用性和读并发