CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Specialty 数据库入门/课时/何时选哪种库
RawBlame
课时目录12 节

Specialty 数据库入门

  1. 01数据库选型地图
  2. 02图数据库
  3. 03宽列存储
  4. 04文档库扩展
  5. 05列式 OLAP
  6. 06Solr 与搜索
  7. 07Firebase BaaS
  8. 08Oracle 企业库
  9. 09一致性与 CAP
  10. 10何时选哪种库
  11. 11运维与备份
  12. 12综合练习

何时选哪种库

决策树与反模式。

30 分钟

何时选哪种库

Specialty 库再多,落地靠 决策树 + 反模式清单。本课把 sdb-intro 至 sdb-cap 收成 可复述的选型流程,并与 orm-essentials、mongodb-essentials 等主 track 对齐。

学习目标

  • 按数据形状与访问模式走一遍选型决策树
  • 识别「一种库包打天下」等常见反模式
  • 能为小场景写出「主库 + 辅助库」组合及理由

决策树(简版)

需要 ACID 多表事务?
  是 → PostgreSQL / MySQL(orm + postgresql)
  否 ↓
数据主要是文档、嵌套、schema 多变?
  是 → MongoDB;AWS 无运维 → DynamoDB
  否 ↓
读写模式是否固定分区键 + 超高写入?
  是 → Cassandra / ScyllaDB / DynamoDB
  否 ↓
核心是关系遍历(几度路径、推荐环)?
  是 → Neo4j / DGraph
  否 ↓
需要全文/联想/日志检索?
  是 → Elasticsearch(Solr 存量除外)
  否 ↓
亿级行聚合、BI、留存漏斗?
  是 → ClickHouse(ETL 自 OLTP)
  否 ↓
移动端直连、快速 MVP?
  是 → Firebase Firestore + Rules
  否 → 回到关系库或 Redis 缓存(scaling-essentials)

每一步都问:团队能否运维?账单能否承受?有无合规约束?

反模式

反模式为何危险更好做法
用 ES 当主库无事务、丢数据难追PG 权威 + ES 索引
Mongo 存一切报表 JOIN 痛苦核心实体 orm-er 规范化
图库存宽表属性存储与查询浪费图存关系,属性放 PG
跳过 CAP 讨论分区时行为未知写进设计 doc,对齐 sdb-cap
双主乱写冲突不可解单写主 + 读副本 scale-replication

组合示例:内容平台

PostgreSQL  → 用户、课程元数据(cf_track)
MongoDB     → 评论、UGC 草稿
Elasticsearch → 站内搜索、标签联想
ClickHouse  → 学习行为分析
Redis       → 热门列表缓存

各库 边界清晰,CDC/队列同步,避免应用层双写地狱。

练习

  • 为你熟悉的一个系统填决策树路径(至少 4 个节点)
  • 写出一个反模式实例及改正方案
  • 交叉阅读 mongo-vs-sql 与 ddb-intro

小结

决策树 + 反模式 + 多库分工——选型是可文档化的工程判断。 下一课运维:多库环境如何监控与迁移。

加载本节练习…
← 上一课一致性与 CAP下一课 →运维与备份