You are on page 1of 16

阿里巴巴离职 DBA 在 35 岁总结的职业生涯

导读:

去年很多朋友私下或新浪微博上在总结自己的职业生涯与职业规划,也感觉到很纠结与彷徨,尤其技术人
的职业生涯,随年龄增加,一些优势逐渐丧失。4 月 13 日数据库技术大会的主办方举行的晚宴上,也让本
人支持一个大家感兴趣又贴合实际的话,话题是:三十岁后的 IT 人如何抉择人生路,遗憾的是预订酒店饭
桌是几个房间打通的,而不是一个大厅方式(总共:8 桌),大家无法围绕在一起,为此只是小范围讨论
了下,今天看到曾经阿里巴巴数据库团队的海波兄弟总结分享,非常有意义,转载给大家共同欣赏!

十五年前,你或许还不懂爱情,看 Jack 和 Rose 执手相看泪眼,只是蒙胧的心痛。十五年后,你会和谁一起


走进影院,更会和谁一起,走到生命终点。

十五年前,我还不太懂技术,凭兴趣玩着 C 语言。十五年后,当铁达尼的旋律再次响起,我会选择和哪门
技术,一起走到我职业生涯的终点。

序言

—- 回望雨中的园区,更是回望来时的路。

此时天空飘着小雨,正如丝丝织雨细如愁。我刚刚离职,一路走出园区,回望了一眼雨中阿里巴巴的大楼,
思绪随着微风,四处飘散。突然想起几年前我刚到杭州哪天,也是细雨微风。我走进城西的创业大厦,终于
见识了大师 Biti 的风采,也从此开始我的阿里巴巴之旅。

杭州的特点,是隐匿在山青水秀之间,有很多雅至的主题饭店,团队第一次出外聚餐,就是在山间绕来绕
去,最后到了一处青山环绕、绿水长流之处。Biti 在会议上就“什么是架构”进行了精彩的评论,高度已经超
越普通技术人员,至今我仍记忆犹新。但不久之后,Biti 调至支付宝,真是遗憾。而这让我面临了空前巨大
的压力,因为 Biti 一走,我变成了团队级别最高的 DBA。初来乍到,入职刚满一月,忽然成为阿里系一个
子公司的“首席 DBA”,惊喜之余,感觉压力之大、常常令我透不过气来。不过还好,时间总一晃而过,此时
此刻,刚刚走出阿里,掏出手机,拍了一张照片,算作我在阿里的留念,更是我人生一段最重要经历的留
念。

回望雨中的园区,更是回望来时之路。…………

来时之路:硅谷,IT 传奇的开始。

—- 人可以依靠梦想活一段时间,但不会一直下去。

“坐落在纵横交错的高速公路之间的,是巨型的商业园区和简陋的三卧两浴的平房住宅,其间最高的建筑
是变电站的铁塔和架着电话线的水泥杆子。真正的工作是员工们在简陋的、用屏风隔开的小办公室里,眼睛
盯着电脑屏幕静静完成的。每个人都试图做一些前人没有做过的东西。”

这就是李彦宏在《硅谷商战》中谈到的硅谷的样子。

曾经有两个在一家公司供职的工程师,去找硅谷著名的投资家史蒂夫·朱维森,这位资深风险投资家对他们
提出网上数据库系统并不感兴趣,他问:“你们还有其他主意吗?”

其中一个叫比尔·巴迪亚的工程师就说,他还想通过因特网来提供免费的电子邮件账户,从网上广告为获取
收入。10 天之后,朱维森连商业计划都没要便掏出 30 万美元帮助他们成立了 Hotmail 公司。Hotmail 后来以
10 亿美元的天价卖给了微软公司。

这在当时看来有些离谱,但这样的故事到处流传,充斥着各类励志杂志,也充满着我的心。

世界上赚钱的公司多的是,但没有哪家公司的口号是改变世界。看看现在的 IT、互联网公司,每个公司的口
号中几乎都包含着改变世界的梦想。而且从微软、苹果这类老一代革命家,到 Google、Facebook 这类硅谷新
星,也的确有很多家公司或多或少的改变了世界,或至少是深深影响了世界。

IT,互联网,这是一个传奇的行业。当我的手抚过键盘,当眼光划过满屏自己写的代码,澎湃的激情,从
来都没有息灭过。但无论多大的激情最终都会有息灭的时候。人可以依靠梦想活一段时间,但不会一直下去。

1996 年,我职专毕业。职专,是差等生的代名词。职专生的梦想,一般都是成为某武侠小说的男主角,有一
个酷酷的名字,有一堆惊艳的红艳。我也不例外。但这一切,在 96 年的夏天到来时,突然中止了。原因我应
聘到了一个很小规模的计算机培训中心—“辰星计算培训中心”。还有,我看了辰星书柜中的电脑报合订本。

有一篇故事我仍然记得,《软件辉煌》,其中详细讲述了盖茨创办微软的经历,还有 Word 的开发历程,…


…。一群大男孩,用电脑改变世界。美国,硅谷,IT 界,从来都不缺这样的故事。虽然这样的故事从来没有
在东方某个伟大的国家发生过。

合上电脑报,一个想法出现在我的脑海中,哪就是我要做中国的比尔。盖茨。年轻人总有梦想,不是吗?

一年后,1997 年的夏天,四个辰星公司的“核心”员工,告别辰星,踏上创业之路。四人熟读微软、乃至硅谷
的历史,这些历史让他们热心沸腾。

40 年前,晶体管之父肖克利博士的故乡,美国西海岸的圣克拉拉,八名怀着梦想的年轻人离开肖克利半导
体实验室,创办了可谓硅谷摇篮的仙童半导体公司。这就是著名的八叛逆。而我们,则自许“四叛逆”。

