《高性能MySQL》(第3版)中文版

历经差不多一年的时间,总算让《高性能MySQL》(第3版)中文版可以和大家见面了,今天Amazon和China-pub已经开始预售,其他网站这几天也都会开始上架。预计4.10可以正式出阁了。

Amazon预售地址
China-pu预售地址
在线试读 第2章 第3章 第4章

翻译是件苦差事,初稿出来后,大规模审稿两三次,身心俱疲,大量内容在审稿过程中都被重新修改润色。直到上个周末,最后又快速的过了一次,修正了几十处不太满意的小地方。只要没有最终正式交付给出版社,每看一遍都能找出很多可以改进的地方。因此,然后已经交付付印,心中依然怀有忐忑,期望不要有误导人的错误遗留其中。

内容简介

《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新MySQL 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16 章和6 个附录,内容涵盖MySQL 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL 和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。

本书不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。

译者序

  在互联网行业,MySQL 数据库毫无疑问已经是最常用的数据库。LAMP(Linux +Apache + MySQL + PHP)甚至已经成为专有名词,也是很多中小网站建站的首选技术架构。我所在的公司淘宝网,在2003 年非典肆虐期间创立时,选择的就是LAMP 架构,当时MySQL 的版本还是4.0。但是到了2003 年底,由于业务超预期的增长,MySQL 4.0(当时用的还是MyISAM 引擎)的很多缺点在高并发大压力下暴露了出来,于是技术上开始改用商业的Oracle 数据库。随后几年Oracle 加小型机和高端存储的数据库架构支撑了淘宝网业务的爆炸式增长,数据库也从最初的两三个库增长到十几个库,并且每个库的硬件已经逐步升级到顶配,“天花板”很明显地摆在了眼前。于是在2008 年,基于PC 服务器的MySQL 数据库再次成为DBA 团队的选择,这时候MySQL 的稳定版本已经升级到5.0,并且5.1 也已经在开发中,性能和特性相对于2003 年的时候已经有了非常大的提升。淘宝网的数据库架构也逐渐从垂直拆分走向水平拆分,在大规模水平集群的架构设计中,开源的MySQL 受到的关注度越来越高,并且一年多来的实践也证明了MySQL(存储引擎主要使用的是InnoDB)在高压力下的可用性。于是从2009 年开始,后来颇受外界关注的所谓“去IOE”开始实施,经过三年多的架构改造,到2012年整个淘宝网的核心交易系统已经全部运行在基于PC 服务器的MySQL 数据库集群中,全部实例数超过2000 个。今年的“双11”大促中,MySQL 单库经受了最高达6.5 万的QPS,某个拥有32 个节点的核心集群的总QPS 则稳定在86 万以上,并且在整个大促(包括之前三年的“双11”大促)期间,数据库未发生过任何影响大促的重大故障。当然,这个结果,也得益于淘宝网整个应用架构的设计,以及这几年来革命性的闪存设备的迅猛发展。

  2008 年,淘宝DBA 团队准备从Oracle 转向MySQL 的时候,团队中的大多数人对MySQL 的了解都非常之少。当时国内技术圈对MySQL 的讨论也不多见,网上能找到的大多数中文资料基本上关注的还是如何安装,如何配置主备复制等。而MySQL 中文类的书籍,大部分还是和PHP 放在一起,作为PHP 开发中的一环来讲述的。所以当我们发现mysqlperformanceblog.com 这个相当专业的国外博客的时候,无不欣喜莫名。同时也知道了博客的作者们2008 年出版的High Performance MySQL 第二版(中文版于2010 年1 月出版),这本书被很多MySQL DBA 们奉为圭皋,书的三位主要作者Baron Schwartz、Peter Zaitsev 和Vadim Tkachenko 也在MySQL DBA 圈中耳熟能详,他们组建的Percona 公司和Percona Server 分支版本以及XtraDB 存储引擎也逐渐为国内DBA所熟知。2011 年12 月,淘宝网和O’Reilly 在北京联合举办的Velocity China 2011 技术大会上,我们有幸邀请到Percona 公司的华人专家季海东(目前已离职)来介绍MySQL 5.5 InnoDB/XtraDB 的性能优化和诊断方法。在季海东先生的引荐下,我们也和Peter 通过Skype 电话会议有过沟通,介绍了MySQL 在淘宝的应用情况,我们对MySQL 一些特性的需求,以及对MySQL 做的一些patch,并随后保持了密切的邮件联系。有了这些铺垫,我们对于在生产系统中采用Percona Server 5.5 也有了更大的信心,如今已有超过1000个Percona Server 5.5 的实例在线上运行。所以今年上半年电子工业出版社的张春雨(侠少)编辑找到我来翻译本书的第三版的时候,很是激动,一口应承。

  考虑到这么经典的书应该尽快地和读者见面,故此我邀请了团队中的MySQL 专家周振兴(花名:苏普)、彭立勋、翟卫祥(花名:印风)、刘辉(花名:希羽)一起来翻译。其中,我负责前、推荐序和第1、2、3 章,周振兴负责第5、6、7 章,彭立勋负责第4、8、9、14 章,翟卫祥负责第10、11、12、13 章,刘辉负责第15、16 章和附录部分,最后由我负责统稿。所以毫无疑问,这本书是团队合作的结晶。虽然我们满怀激情,但由于都是第一次参与翻译技术书籍,确实对困难有些预估不足,加上下半年为了准备“双11”等各种大促,需要在DBA 团队满负荷的工作间隙挤出个人时间,初稿出来后,由于每个人翻译风格不太一致,几次审稿修订,也让本书的编辑李云静和白涛吃了不少苦头,在此对大家表示深深的感谢,是大家不懈的努力,才使得本书能够顺利地和读者见面。但书中肯定还存在不少问题,也恳请读者不吝指出,欢迎大家和我的新浪微博http://weibo.com/NinGoo 进行互动。

  同时还要感谢本书第二版的译者们,他们娴熟的语言技巧给了我们很多的参考。也要感谢帮助审稿的同事们,包括但并不仅限于张新铭(花名:俊达)、张瑞(花名:张瑞)、吴学章(花名:维西)等,彭立勋甚至还发动了他女朋友加入到审稿工作中,在此一并表示感谢。当然,最后还要感谢我的妻子Lalla,在我占用了大量周末时间的时候能够给予支持,并承担了全部的家务,让我以译书为借口毫无心理负担地偷懒。

   宁海元(花名:江枫)
   2013 年3 月 于余杭

