刚刚读完《Designing Data-Intensive Applications》这本书,感觉好多年都没有读过这样优秀的技术类图书了。知乎上流行一个问题模版叫做“XXX是怎样的体验?”,读这本书的体验,用“酣畅淋漓”形容并不为过。本书从抽象层次上详细讲述各种数据存储,包括关系型数据库、NoSQL、大数据存储、流处理系统等等,由浅入深、拨丝抽茧。我虽然编程多年,各种数据库都有所接触,但是说实话很多内部机制、各种数据存储的利弊、如何取舍都理解得非常粗浅,这本书读下来有一种豁然开朗的感受。推荐所有后端工程师、架构师是都读一下,因为现在的互联网应用,本质上就是一个数据系统:一个浅应用层包裹着的复杂的数据系统,理解数据系统的运作非常必要。这本书的语言流畅,读起来非常舒服。Hacker News对本书评价也非常高:
This book is a modern survey on practical distributed systems. I knew bits of pieces of the material going in, but the way it was brought together was just masterful.
Helps build out that “tree trunk” of knowledge to really grok what’s going on.
This book has a very high ROI and I recommend it whole-heartedly. I can’t honestly name any computer science book where I’ve gained so much in such a small amount of time.
这种一致好评是实至名归的。因为作者Martin Kleppmann在这本书上花费了大量心血,这本书花了几年的时间才完成,尽管作者总是吐槽自己反复拖延工期,但是最终作品质量确实很高。在这个浮躁的时代,能潜心做这样一件事,做到极致,本身就很值得尊敬。
这里挖一个坑,只是为了督促自己回头总结一下本书的精髓。读书笔记写好以后会陆续更新,如果有同学读过本书,有一些自己的总结,也欢迎留言,我会整理发出来。