我们在和辰星仅一墙之隔的地方,买了二十台电脑,投资达十万,创办了红星计算培训中心。哪一年,我
们十八岁。

光辉岁月

—- 青春总是这样苦涩,但在长长生命之中,装在记忆这个坛子里,慢慢的发醇,最后却能化为无比的感
纯。这或许就是生命的魔力。

………………

梦想总是遥不可及

是不是应该放弃
花开花落又是一季

春天啊你在哪里

青春如同奔流的江河

一去不回来不及道别

只剩下(平凡)的我没有了当年的热血

看那漫天飘零的花朵

在最美丽的时刻凋谢

………………

红星的创办,让我们的年青岁月,都达到了顶峰,此后再无超越。我们在同学中间成为传奇,成为创业的
典泛。甚至有同学的同学,还幕名前来,向我们请教人生。

在红星除了讲课,我们还为一些传销公司开发核算、财务软件。我还用 C 和汇编,写各种有趣的程序。我用
汇编写过一个 DOS 下内存驻留的程序,写完很有成就感,自信潢潢。但转念一想,要学的东西如此之多,
不知何年何月才能学完,霎那间又充满急燥。

那段青春岁月真是难以形容。快乐与泪水,自信与自悲,坚持与彷徨,……,各种各样的感情交织着,匆
匆的,过去了,不再来。

寒来暑去,花儿谢了又开、开了又谢,时间就如同夏日傍晚的凉风,轻轻的带走了岁月,只给人留下,多
样的回忆,哪怕这回忆是如此的沈重。

小学三年级时,还是 1987 年,我在书店看到一本书,作者是诺查丹马斯。书中详细介绍了他的一系列预言,


从狮心王理查的死期,到西特勒的出现。当然,最后是 1999 年人类大灾难,恐怖大王从天而降。很不巧,
当时哥哥刚刚带我看完电影《超人》。超人故乡星球毁灭的特效,虽然在现在看来虽然拙劣不堪,但当时强
烈震憾了我幼小的心灵。如今再看诺查丹马斯的预言,我几乎已经看到了地球在强烈的地震、大火中,变为
一片废墟。出了书店,我万念具灰。我马上找到我的一众好朋友,将这个恶耗讲给他们:“我们只剩 12 年好
活。”,未了,看着他们一个个脸如死灰,我却突然心情大好起来,悠载悠载的回家写作业去也。有了这种
经历,使我完全相信微博上的一句话:不要向任何人诉苦,因为 20% 的人不关心,剩下的 80% 听到后很
高兴。这是题外话,我们继续。

12 年后,1999 年到了,我却再无所谓。或许大家一起死了,比我迷茫的活着更好。曾经辉煌的红星,只不
过几年,便已面目全非,曾经的朋友,分道扬镖。在千禧年来临的前夜,我和几个同样迷茫的年青人,喝
着劣质的白酒,挥洒着青春,也挥洒着生命。

青春总是这样苦涩,但在长长生命之中,装在记忆这个坛子里,慢慢的发醇,最后却能化为无比的感纯。
这或许就是生命的魔力。

我相信人生是一段段例行公事,一段忙完又一段,直到尽头。在红星的大门关上哪一刻,我告诉自已,一
段生命结束了,要开始新的一段了。

2000 年春暖花开之际,我踏上新的征程。通过以往学员的关系,到了我市一家百年老字号—五福糕点,做
学徒。强烈的急燥心理,令我急切的寻找一条可以快速发家致富之路,我当时的选择是:糕点师。但我并没
有忘记我的梦,我的盖茨之梦,我的程序员之梦。2000 年周星驰贺岁片《喜剧之王》上映,其中一句“我是一
个演员”,深深打动了我。我想,或许有一天,别人吃着我做的极品慕丝,我却告诉别人:”其实,我是一
个程序员”。

罗红可又先做糕点,开好利来,赚了钱再当摄影师,我也可以。成长就是这样,我的目标,已经从创办
Intel 的肖克利八判逆,或盖茨等世界级大腕,变成了中国人罗红。其实,极便是罗红这样的成就,也是高
高在上的。所又,我成熟了,但还不够成熟。我想成为一个不普通的人,原因就是我是一个太普通的人。

几个月后,我放弃糕点,拎起菜刀,成了一个饭店的帮厨学徒。

几个月后,我放下菜刀,在路边摆摊买精品。

几个月后,我开了一家精品店。

几个月后,精品店倒闭,我赔光了所有钱。

这就是成长的代价。路不去走,就不知道原来走不通,更不知道哪条路可以走通。

其实,在这一年左右的时间中,也不是没有收获。在饭店做帮厨学徒时,我认识一个厨师。当其他厨师都是
打台球、或站在街边对着过往的美女吹口哨时,他在练习刻花,或者学习。他说,他的目标是要上天津一所
厨师大学。我们一直保持着若有若无的联系,我要看看他的坚持是否会有结果。我想,他也这么想的,他也
想看看,我的坚持,会不会有结果。因为,无论在干什么,我也从没有中断学习。我不会吃口哨,台球打的
也不好,他在苦练刻花时,我通常会拿起严蔚敏《数据结构》、同济大学版的《离散数学》等等。从 96 年到现
在,从我看完比尔。盖茨故事哪一刻起,无论的目标如何变化,我可以自豪的说,我的 IT 梦,从没有一天
停止过。也从没有在哪个阶段,停止过学习。

还在五福糕点时,虽然这个决定有点晚了,但我还是决定放下 DOS。开始看《Windows 程序设计》这本号称