1111的疯狂

1111光棍节,已经过去两天了,这疯狂的一天,只有想不到,没有做不到。

淘宝商城的广告早就开始铺天盖地,虽然所有人都知道这一天会有新高,但没有人敢说有这么高:

淘宝商城单日交易额9.36亿,每秒超过2万元交易;2家店铺超2千万;11家店铺超千万;20家店铺过500万;总共181家店铺过百万。

之前我们乐观估计,2倍的业务上涨是可能的,传递到系统,50%的余量应该就足以支撑。回顾梳理我们的系统,今年以来的几个大的改造项目完成以后,50%的余量都不成问题,并且所有的数据库系统都已经拥有超过100%的余量来应对年底的高峰。

但1111当晚0点的iPad秒杀过后,一看数据库指标还是让我心惊,平时已经是低峰时段,秒杀瞬间几个数据库的指标都直冲平时最高峰,不由得为白天和当晚流量高峰有些担心。9点上班,我们技术保障部和核心交易系统几个人临时坐到振飞办公室一起联合办公,为一整天的疯狂准备应急措施。CDN的流量在八点多就已经率先以超过80度的仰角拉升,很快就超过了我们平时的流量高峰,这一下完全超过我们的预期,我们还是低估了广大人们群众的购买力,于是迅速分析如何通过一些措施来优化,扩容以及降级部分应用,来为CDN保驾护航。其中有一些真是“艰难的决定”,所幸直到最后,这些艰难的决定并没有做出。

