🗄️ 第七章 用于保护数据库的基础知识-故障恢复与安全措施
📄 一句话概括

访问量涨了只有两条路:纵向扩展=换更强的机器(Scale Up),横向扩展=加更多的机器(Scale Out)——前者简单有天花板,后者能装但难拆。

📝 本节和前面几节的关系

索引(7-7)能救单条慢查询,救不了总量增长:用户翻倍、连接翻倍,单机再快也扛不住。本节讲扩容的两条路线,它是 6-3 成本账(扩容方式影响成本结构)和 2-4 关系模型缺点(「难分散」)的正面回应。

一、两条路线

纵向扩展(Scale Up) 横向扩展(Scale Out)
做法 换更强 CPU/内存/磁盘 加更多机器分担负载
改造难度 低(换机器即用) 高(数据要拆、要同步)
天花板 有(单机物理极限) 几乎没有
成本曲线 越往上越贵(顶级硬件溢价) 累加式,用多少买多少
故障影响 一台全挂 单台挂了还有别的

二、横向扩展的两难:数据怎么拆

三、动手 Demo:判断该走哪条路

书评网站的三个人生阶段:
① 1 万用户:单机+索引(7-7)—— 别过度设计
② 50 万用户:读写分离(纵向→横向过渡)—— 读请求占九成,从库扛读
③ 5000 万用户:分库分表+负载均衡 —— 全套横向
判断顺序:先索引(最便宜)→ 再读写分离 → 最后拆库
── 每往右一步,复杂度翻倍,能不拆就不拆。

【准备块】无——决策沙盘推演。

四、30 秒实验

把「纵向 vs 横向」想成搬家:房间不够住,纵向=把床换成上下铺、再换大房子(总有极限);横向=再买一套房让家人分住(但要决定谁住哪、东西怎么分——分法就是难题)。

五、常见误区

自测三问 1. 两条路线的本质区别?(加单机性能 vs 加机器数量——简单有顶 vs 能装难拆) 2. 关系模型在横向扩展上的短板是什么?(2-4 说的「难分散」——拆库后连接与一致性变难) 3. 扩容手段的性价比顺序?(索引 → 读写分离 → 分库分表,能不拆就不拆)

相关笔记