Windows 下的圣经。当我拿起菜刀时,同时,严蔚敏的数据结构,已经开始看第二遍了,这本书后来成为
我走北上、南下必带的书。而在精品店时,对于始终不明所又的编译原理,我也没有放弃,买了本号称龙书
的,但我最终对编译原理还是不明所以……

4 年后,那名厨师告诉我,他并没有去上厨师大学,他在北京的一家饭店,一个月已经拿到八、九千块。6
年后,他仍在北京,但薪水已经到达一万五了。到我入职阿里巴巴高级数据库专家时,他已经到了广州,
薪水和我在阿里不向上下。之后,我们失去联系,不再有彼此的消息。因为我们在各自的身上,都已经找到
结果。

残酷的青春
  —- 在某一阶段,或许我们在寻找的和拒绝的都是自己

  中国最神密的部门是有关部门,最危险的工种是临时工。2001 年的夏天,我来到郑州,到了我向往以
久的事业单位,省计算中心,可惜从事最危险的职业:临时工。

从小,妈妈就教导我:“要好好学习,长大了进事业单位,有个铁饭碗。”

我问妈妈:“为什么只有事业单位才有铁饭碗,其他的就没有吗?”

“其他单位会破产啊,效益不好会倒闭,发不下工资。”妈妈没加思索的回答我。

我又不理解了,“哪会为什么事业单位就不会效益不好呢?”

“事业单位是国家吗,国家可以印钱啊。钱不够了就印。所以事业单位永远都不会缺钱。”妈妈回答我。

我想起阿甘正传中的一句话,Momma always had a way of explaining things so I could understand them. 妈妈


总是有办法让我明白道理。

妈妈的目标,就是让我能进事业单位。现在,我终于进了,这多亏了一个亲戚。但我只是个临时工。我的工
作是讲课,还有为其他各个大小企、事业单位开发各种程序。我在计算中心一共待了 7 年,前 2 年,都是作
为程序员,后来才转 DBA。那两年,我也为河南的不少企、事业单位开发了大大小小不少程序。现在想想,
还有些后怕。常常午夜梦回,惊出一身冷汗。万一哪天我当年写的程序有问题,会不会被跨省追捕回去。或
许我下半辈子最好待在,和中国没有引渡协议的国家,才能真正安全。

事业单位大家都互喊老师,在阿里的时候,大家都互喊同学。所以后来到阿里后,感觉年青了几岁,哈哈。
在事业单位,正式的愁每天无事可做,临时的愁每天有太多事要做。常常一个上午跑两个单位解决问题,
下午又要回去参加会议、讨论新软件的架构。在马不停蹄的忙碌中,我一直在考虑我将来的发展。谁都明白
一个道理,如果想从一个行业中脱颖而出,只有两种常见的可能:要么技术牛 X,要么占得先手。技术牛 X
这个,不容易做到,所以,对我来说,取得成功的最简单方法只有一个,“取得先机”。

我们都明白一个很简单的道理,当火焰烧起来的时候,你才想到去加柴火,只能收获一堆灰烬。于是,我
开始以我自己的判断,从众多的技术种类中,找到一个还在发展中的技术。

经过苦苦的寻觅,了解了众多专家学者的一直看法,我选定了承载我希望的东西—-VRML。VRML 是
HTML 的 3D 版,当时一些专家预测,未来的网页,都将是这个样子的。

想想看,3D 的网页,酷吧。打开网页,首先看到一扇门,用鼠标点一下,门打开了,随着鼠标的移动,你
的虚拟形象走进房间,这是一个客厅,有三三两两的网友进进出出,大家互相在聊着天,还有几个网友在
角落中私聊,…………,怎么样,这样的网页够酷吧。

那是 01 年的仲夏,傍晚的凉风,让经历了一天酷暑的人,感到格外轻松。夕阳西下的天边,还飘着几朵云
彩,恰到好处的点缀着色彩绚丽的天空。我骑着自行车,轻松的穿行在大街小巷。我的心情格外的好,因为
我刚买了一本书,是专门讲 VRML 的。而且,我找遍了整个书店,只找到一本关于 VRML 的书。这更加证
实了我的猜想,VRML 目前还比较小众,是一门方兴末艾的技术。只要抓住时机,在 VRML 全面代替
HTML 前,将 VRML 学的比较精通。等到 VRML 大行其道时,我的名字将随着 VRML 一起,响彻全国。哈
哈哈哈,……,想到末来的美好前景,我几乎忍不住要逛笑起来。但命运如同横穿马路的汽车,在你得意
忘形时,将你的梦想击的粉碎。

2004 年,一晃三年过去了。HTML 势头不减,Flash 红遍国内,之于我的未来希望:VRML,不提也罢。这


从一个测面证明,不要相信所谓专家、学者的预测。绝大多数的预测,都是错误的。就像 IBM 创史人托马
斯·沃森曾经作出了:“全球只需 5 台计算机”的预言一样。专家对未来的预测,往往是不靠谱的。企业家公开
发表的预测,往往更不靠谱,他们的预测是为了对他们的产品和市场策略作宣传。就如同早些年 Larry
Ellison(拉里。埃里森)将预言未来 PC 将不再是主角,NC(网络计算机)都是主流。可惜早些年我不明白
这些道理,浪费了几年时间。

如果能成功的抢占“先手”,无疑会以最小的代价、获得最大的成功。但是,如果你自以为是“先机”的东西没
有发展起来,一切都将是竹蓝打水,一场空。

抢得“先手”固然可以使用自己更快的功成名就,但刻意的去抢,往往适得其反。成功抢得“先手”,这是上帝
赐给你的礼物,可遇而不可求。这段经历让我明白,不要刻意追求快,欲速则不达,还是一步一个脚印来
得稳托。