数据库的指标也在不断攀升,不过我们的商品库,用户库,交易库等核心交易流程相关的库在10月份之前都已经完成了水平拆分和扩容,在这波惊涛骇浪中情绪相当稳定。虽然有一个我们之前预计有100%余量的库在最后超过了100%的压力,不过我们在采取几个轻量级的降级措施之后,也是平安度过。剩下的时间,我们就一边盯着交易监控曲线快速上涨,一边盯着秒杀的整点时刻,这真是一种心惊肉跳的幸福。

七公说,淘宝的技术这次给力了。是的,我们顶住了,10倍的疯狂啊,支付宝也顶住了,旺旺也顶住了,各大银行,虽小有波折,最终也顶住了。这一天,注定将成为电子商务的一个里程碑,这一天,注定将成为淘宝技术的一个里程碑,这一天,我们有幸见证,这一天,我们有幸亲历,这一天,值得记录下来,慢慢回味。

淘宝网招聘MySQL数据库工程师

我不是HR,只是一个普通的技术人员,下面也不是标准的JD,只是我想到的一些要点,如果你能满足其中大部分要求,如果你对运维几百台上千台MySQL数据库有兴趣,如果你对研究MySQL源码有野心,如果你对PostgreSQL有研究,如果你对NoSQL有好奇,请给我简历 jiangfeng#taobao.com 或者 seaman.ning#gmail.com (请将其中的#替换成@),电话初面,合则约见。工作地点可以是杭州或者北京。

如需要进一步了解相关信息,欢迎在twitter或者新浪微博私信给我。

MySQL开发工程师(开发或者修改MySQL相关patch):
1. 对Linux很熟悉,如果有内核hack经验更佳
2. 对c/c++很熟悉,至少写过几千行Linux下的c/c++代码
3. 熟悉gdb调试工具,能debug程序问题
4. 熟悉关系数据库基本原理,了解MySQL/PostgreSQL数据库
5. 熟悉多线程和网络编程
6. 痴迷技术,热爱折腾

MySQL DBA
1. 对Linux很熟悉,会编译内核,了解ext3/xfs/ext4等文件系统
2. 了解c/c++或者java,有过实际编码经验尤佳
3. 熟悉MySQL或者PostgreSQL,有100台以上规模数据库运维经验更佳
4. 熟悉shell/perl/python等脚本语言中的一种,善于利用脚本解决重复问题
5. 痴迷技术,热爱折腾

三年,三十年

今天入职淘宝三周年,想想应该写点什么,却又感到无从写起。三年前,孤身一人,手提肩扛,带着理想,与台风韦帕一道来杭。三年来,机房通宵,办公室通宵,出租房通宵,不知熬过多少通宵;白天告警,晚上告警,节假日告警,不知收过多少告警。三年来,业务上涨,团队壮大。三年来,有过压力,有过欢乐,有过离别,有过重逢。然而回头细想,这些过往,都成了淡淡的经历,无法再浓墨重彩的描述。

杭州三年,爬山暴走,喝茶打牌,工作之外,生活乐趣比起之前在东莞和上海都要多。人生不只是工作和技术,这三年最大的收获,是昨天晚上还在说很少在这个blog中出现的,整天忍受我的懒惰和借口的,为旅游不辞辛劳痴狂不眠的,为装修绞尽脑汁东奔西走的,我的太太。有了你,我的人生从此不同。

杭州三年,感谢生活的眷恋,让我有机会和淘宝DBA团队一起成长。感谢淘宝DBA团队,让我在技术和管理上都收获良多,价值不可估量。

杭州三年,我的人生即将度过三十年。不知道下一个三年,下一个三十年,又将在何方?

是为记。

无觅相关文章插件,快速提升流量