骐骥一跃,不能十步;驽马十驾,功在不舍。
——《荀子·劝学》
IT是个知识更新十分迅速的行业,IT人士除了掌握基础知识,还要经常关心技术动态和身边不断涌现出的新技术,不然就会有落伍的可能。作为一个典型的摩羯男,我有着一颗不安于现状的心,想要不断超越自己。要收获就得有付出,还是努力充电吧,打好基础才能有资本去迎接挑战。比如,Pragmatic Programmers建议每年学习一门新语言1,所谓他山之石可以攻玉,就算没机会在工作中用到它,其解决问题的思路也值得借鉴。
1. 以前一直以为这是Martin Fowler的建议,在自己写的第一篇译者序里还用到了这句话,但在上次Martin Fowler来华时,他指出这其实是Pragmatic Programmers提出的。——译者注
我的选择有所不同,大约五年前,我给自己定下了一个目标,在自己30岁之前,每年翻译一本书。一来借翻译之机深入学习一些东西,二来可以帮助更多的同行。也许是摩羯的坚持,经过几年的努力,我终于可以为这个计划画上一个句号了。没错,你所看到的这本书就是我30岁计划的收官之作。希望本书能帮助你了解、学习、掌握MongoDB,如果能帮助在工作中解决实际的问题,那就再好不过了。
“云计算”、“大数据”和“NoSQL”都是近年的热点名词,本书的“主人公”MongoDB和这些名词都能扯上关系,加之它和传统的关系型数据库有着这么多相似之处,实在是没办法忽略它的存在,就算用不上,也该好好了解一下。在网上读了不少文章,也对MongoDB有了一个大概的认识之后,是不是会期待有一本书能将众多知识点集于一身,层层深入,融会贯通?《MongoDB权威指南》当然不容错过,不过薄薄一本小册子难免无法深入展开,而且从它出版之后,MongoDB也发生了不少重大变化。也许可以考虑一下这本书,本书作者同样来自MongoDB背后的公司10gen,而且写作上符合in Action系列的一贯风格,内容由浅入深,注重实践。无论你是想了解MongoDB的使用方法还是具体实现细节,无论你是开发者还是DBA,都能在书中找到需要的内容。
我总是喜欢看些“失败案例”或者“重大故障”,比如著名的Foursquare在MongoDB上就吃过不少苦头,具体的细节我就不再赘述了。总之,在部署MongoDB时一定要多加小心。那么到底该如何进行调优,怎么处理复制和分片,怎么维护集群呢?如果对MongoDB已经有所了解,可以直接翻到对应的章节,本书的后半部分每章都独立成篇,你可以直奔主题,选择性地阅读需要的部分。
在翻译过程中,不断有人问我什么时候可以出版,我只能回答还得再等等,因为我从年初开始花了整整7个月的时间才完成了全书的翻译,所以只能对读者说抱歉了。本书能与各位读者见面,离不开图灵公司各位老师的辛勤付出,还有我的各位好友在翻译过程中提供的各种建议。今天正好是七夕,在这个特殊的日子里,我还要感谢一下我的新婚妻子,她一直默默支持我,让我做自己想做的事,本书也有她的一份功劳。
虽然花了这么多时间仔仔细细地进行翻译,不过碍于本人水平有限,如果你在阅读过程中发现什么问题,还望能够不吝赐教,比如通过图灵社区(http://ituring.com.cn),或者新浪微博(@DigitalSonic),先行谢过各位。
丁雪丰
2012年8月23日于上海