📁 读书笔记
本分类共 20 篇文章。
为什么每个后端工程师都应该读DDIA?这不是一本讲API用法的书,而是一把打开系统设计思维的钥匙。
数据系统的不可能三角——可靠性、可扩展性、可维护性可靠性、可扩展性、可维护性——这三个词定义了什么是好的数据系统。
可靠性——当故障来临,系统如何 survive?硬件会坏、软件有 bug、人会犯错——可靠性不是让故障不发生,而是在故障发生时,系统能优雅地活下来。
可扩展性——当流量暴涨10倍,你的系统扛得住吗?流量暴涨10倍,系统还能不能扛住?可扩展性不是“无限扩展”,而是“优雅地应对增长”。
存储引擎探秘——LSM-Tree vs B-Tree,谁更胜一筹?数据库底层的存储引擎决定了你写入和查询的速度——B-Tree 和 LSM-Tree 是两大主流,各有各的绝活。
数据模型之战——关系型、文档型、图数据库怎么选?数据模型决定了你如何思考问题——关系型、文档型、图数据库,各有各的战场。
数据编码与演化——如何做到不停机变更 Schema?数据格式变了,代码也变了,但老数据还在、老客户端还在——如何不停机完成这一切?
数据复制——主从、多主、无主三种架构的权衡数据复制是分布式系统的基石——主从、多主、无主三种架构,各自解决了什么问题,又带来了什么新的麻烦?
数据分区——如何将海量数据拆分到多台机器?数据复制解决了高可用和读扩展,数据分区解决了单机放不下的问题——但怎么分、怎么查、怎么扩容,每一个都是坑。
事务简史——从 ACID 到分布式事务事务是数据库最复杂也最核心的话题——从ACID的四个字母到分布式事务的两阶段提交,每一步都是权衡。
分布式系统的“部分失效”——网络延迟、时钟与故障检测在分布式系统中,最可怕的不是整个系统崩溃,而是“部分失效”——你永远不知道一个节点是死了、慢了,还是网络断了。
一致性是一个连续谱——线性一致性、因果一致性、最终一致性一致性不是“有”或“没有”——它是一个从最强到最弱的光谱。线性一致性、因果一致性、最终一致性,分别适合什么场景?
共识算法剖析——从 Paxos 到 RaftPaxos 是分布式共识的理论基石,Raft 是工程实践的黄金标准——从 Paxos 到 Raft,共识算法走过了从“可证明”到“可理解”的进化之路。
批处理——MapReduce 及其超越批处理是数据系统的“压舱石”——从 Unix 管道到 MapReduce,再到 Spark 和 Flink,批处理的演化史就是大数据技术的缩影。
流处理——从 Kafka 到 Flink,实时数据处理的演进从批处理到流处理,从 Kafka 到 Flink——实时数据处理如何从“每秒跑一次批处理”演变为“事件发生时立即处理”?
数据系统的未来——Flink、Snowflake 与 AI 时代的挑战从 Flink 3.0 到 Snowflake AI 数据云,从 Agentic Streaming 到统一智能底座——数据系统正在被 AI 彻底重塑,我们正站在一个范式跃迁的临界点上。
NoSQL、NewSQL 与数仓——数据系统生态全景图从 NoSQL 的弹性到 NewSQL 的强一致性,从 OLTP 的实时到 OLAP 的分析——数据系统是一个丰富多彩的生态系统,每种系统都有它最擅长的战场。
DDIA 核心思想串讲——全书知识体系一张图十四篇文章,十四个主题——今天我们用一张全景图把 DDIA 的所有知识点串联起来,看看它们之间到底有什么逻辑关系。
从理论到实践——如何用 DDIA 的思维做技术选型?理论知识学完了,但面对真实业务场景时该怎么选?这篇文章用一个完整案例,带你走一遍 DDIA 思维框架下的技术选型全流程。
读完后该读什么?——DDIA 延伸阅读指南DDIA 读完了,然后呢?这份延伸阅读指南帮你规划从理论到实践、从广度到深度的下一步学习路径。共 20 篇文章
