主持人:刚才大家发言,我们看到了,厂商是从长商的角度进行优化方面技术的更新。接下来有请我们ITPUB另外的资深专家来自阿里巴巴的冯先生。阿里巴巴目前的管理是非常先进的,不管技术上,人员上,还是规范上都是非常领先的。我们请阿里巴巴您介绍一下阿里巴巴是怎么管理或者是优化体系的?
冯先生,来自阿里巴巴技术嘉宾
冯先生:突然之间把我叫起来说这个事情。其实这件事情如果要谈的话,大家在ITPUB经常看到我们公司,因为阿里巴巴整个集团下面包括淘宝、支付宝等等很多。我们内部的一些机制决定,在我们公司内部分为开发和传统团队。开发团队会对所有的应用,因为我们都是需求,需求产生的时候,他们基本上会来征求我们的意见,当然这个也会经过漫长的过程,我们可以否决商业部门的需求。我们控制到开发部门,分析部门,需求产出的部门,这里面的关系很复杂。从这一级评分出对我们的数据库到底有多大的影响。我们都是系在一条线上的蚂蚱。这样子大家才能朝着一个方向走。这样的话,分析完了以后,到开发部门的环节。我们除了配合它们进行设计以外,我们都会对它的执行计划、应用进行检查。当然82原理大家也知道,我能判断出这个重点在哪里?这样会节省一些时间。
做完了之后,我们预计一年之后,两年之后会是什么样子。我们现在执行频率不高,我们的数据库都会预测一年后,两年后到底会变成什么样子。我们尽量避免数据库中因为一些原因,不管分析还是建索引也好,导致它的执行计划发生改变,有时候对我来说,这是非常恐怖的事情。这样子让我们对这种事情都比较谨慎。这是开发环节,我们的控制力度是比较大的。当然在各种公司的环境是不一样了。
像我们刚进阿里巴巴的时候,你说话,人家都不认识你,人家凭什么信呢?所以我们站在开发人员,需求人员的立场考虑,经过一个长期磨合过程之后,他们信任我们提出的建议确实是为了大家好,不是我们为了逃避责任或者减轻负担,我们的目的都是为了大家好。让他们对我们产生信任感,即使我们否定了他们的需求,他们也认为这个问题肯定是行不通的。尤其在跨部门的情况下,各个部门都会有矛盾,大家的考核利益不一样,这种情况下,可能就超越了我们普通简单定义DBA的范畴。但是我们确实朝着这个方向做了很多的努力。我估计阿里巴巴集团,现在不算北京、雅虎,杭州这块,DBA的数量,现在已经应该有差不多超过20个。预计2007年还会招超过十个人。我想这个团队已经很大了,但是我们依然会觉得平时的工作好象还是有点人手不是那么充沛的感觉。我们DBA能扩展到这样大的团队或者部门,上面的领导为什么会留存你们这个部门那么多人呀?
而我们的部门一个人都没有被裁掉。大家都不愿意裁掉我们部门的人员,因为他们觉得留存我们这样的工作人员大家觉得值得。这样彼此之间能够理解、信任的情况下,做很多事情会觉得比较愉快一点。不然的话,我就是一个给人家擦屁股的工作,每天出了问题都是我的。我干得好没人知道,干得不好,上面的总监、副总裁都知道了。这样一种情况下,超越了我们传统简简单单做技术的范畴。具体到技术的细节,我们在内部也会做很多的事情。跟开发人员的培训,或者说是DBA几个站点之间的事故、教训、经验、总结也是经常进行的。特别是以前,人数不太多的时候,吃顿饭几个小时大家都在谈这个东西。那时候讨论技术的氛围比较好一点。经过长期的沟通、磨合使得我们在公司里面提高了DBA在大家心中的地位。整个做事情愉快一点。
姚琮:你们阿里巴巴一天最大的并发用户有多少?
冯先生:我们一秒钟执行语句的数量高的大概有五千。其实这个数据应该是06年第四个季度的数据。
姚琮:我们在美国有一个案例最高的用户是7000,它现在所需要的DBA是四个。
淘宝:稳定性的公司和发展性的公司是不一样的。稳定性的公司如果有几个DBA就够了。但一个发展性的公司,一个星期发布两次项目的话,变化是非常频繁的。并不是维护一个稳定的系统。