其实仔细想一想,历史上固然有比尔。盖茨、乔布斯,有 Google、FaceBook,等等人或者公司,以创新、抢
先赢的市场和尊敬。但是,成功的人一定都是少数,还有更多的人,同样的才华横溢、同样的聪明无比,但
是,他们的创新、他的“先机”,都失败了。历史不会记得他们,因为,历史,是胜利者的丰碑。

硅谷的风险投资商厉害吧,他们肯定不会将钱随便投给不靠谱的人、不靠谱的项目。但是,即使经过硅谷风
投认定靠谱的事,成功率仍只能达到 20% 左右,80% 的失败者没有人会记得。

几年的坚持,几年的努力,只不过去学了一个毫无用处的东西。其实从 03 年开始,我就想过要放弃,我可
能压错了宝、选错了方向。无数个夜晚在孤灯前学习,换来的只是毫无价值的技术!

我的内心,很不愿意承认这个实事。人有时候最难否定的,就是自己。一直坚持到 04 年,还是一个仲夏的
傍晚。依然是凉风习习,天空依然是绚丽多姿。我沿着金水河随意的漫步,我想,是不是要放弃了。一根接
一根的抽着烟,买了几罐啤酒,一罐接一罐的喝着,夕阳将我的影子拖的老长老长。在某一阶段,或许我
们在寻找的和拒绝的都是自己。你认为它错了,后来发现又对了,释然之后,你担然承认,自己执着了。错
和对重要吗,关键是它过去了。

是的,过去了。

这之后不久,因为工作需要,我开始接触一个新的东西,Form 和 Report,是一种很少人听说的,一种叫
Oracle 数据库的开发语言。各种语言对我来说是驾轻就熟,除了安装配置,这两种语言的开发,我很快就
撑握了。我的历史,也因为这两个东西而转折。

  灯塔:ITPUB

  04、05 年,我一直在做 Oracle 开发,主要使用的就是 Form、Report,当然,还有 OCI。在一些项目中使


用 OCI,纯粹是出于对 C 语言的偏爱。其实大多数我们的软件,可以全部使用 Form 和 Report。

我从开发转型为 DBA,是一个很偶然的事件。04 年底,在给海关做一个项目时,认识了一名搞网络的技术


人员,他刚刚考过 CCNP,正在向 CCIE 努力。当时,我从没想过要考什么认证,因此,也不了解这些认证。
听了 CCIE,也没什么概念。他跟我讲,Oracle 有一个很牛的认证,OCM。考过了后可以身价倍增。我回去
在网上查了一下,说是当年亚州只有 4 名 COM 等等,总之就是很牛*。这个结果令我大吃一惊,我没想到
一个认证,能有如此难度与作用。从此,我开始了我的转型之路。

其实我们单位从 02 年就开始使用 Oracle,几年下来,也基于 Oracle 开发了不少项目。很多地方有时也要求


我们在项目交付的同时,提供容灾、高可用方案。但这些是我不肖做的。曾经的我对 SA 和 DBA 是如此的不
肖一顾,“只是搬搬机器、装装系统的民工”。我的梦想是创造,创造独一无二的程序,获得巨额风投,凭一
已之力改变世界,我能,我可以。当梦想的浮华散去,我发现,8 年过去,我仍站在原地。

我是从备份、恢复切入到 DBA 这个行业的。04 年底,我们为海关做了一个项目。项目完成后,我为他们搭


建了 DataGuard,同时,写了个脚本每周未备份 DataGuard。当然,在项目软件中我也做了个按钮,如果需
要,他们可以随时点这个按钮触发对备库的备份操作。软件中还有个按钮是将备库直接激活的,激活之后,
备库要重搭,并且,如果 Redo 文件有问题的话,激活会丢失些数据,不过,这个项目的数据丢掉些他们
可以接受。整个这些东西,我做为了高可用、容灾的方案,浓重的写进项目文档。当然,免不了介绍的天花
乱缀。哪个时代,大家对 Oracle 都没有什么概念,你只要能把库装上,都会有人说你牛。客户测试了备份、
切换这些功能,再加上看了我天花乱缀的文档,对于灾备方案、高可用方案非常满意。我们领导后来得知这
一情况后,专门问我是否有意转型做 DBA,我自然没有问题。我已经厌倦了开发,或者说,厌倦了老是为
了别人的需求,开发程序。听说 DBA 还算轻闲,我计划转做 DBA,再利用剩余时间开发自己的程序。但不
可否认的是,Oracle 是有它独特的 Mei 力的。随着对 Oracle 学习的越来越深,我慢慢的发弃了我的开发梦。

这一切的转变,都是很自然的,自然到我每每想起,总觉得那是命中注定。

数万年间我和 Oracle 相遇了,没有早一秒,也没有晚一秒,哪也没有别的话说,唯有说一句,原来你也在


这里。

海关的项目之后,我开始考虑,如何让用户的数据在切换时也可以保持不丢。最后考虑的结果很简单,就
是将 Redo 每组中设两个成员,每个成员都在不同的存储上。但当时有记得有人说这样做会对性能有影响,
即使存放日志的两台存储一模一样。但也有人说没有影响。我在网上查了很多资料,大家的说法,莫衷一是。
最后经过测试,结论很简单,有影响,但影响不大。对于这个结论,我想大部分读者也不会满意。到底影响
在什么地方呢?

每组中两个成员,每个成员在不同的存储中,存储性能是一致的。说这种情况下写 Redo 性能不会有影响的


人,主要是认为 LGWR 会同时写两台存储中的两个 Redo 文件。如下图所示:
但是,我们考虑一点,LGWR 进程只有一个,存储有两台,向 A 存储写和向 B 存储写,必然是两条语句,
一个进程怎么可能同时执行两条语句呢。所以,上图不对,应该如下图所示才是:

