# SUMMARY * [简介](./README.md) * [开篇词 | 从今天起,换种方式学存储](./docs/204665.md) * [课前加餐 | 电商系统是如何设计的?](./docs/204667.md) * [01 | 创建和更新订单时,如何保证数据准确无误?](./docs/204673.md) * [02 | 流量大、数据多的商品详情页系统该如何设计?](./docs/204688.md) * [03 | 复杂而又重要的购物车系统,应该如何设计?](./docs/206061.md) * [04 | 事务:账户余额总是对不上账,怎么办?](./docs/206544.md) * [05 | 分布式事务:如何保证多个系统间的数据是一致的?](./docs/207508.md) * [06 | 如何用Elasticsearch构建商品搜索系统?](./docs/208675.md) * [07|MySQL HA:如何将“删库跑路”的损失降到最低?](./docs/210210.md) * [08 | 一个几乎每个系统必踩的坑儿:访问数据库超时](./docs/211008.md) * [09 | 怎么能避免写出慢SQL?](./docs/211555.md) * [10 | 走进黑盒:SQL是如何在数据库中执行的?](./docs/213176.md) * [11 | MySQL如何应对高并发(一):使用缓存保护MySQL](./docs/213230.md) * [12 | MySQL如何应对高并发(二):读写分离](./docs/215330.md) * [13 | MySQL主从数据库同步是如何实现的?](./docs/215383.md) * [14 | 订单数据越来越多,数据库越来越慢该怎么办?](./docs/215815.md) * [15 | MySQL存储海量数据的最后一招:分库分表](./docs/217568.md) * [16 | 用Redis构建缓存集群的最佳实践有哪些?](./docs/217590.md) * [17 | 大厂都是怎么做MySQL to Redis同步的?](./docs/217593.md) * [18 | 分布式存储:你知道对象存储是如何保存图片文件的吗?](./docs/220609.md) * [19 | 跨系统实时同步数据,分布式事务是唯一的解决方案吗?](./docs/221567.md) * [20 | 如何在不停机的情况下,安全地更换数据库?](./docs/221658.md) * [21 | 类似“点击流”这样的海量数据应该如何存储?](./docs/224162.md) * [22 | 面对海量数据,如何才能查得更快?](./docs/224344.md) * [23 | MySQL经常遇到的高可用、分片问题,NewSQL是如何解决的?](./docs/225398.md) * [24 | RocksDB:不丢数据的高性能KV存储](./docs/225400.md) * [结课测试 | 后端存储,100分试卷等你来挑战](./docs/227863.md) * [结束语 | 把奋斗当习惯](./docs/229464.md) * [特别放送 | 如何平衡存储系统的一致性和可用性?](./docs/480532.md) * [特别放送 | 和你分享一个好消息:这门课被出版了一本书](./docs/480527.md)