今天是世界读书日,聊聊对我的技术成长有很大帮助的几本书吧。
入门
1. 《大型网站技术架构:核心原理与案例分析》
这本书的最大特点是通俗易懂,只要有一点点的开发经验就可以读懂这本书。通过这本书,可以很轻易地理解类似于淘宝、京东这样的网站背后是怎么运行的,然后建立起一个比较宏大的视野,了解到自己平时所做的工作在整个团队里的是怎么样的定位。可能唯一的遗憾在于这本书成书于2012年,有些技术已经跟不上现在的技术发展,比如云原生、分布式数据库。
2. 《大数据之路:阿里巴巴大数据实践》
这几年给新大学生培训推荐的大数据领域入门书。《大数据之路》基本上囊括了大数据领域的方方面面,包括数据采集、建模再到应用层。因为这本书里面的提到数据技术部分大部分都来自于阿里内部,导致如果纯从学习技术的角度去看的话,能学习的东西并不多。最有价值的是两个部分:第一个是这本书的目录,通过目录,可以知道对于一个团队而言,大数据到底包括哪些东西;第二个是数据建模这个章节,在这个章节里,阿里提出了“One Data”体系,可以说这个数据模型影响了很多互联网公司的数据建模,值得反复研读。
进阶
3. 《数据密集型应用系统设计》
可以说是大数据系统的神书,没有之一。只要把这本书读懂了,读通了,去看大数据系统、分布式数据库的论文,基本上都很轻松了,看一遍就大概知道论文在讲什么。藉由这本书的给出的基础知识,如果你是一名大数据架构师去给团队做技术选型,只要稍微看一眼数据产品的介绍文档,就大概知道这个数据产品能做什么,不能做什么了。
如果对书的知识深度依然感觉不满的话,还有这本书每一个章节后面给出的参考文献,绝对能让你满意。
4. 《Streaming System》
流处理的圣经吧,这本书从理论高度统一了流处理和批处理的世界。在没有这本书之前,提到流批一体,只有 Lambda 架构或者是 Kappa 架构,有了这本书之后,大家发现原来流和批是同一个东西,并且证明了批处理常用的 SQL 语法也可以应用于 流处理。至今没有一个大数据系统能够完全实现这本书提到的流批一体架构,目前最接近的实现是 Flink。
可惜的是,这本书至今没有中文版。