LGWR 发送命令写 A 存储中的 RedoFile,不必等待写完成(因为是异步 IO),LGWR 再发送命令写 B 存


储中的 RedoFile。LGWR 只有一个进程,不可能同时发命令写 A 存储和 B 存储中的两个 Member,只能逐
个来。但因为 I/O 是异步的,向 B 存储中写 Redo Member,不必等向 A 存储中的写操作结束,而是如图中
所示,有部分操作是平行的。

从总的时间消耗上看,图 1 中错误的理论,共耗时 1.002 ms, 图 2 中正确的理论,共耗时 1.003 ms。当然


时间是我随意加上去的,但对于现代的计算机系统,“发出一条命令”,“接收一个通知”,消耗 0.001 ms 应
该是过高的估计了。 写磁盘的 1 ms,应该是差不多了,大部分数据库写日志的响应时间,应该都是几 ms
左右的。

通过上面两个图的分析,可以得出结论,让 LGWR 写两个存储,对性能有影响,但影响不会太大。多了图


2 中最后一阶段的操作:“B 存储向 LGWR 发出写完成通知”。

有了这个结果,再后面的容灾架构,如果客户要求不丢数据,我都要求客户准备两套一模一样的存储,每
个日志组的两个 Member,分别放在不同的存储中。后来 DBA 逐渐增多,客户哪里,会有自己的甲方
DBA,对于灾备系统,当我提出要两台一模一样的存储时,一些客户会有疑问。我会详细解释 LGWR 的原
理,其实,向客户解释的过程,也是传播自己思想的过程。向客户解释的原理越多,客户对我的信任感也
越强,后面的事情也越好办。

这些经历,也直接促成了我后面的学习习惯—-重视原理。虽然原理这东西很虚无,但为了更好的说服客户、
取得客户的信任,有时我不得不向客户解释这些东西。

说点题外话,总有人问研究内部有什么用,我觉得最重要的作用就是,可以更好的忽悠客户。

哈哈,这是玩笑话,有用没用看自己爱好。有兴趣就去研究,没兴趣就去做别的。这个问题不必纠结。

如果真有兴趣去研究了,也一定会有回报。如果没去研究,也可以当好一名普通的 DBA。

言归正传,能为客户解释这么多东西,有一个网站功不可未,就是 ITPUB。我 05 年注册了帐号,此后,只


要有疑难问题,第一时间先上 PUB 上搜索。PUB 成为了工作、学习必不可少的网站。但是,我很少在 PUB
上发表什么,因为我自己的功力尚不足,怕写出错误的东西,耽心影响大家。但看了哪么多好帖,从来没
有回过帖,现在想来,也让我心中不安。于是从去年开始,我开始将这些年的积累逐步总结出来。我相信一
个道理,有一个农场主,得到了一种优良小麦种子,但他不懂得分享,只在自家的地里种这上了这种优质
小麦。收获季节到来时,结果他的优质小麦表现并不如何的好。他很不理解,就去请教一位专家。专家了解
了情况好告诉他,只他自己种优质小麦,面积太小,旁边别人普通小麦的花粉,会被传播到他的优质小麦
中,结果,影响了他的优质小麦的质量。第二年,这位农场主将自己的优质小麦种子分享给旁边其他的农
场主。由于有了足够大面积优质小麦的花粉,到了收获季节,大家都获得了大丰收。现在时间已经成熟,我
会慢慢将一些心得分享出来,

希望和大家一起研究、一起进步、一起丰收。

在乙方工作哪段时间,对于工作,我只有一点感触。每天,我并不是为了单位而工作,我是为了自己而工
作。只有自己的技能获得提升,才是关键。我会选择个别库做为观察对象,进行深入、细致的分析,以此来
煅炼技能。但人的精力是有限的,再加上单位给的福利待遇也不高,所以大部分库,只要客户不找我,我
也不去找他们。
从 07 年开始,单位成立专门的数据库运维团队,决定让我作为团队的 Leader。我的工作重点,从单纯的技
术,慢慢变成了开会,参加各种会议。有些人对此乐此不疲,但我很不习惯。大家把活推来推去,把功劳争
来争去。不单要开会,还要培养新人。慢慢的,一些库分给其他人管理,使我可以专心去“开会”。很长时间
里,我无心从事技术,脑子中之想着明天要参加已经开了好多天的某项目架构大会、要最终确定下来的某
事故改进会议、……

我心目中的管理会议是这样:

实际上的会议是这样:

哈哈,我承认图有点夸张。我实在不适合做扯皮这样的事。或许随着我年龄的进一步增长、技术实力的进一
步加强。技术上已经没什么可学的了,活也干不动了。每天开开会,扯扯皮,还有点意义。现在,这绝不是
我想要的生活。古人都说,“学而优则仕”,我学还没有优呢,如何去入“仕”呢。

07 年我技术进步缓慢,如果一直这样下去,我不知道,如果有一天单位辞掉我了,我该何去何从。没有了
技术优势,一个单位的中下层管理人员,你到 51JOB 上搜索一下,有招聘“技术团队管理者”这样岗位的吗。
而且,计算中心是事业单位,从 05 年开始,我就一直谋求可以转成正式的“在编制”人员。为此,我、包括
我们全家人,使用了很多方法。但是,我们的希望最后都落空了。

其实,我本来也没抱太大希望。

08 年初,为了将来的发展,我决定辞职。这个决定或许已经有点晚了,但是,如果不马上行动,将来只会
更晚。

  在阿里巴巴遇见最好的 DBA 团队

  我不喜欢飘泊的生活,也不喜欢新鲜的城市。只想在我家乡哪座著名古都中,像被固化在虎珀中一样
