DDIA 第七章:事务|MySQL/InnoDB 实践笔记|2026-09-16
以邮件计数、账户转账、库存扣减、医生值班和会议室预约为案例,系统理解 ACID、弱隔离级别、MVCC、脏读与脏写、读偏差、丢失更新、写偏差、幻读,以及 MySQL/InnoDB 中的一致性读、当前读、next-key lock、2PL、SSI 和 2PC 的工程取舍。
CATEGORY
8 篇相关文章
以邮件计数、账户转账、库存扣减、医生值班和会议室预约为案例,系统理解 ACID、弱隔离级别、MVCC、脏读与脏写、读偏差、丢失更新、写偏差、幻读,以及 MySQL/InnoDB 中的一致性读、当前读、next-key lock、2PL、SSI 和 2PC 的工程取舍。
通过支付超时、重试风暴、进程暂停、Redis 租约、fencing token、网络分区和多数派选举等案例,系统理解分布式系统中的部分故障、不可靠网络与时钟、租约失效、脑裂、系统模型,以及安全性与活性的工程取舍。
以订单系统为贯穿案例,理解范围分区与哈希分区、数据倾斜和热点、文档分区与词项分区二级索引、scatter/gather、固定与动态分区再平衡、请求路由,以及 MySQL 联合索引对 partition key 与 sort key 的对应实现。
围绕数据编码与 Schema 演化,掌握向前/向后兼容、JSON 与二进制格式、Protobuf 字段标签、Avro 读写 Schema,以及数据库、RPC 和消息队列中的安全演化、幂等与扩展—迁移—收缩。
围绕单主、多主与无主复制,掌握同步/异步复制、复制延迟与三种读取保证、故障转移和脑裂、写冲突、Quorum、读修复与反熵、Sloppy Quorum、Hinted Handoff、并发写入与版本向量,以及部分写入失败后的幂等重试和强一致性取舍。
从追加日志和哈希索引出发,系统梳理 SSTable、LSM-Tree、B-Tree、数据库索引、OLTP/OLAP、行列存储与内存数据库,并总结读写空间放大及选型原则。
根据访问模式选择文档、关系和图模型,并区分权威数据与派生数据。
可靠性看故障,可扩展性看增长,可维护性看长期变化。