数据库选型决策矩阵
候选人小李在字节 P7 架构面中,面试官问:
"你们公司数据库怎么选的?为什么用 MySQL 而不是 PostgreSQL?为什么用 MongoDB 而不是 MySQL?"
小李说:"MySQL 我们一直用,MongoDB 是因为灵活..."
面试官追问:"那什么场景用 Elasticsearch?什么场景用 ClickHouse?"
小李说:"我们好像都有...但不清楚为什么选这些。"
【面试官心理】 这道题我用来测试候选人对数据库选型的理解深度。能说出几种数据库的占 60%,能讲清选型原因的占 20%,能提出系统性决策框架的占 5%。
一、数据库分类 🔴
1.1 按类型分类
1.2 OLTP vs OLAP
二、选型决策矩阵 🔴
2.1 核心决策因素
2.2 决策树
三、场景化选型 🟡
3.1 电商订单系统
3.2 内容管理系统
3.3 物联网数据
3.4 日志分析系统
四、数据库对比 🟡
4.1 MySQL vs PostgreSQL
4.2 MySQL vs MongoDB
4.3 Elasticsearch vs ClickHouse
五、成本考量 🟡
5.1 开源 vs 商业
5.2 运维成本
六、选型 Checklist 🟡
6.1 必问问题
6.2 常见组合
💡
没有银弹数据库。每个数据库都有其适用场景。选型时要根据具体业务需求,而不是"哪个最流行"。
【面试官心理】 能提出系统性选型框架的候选人,基本都有架构设计经验。这是 P7 的水准。