推荐序
这本书的适合所有后台开发工程师、大数据工程师,也很适合面试前复习系统设计的同学。
什么是「数据密集型应用系统」?
当数据(数据量、数据复杂度、数据变化速度)是一个应用的主要挑战,那么可以把这个应用称为数据密集型的。与之相对的是计算密集型——处理器速度是主要瓶颈。
其实我们平时遇到的大部分系统都是数据密集型的——应用代码访问内存、硬盘、数据库、消息队列中的数据,经过业务逻辑处理,再返回给用户。
《数据密集型应用系统设计》这本书,把所有跟「数据」有关的知识点做了剖析、整理、总结,从一个很高的层次把各项技术的共性和区别讲得透彻。 当我们懂了底层原理之后,就明白了每项技术产生的背景是什么,解决了什么问题,有什么适用场景。
这本书既有理论也有实践,基本没有公式,图很多,阅读起来很流畅,比较容易理解。
这本书分为了三部分: ● 第一部分:数据系统的基石,包括数据模型与查询语言、存储与检索、数据编码与演化; ● 第二部分:分布式数据,包括复制、分片、事务、一致性与共识; ● 第三部分:衍生数据,包括批处理、流处理、数据系统的未来。
阅读资源
这是一些阅读资源:
辅助资料
ddia-references
这个仓库包含了《数据密集型应用系统设计》每章后面的所有参考文献对应的 pdf。 地址是:https://github.com/ept/ddia-references
Book Review
这里有个很不错的 Book Review,是一个小哥讲了《DDIA》每一章的概述,作者很用心。 全英文的,在油管可以看到。地址是: https://www.youtube.com/watch?v=PdtlXdse7pw&list=PL4KdJM8LzAMecwInbBK5GJ3Anz-ts75RQ
连载
后续我会把我读书笔记以及读书感想连载更新,这里是抄的一位大佬的序 https://www.yuque.com/fuxuemingzhu/ddia/kpqcs3