去生活。但我的人生却注定要去飘泊,而且,是在三十而立之年,才刚刚开始。千万不要刻意去选择自己的
生活,因为你只能猜到开头,却猜不到结果。

我的第一站是北京,因为有朋友说可以为我介绍工作,但这份工作是 Oracle 讲师。我的技术还没有达到一


定水平,还需要提高。这时候去做讲师,实在非我所愿。我的内心的理想目标,是去阿里系的公司:阿里巴
巴、淘宝、支付宝。这些公司“大师”级的人物层出不穷,我想也应该是很多 DBA 的目标。但自己投简历过去,
成功可能很小,我一向不喜欢自已投简历过去。所以,在 09 年初,考完 OCM 之后,我就一直想做点东西
出来。正好一个朋友找过来,于是我们合作,很快就有了“Oracle 日志挖掘研究版”这个程序。也很快的,阿
里巴巴就给我打了电话。

到阿里面试是很爽的,来回的机票、酒店全部都已经订好,就好像到杭州来了个一日游。我是中午到的创业
大厦,先被 HR 领到一个大厅里,做了一份笔试卷子,说是 60 分钟,但其实没有人在旁边计时,晚一会儿
也无所谓。笔试题难度不高,和网上流传的阿里巴巴笔试题差不多。做完笔试题,就是著名大师 Biti 的面试
了。这是第一次见到 Biti,个子不高,但人很精神,说话极有条理。

Biti 面试时的难度也不高,大家聊的很好,就像朋友闲聊一样。所以,这趟杭州之行,让我觉得很完美,即
来杭州旅了一次游,又和一些朋友聊了聊技术。

本来我计划当天晚上就回去,Biti 面试完,被告知阿里巴巴 B2B 的技术部老大 Andy 想见见我,如果我时


间上没有问题,HR 会退掉当天的订好的机票再重新订,当晚住宿的酒店也已经安排好了。

当时很是受宠若惊,马上告诉 HR 没有问题。

第二天其实还是有点紧张的,不知道 Andy 会问我什么问题。见到 Andy 后才感觉,Andy 人也很随合。Andy


问了两个问题给我留下很深的印象,一是建立一个数据库层和应用层之间的统一中间层,对下可以支持各
种数据库是否有必要。还有一个,是如何拆分一个大数据库为多个数据库。

第一个问题,我的回答的很中庸,一个可以忽略下层数据库是什么的中间层,对性能会有影响,对开发效
率、代码重用率会有提升,搞一个是有必要的,对于特别要求效率地方,仍可以使用老的方式,一般情况
下,使用中间层就可以了。我估计这是 Andy 当时正在考虑的问题,但后来阿里巴巴并没有大张旗鼓的搞这
么个东西,我想 Andy 最终还是认为搞这个东西意义不大。

第二个问题,拆分数据库的方法,我曾经主导过一个大库的拆分,要求应用的每张表,都有主键。然后就
像 HASH 分区一样,以每个表的主键为准,将数据做个 HASH 运算,分布到多个库中,我直接把我做过
这个项目详细说了一下。也是后来我才知道,原来阿里巴巴这边刚刚做过一个大表的拆分,拆分方法和我
说的类似。

上午的面试很快就过去了,我专门让 HR 帮我订晚点的机票,这样,下午有时间去西湖游览一下。

这次杭州之行,给我的感觉是,杭州不错,面试很愉快,但打车很难。下午在西湖边打车,用了好久。后来
才知道,在哪个时间点打车,能打到已经是运气了。

两个月后,我告别待了 10 个月的北京,来到杭州,入职阿里巴巴。

中国的大型互联网企业,有很多相似之处。比如说一样有入职培训,一样每年有年会,一样的有 Outting,
一样的嘴上说一套、底下做一套。比如公司一直在讲诚信,但在出了一些事情之后,从公司发给我们员工的
邮件来看,没有看到诚信二字。但这很正常,在我们国家,到我这个年龄,如果还相信公司说的什么或老
板说的什么,哪脑袋就真有点问题了。

阿里的入职培训和其他公司一样,讲一讲企业文化,再把人拉到户外做做拓展运动,结束,没有持续性。
和我一起参加入职培训的有几十人,半年内有差不多三分一离开公司,一年内大概只剩三分之一留在公司。
我和另外两个入职培训时认识的朋友合租一套三室两厅,一年后,他们都走了,只剩我自己独住一大套房
子。大家来阿里的目的很简单,渡金。我的室友之一,半年后顺利跳到了 teradata。另一个是做客服的,一年
后跳到另一个规模略小的互联网公司,做了客服经理。当然,我到阿里,最大的目的并不是渡金,而是学
习。我的目标是成为 Oracle 大师,阿里孕育了哪么多 Oracle 大师,到了阿里,我就和目标接近了。

但可能是我在面试时忽悠的有点过了头,阿里给了我一个很高的级别:高级数据库专家。这既让我兴奋,
又让我感到无比大的压力。在我入职时的 09 年,整个集团的技术人员,达到这个级别、和这个级别之上的,
不过几十人而已。在 B2B,高级专家之上的,只有十几个人。我们 DBA 团队中,只有一个人比我级别高,
就是 Biti。这让我的压力,稍微小了点,有什么大事,我前面至少还有 Biti 在扛着。但是,一个月后,Biti
就调到支付宝。我成了阿里巴巴 B2B 级别最高的 DBA。一下子变成了“首席 DBA”,我内心深入无比激动,
但是,这也让我无比害怕。

来到阿里,我对自己的定位是学习、经历,我的目标,是成为技术大师,我从不会改变这个目标。但公司对
我的期望,显然不是这样的。但这没有关系,这并不会防碍我学习。

