flowchart LR
N0["01 模型与约束"]
N1["02 事务与隔离"]
N2["03 索引与查询"]
N3["04 数据演进"]
N4["05 缓存与搜索"]
N5["06 对象存储"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
数据与存储
从请求、数据与业务边界学到后端架构、可靠性和部署实践
0 子目录3 文档

CHAPTER OVERVIEW · 章节概览
先用模型、约束和事务守住正确性,再根据访问方式理解索引与演进;缓存、搜索和对象存储各有职责。
本章学习路线
箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。
按顺序学习
3关系模型、约束与事务:让错误状态存不进去最后一件商品被两个人同时购买,应用代码都先读到库存为 1,然后各自下单。程序每一步看起来都合理,合起来却超卖。数据库知识不只是会写 SELECT,还包括怎样让并发操作遵守同一套规则。索引、查询计划与数据演进:先看访问方式,再设计表同一个查询在一百行数据时很快,到了几百万行就开始拖慢页面。添加索引可能有帮助,但索引并不是“给每列加一份就会快”:它占空间,写入时要维护,也可能根本没被查询使用。缓存、搜索与对象存储:每种存储各负责什么数据库、Redis、搜索引擎和对象存储经常出现在同一张架构图上,但它们不是四个可以随意互换的“存东西的地方”。先明确数据的事实来源,再安排哪些副本服务哪些访问方式。