学习了多年的编程、做了多年的项目,数据库也用了多年。但是从数据量、并发用户数方面,一直考虑较少,所做项目大多是面向特定机构、特定用户。这本书可以看作是关于Web2.0项目DB方面的一个指导用书。
第一篇共5章,平淡如水,MySQL基础、架构、存储引擎、权限及备份,和一般的学院派书籍介绍无异。
第二篇共6章,讨论如何优化性能,印象较深的就是讨论范式理论与适度冗余、反范式的权衡,讨论Schema设计时如何综合考虑应用程序架构、考虑数据访问频度、IO次数等,各章的章节小标题经过剪裁,可以作为评审Schema的检查项。第二篇还针对各种SQL语句,提出了优化的基本思路和原则。特别感觉到,要控制性能,还是要与SQL打交道,不能把数据访问逻辑交给OR Mapping就万事大吉了。
第三篇从数据库的架构设计方面,介绍了MySQL Replication、数据切分、Cache策略与第三方Cache产品、Cluster等原理及其实现方法。最后还给出了一些监控MySQL性能的方式及产品。
另外,书中对性能和复杂度的权衡、妥协的策略也是一个亮点。