在阿里的日子过的很快,好像回到了上学时代。每天三点一线,上班、到食堂、下班。DBA 团队是我见过的
最好的团队,几位领导对每个人都很负责,诚心实意的为每个人着想,努力为每个人提供发展机会。大家
之间没有争抢,没有钩心斗角,只有努力的做好事情。很高兴在这里渡过了快乐的近三年时光。在此,对领
导、对团队中每个兄弟表示感谢。阿里的数据库维护水平,自然是没得说的,用一句通俗的话来形容,我就
像掉到了水中的海绵,如痴似渴的吸收着养份。
我到公司时,MySQL 刚刚在公司有第一例非常成功的案例。之后的几年间,公司的 MySQL 团队从无到有
迅速壮大,MySQL 的应用也是遍地开花。再之后 NoSQL 如同凄美的昙花,匆匆一现,却也给公司内
Oracle 的应用带来不小的震动。对于开发,Oracle 有如过街之鼠,几乎人人喊打。之后,一切又都归于平静
和理性。NoSQL 出局,MySQL 重点发展,去 Oracle 已成必然。从 11 年开始,我也面临艰难转型,根据公
司情况,我决定转型到 GreePlum 数据仓库。但转型是困难的,几本大部头的书,一看就困。Oracle 是越学
越精神,一看 GreePlum 就瞌睡。数次不眠之夜的深思,我决定放弃转型。我知道这对我来说意味着什么,
放弃转型,也意味着要放弃这份工作。 虽然我很喜欢团队的氛围,我对团队恋恋不舍,但我仍将坚持我的
方向。11 年夏天,我开始筹备我的下一份工作,并计划在

12 年春节的时候离开。

  阿里巴巴二三事

  在阿里,我见识到了 Biti 留下来的管理制度与管理水平。我们的数据库,很少出莫名其妙的问题。按照


托尔斯泰的说法,好的数据库个个相似,差的数据库各有各的不同。好的数据库,无外乎性能尚可,有完
善的备份恢复和高可用机制、并定期测试,很少奇奇怪怪的问题,绝大多数报错、性能曲线的波动都可以找
到原因,等等。差的数据库总有千奇百怪的问题、林林总总的报错、莫明其妙的当机。

其实,达到阿里数据库的管理水平,DBA 只做了一间事,就是更加关心自己负责的库。

每次性能曲线的波动,都要找到原因,甚至定位到 SQL。对于新上线的 SQL 语句,进行严格的审查。对于


大操作,格外小心。Statspack、AWR 报告,要观注、观注、再观注。基本上也就这些了吧。我把这种管理模式,
叫做精细化管理。

说到这里,我想起了一件事,姥姥家住在一条古老的小巷里,在小巷南口,相隔不远有两家买锅葵(一种
面饼)的,但一家门庭冷落,另一家则客流不断。很多人宁愿多花点时间排队,也要买另外一家店的锅葵。
有一次,我跟一位住在这块的老表谈起这事,为啥一家店生意清冷,另一家店生意兴隆。我老表很郑重的
告诉我,“这就是用的功夫不一样。”我霎时间明白了。

当然,我见到过很多乙方公司的 DBA,每个人要管几十个库,在这种情况下,根本无暇顾及什么性能指标、
AWR 报告,只要数据库不当、只要客户不主动来找就行了。不出事情,哪有什么功夫去看 AWR 报告什么的。
至于乙方的这种管理方式,我先称之为粗犷化管理。

这种粗犷化管理试,也是国情所定,我们无法改变环境,但我们可以改变的,是我们自己。我有一个朋友,
初中同学。初中时学习不好,技校毕业。毕业后在工程公司做技工,其实干的活和民工没有差别。在体验到
现实的残酷后,他没有被生活磨平楞角,反而越战越勇,真正的奋斗起来。他的目标是考取注册监理师认
证,很自然的,这个目标成了很多人茶余饭后的笑料。不是说这个目标多不现实,而是,就算你考上了注
册监理师,又能怎样呢?你怎么才能找到第一份监理师的工作呢?就算有证书,谁肯要一个民工做监理师
呢?

面对嘲笑,我们唯一能做的事,就是努力坚持自己的方向,不要去做无谓的争辨。在干完一天烦重的工作
后,他回去还要挑灯夜读。几年的坚持,他终于考上了注册监理师。就在为第一份监理师工作发愁时,机会
不期然而至,工程公司的一个朋友将他推荐到另一个公司。虽然干的活和民工没区别,但他是技校毕业,
算是技工,底层实践经验丰富,又有了注册监理师证书,他成功的跳到另一个工程公司,成为监理师。轻
松完成了从民工到工程师这个华丽的脱变。而且,一切又都是如此的自然而然。两年后,他又跳到北京一家
更大规模的公司。公司将他派到新 Jiang,在工地上,他巧遇以前的同事,他们还在顶着风沙,在工地上辛
苦的工作。目前,他正在自学英语,他的计划是希望跳到外企。我相信他一定可以成功。

自助者天必助之,古人的经验之谈,难道都是骗人的吗。

相信有些乙方的 DBA 也在痛苦中迷茫,如何在粗犷化管理中,实现自己职业生涯的突围。我建议呢,可以


选一两个库,以提升自己水平为目标,进行精细化管理。关注这一两个库的细节,你会发现,水平可以更
快的增加。

在阿里,我的第一次事故,让我记忆深刻。那是一次加节点操作,前期操作已经成功,最后一步在执行
rootaddnode.sh 脚本时,中途出错,导致 OCR 信息被损坏,所有节点全 HANG。进行 OCR 恢复后,才恢复
正常。原因非常奇怪,rootaddnode.sh 要调用 srvctl 向 OCR 中写入新节点信息,而 srvctl 因为缺少个包,执
行失败异常退出了,OCR 信息也被写坏了。

