软件开发者编写代码,最终都是要处理数据,因此数据库是必备技能。
悲剧的是,学校里与此最相关的数据库原理课,对初学者的体验却非常不好。相信很多同学都有这样的痛苦经历:一上来就一通数据库历史,罗列一大堆从来没见过以后也不会见到的各种古老数据库;然后是数学公式密集的关系模型、关系代数,一连串不知道什么用却很难懂的范式……全学完了,数据库咋用、咋编程都不知道,连SQL都只是一知半解。
实际上,学习数据库并不需要这么从懵圈到放弃。最近,美团•大众点评内部成立了数据库俱乐部,多位一线工程师经过一番讨论,总结出影响过自己成长的9本数据库图书,由浅入深,希望能对同学们有所帮助。
入 门
《MySQL必知必会》
《SQL学习指南(第2版 修订版)》
进 阶
《MySQL技术内幕——InnoDB存储引擎》
怎么说,每个行业都有几本被翻来翻去的“街书”,而本书就是MySQL的“街书”,该书目前已经有了三版。
从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB。注重实战,全书辅有大量的案例,可操作性极强。
《Redis设计与实现》
Redis是目前应用最广泛的NoSQL数据库。本书系统而全面地描述了Redis内部运行机制,图示丰富,描述清晰,并给出大量参考信息,是NoSQL数据库开发人员案头必备。
《ZooKeeper:分布式过程协同技术详解》
ZooKeeper是Google的Chubby项目的开源实现,它曾经作为Hadoop的子项目,在大数据领域得到广泛应用。ZooKeeper以Fast Paxos算法为基础,同时为了解决活锁问题,对Fast Paxos算法进行了优化,因此也可以广泛用于大数据之外的其他分布式系统,为大型分布式系统提供可靠的协作处理功能。这本书是实际开发和维护中的一本最佳参考书籍。
强 化
《高可用MySQL(第2版)》《高性能MySQL(第3版)》
《Oracle高效设计》
本书对Oracle及数据库的知识进行了全面深入的讲解,是一本关于Oracle的高级手册。本书内容翔实,实例丰富,语言流畅且浅显易懂,适合作为从事Oracle开发人员的参考手册。
《Oracle编程艺术:深入理解数据库体系结构(第3版)》