在进行这次加节点操作前,我在虚拟机中反反复复测试,做了大量的准备工作,但没想到,最终还是出了
大事故。

从这件事后,我再做其他操作都更加仔细,特别是 RAC。RAC 下操作总会调用这个哪个一堆的脚本,我会


先把脚本看一下,大概了解这些脚本都干点啥。就像加节点,我会先调用 Srvctl config 命令,显示一下配置
信息。如果可以显示成功,再进行加节点操作。

“不要在周五做重要的事情,这会让你整个周未都没有好心情”,这是这次加节点操作给我留下的另一个忠
告。

在阿里最深刻的,还是职场之道给我的震撼。在此,引用一位 PUBER 的发帖:

A 同学,遇到问题,召集会议写报告搞风险评估,凤凤火火,完事后到处汇报心得,各部门都知道了数据
部的功劳。

B 同学,遇到问题,默默一个人搞定。

这 B 同学确实厉害,很多问题都独立搞定,A 同学连 oracle 的 pga 是啥都不知道,但他就是跟公司的高手


们关系好,会求助,会推动。

当你有一天听到领导们背后议论 A 和 B 的时候,你会发现,他们一致都比较欣赏 A。为什么他们会欣赏 A


呢?不是 B 是高手么?因为领导们已经长期不做技术了,观察人更喜欢观察人的沟通协调能力,像 B 默默
搞定问题,谁也不知道是咋回事,还以为这问题很简单呢。结果呢?B 郁闷离职。。。职场故事无新鲜事,类
似故事每天都在发生。

以前一直以为是故事,直到见到一个活生生的、传奇般的 “A 同学”。除了这位 Puber 提到的,我觉得“A 同


学”一般还要有一个特长,就是会起名字。一个普普通通的架构,起个好名字,简值是有化腐朽为神奇的作
用啊。
看一些中央领导的简历,升迁之迅速,往往让我惊叹。很多人不惑之年,都做到了高级领导,拥有数套房
子和无数个情人,成功进级高帅富他爹。我一直很奇怪,人家都是怎么玩的。自从见过“A 同学”后,我了然
了。“A 同学们”的成功是很迅速的,他们身轻如燕,稍有青风拂过,便能乘风而起,一飞冲天。

“A 同学们”也要有一定的能力,这是基础。但是,和他们的综合实力相比,他们的能力可以忽略不记。

他们可以把 GDP 搞的很高,但不会把国家搞的很强。

如果一个集体、一个部门甚至一个国家,越来越弱,那一定是“A 同学们”太多了。

“A 同学”后来跳到另一巨头民企担任很高的职位,依旧是风声水起、威风八面,于是我就知道,哪家民企的
发展是到头了。如果以释伽“成、住、坏”三阶段发展论来讲,个人认为哪家民企的“成”阶段已经过去,进入
“住”阶段,如果没有“B 同学”大量加入,数年之后,或许就是“坏”阶段了。

个人认为,单以职场发展来论,“A 同学”值的效仿。现在的职场,好像春秋战国,即使你所待的“国家”,已
经进入“坏”的阶段了,没关系,换一个国家就是。就像春秋战国时一位“士”人的言论,是当大王、诸候好呢,
还是做大臣好呢。当然还是大臣好。一个国亡了,王的结局只有死,但大臣呢,换个地方再做大臣就行了。
“A 同学们”,永远会受到市场追捧的。他们就像漆黑中的萤火虫,那样的鲜明,那样的出众,那样的拉轰。

但我向来没有“A 同学”的能耐,只能向“B 同学”学习了。

将来做企么无所谓,有一点很关键,就是要认清自己的方向,这很重要。做管理?做技术?都行,这世界
上有靠管理成功的,也有靠技术发家致富的。

你的目标可以是成为管理者、领导,但不能是“成为好逸无劳又挣钱”的人。不要幻想着每天什么活都不干,
上班喝喝茶、扯扯蛋,每月工资高的让我们这些矮穷丑听到都吓的尿裤子。这样的境界,是要有上一代打下
基础才行。如果你进了 ITPUB 这个论坛,又看到我这篇文章,这足以证明你上一代没什么基础,就不要再
做梦了,赶快起来跟我一起用 DTrace+GDB 研究 Oracle 原理才是正事。

要想成为管理人员,或是领导,无外乎三种途径:

1、在公司混久了,跟着上级、甚至公司创业者一起打天下,有资历。走这条路,要看运气,跟对了人就行。

2、潜心研究技术细节,深入钻究技术,成为大牛,转而成为领导。这就是学而优则仕了。

3、有关系,家人在有关部门任职。

如果你发现自己没有跟对人,也没有关系,要想成为领导,哪就走第二条路吧。我知道很多优秀的领导,
都是这样走过来的。比如我们团队的头,还有 Biti,都是如此。其实,就连我所提到的“A 同学”,现在的某
互联网巨头企业中高级管理人员,也是如此走过来的。

大多数离职的人对以前待过的公司都是颇有微词的。也是啊,如果不是因为待着不爽,谁愿意走呢。但我对
阿里,感觉还是非常好的。因为阿里,我来到了杭州,在钱江之畔,生活了近 3 年时光。在阿里,我终于实
现了我的目标—-让技术更上一层楼。三年时光匆匆而过,正如一部电影所说,年华就是如此,当你不再拥
有,你唯一可以做的,就是令自己不要忘记。

  尾 声

  站在远处,最后看了一眼雨中阿里巴巴园区漂亮的大楼,我生命的这一阶段已经过去。这是我生命中
目前为止收获最多的一个阶段,感谢阿里、感谢我们的团队。

You might also like