SQL Server 2012是怎样炼成的?

SQL Server是世界上用户最多的数据库,是个大型企业级服务器软件。“集成服务增强”是即将发布的SQL Server 2012的关键新模块之一。作为开发工程师,历时三年经历了这个模块整个开发周期的我,回想起它是怎样炼成的,不禁百感交集。

  开发一个企业级服务器软件有相当大的挑战,有诸多“根本需求”,不完全列举一下就有:功能,安全性,可用性,性能,扩展性,兼容性,用户体验,国际化,本地化,可管理性,可达性,可支持性,可升级性,隐私保护,合法性,等等。我们敲下的每一行代码都必须满足上述需求。一旦发布,它动辄影响上百万人与上亿金额,影响时间往往在5年以上。产品里一个发生概率仅有百万分之一的问题实际上会“经常出现”。而5年以后,我们这些开发人员很可能调离现有岗位,而我们埋下的问题将会由客户和相关维护/咨询人员承担。这些“根本需求”如一柄柄达摩克里斯利剑,使我们在追求算法设计、程序修炼、项目开发之道的同时,丝毫不敢掉以轻心。

  在问题定义阶段,我们与客户(如数据库管理员,DBA)、市场部、客户咨询、技术支持、用户研究等人士和部门共同讨论,以定义用户真正需要的功能。在需求分析与设计阶段,我们做原型系统,通过各种渠道展开用户调查与反馈,邀请安全性、用户体验、界面、法律隐私、架构等各方面专家,一遍遍反复审阅。在代码与测试阶段,我们遵循严格的代码流程与规范,反复做代码复查,一行代码可能要讨论半天或请教万里之隔的专家/专家组。单元测试先行,代码有层层手动/自动构建机制,谁的代码要是引发了构建问题就会既紧张又面上无光。针对各种“根本需求”有各种相应的手动/自动测试机制,测试代码多于产品代码,针对同一行代码可能会以十几种不同方式测试成千上万遍。为了提高性能,有时需要优化,测试,再优化,再测试,等等。在产品发布时,我们与文档与翻译专家共同完成MSDN文档,关注并回答论坛问题,将技巧与提示写入博客,制作代码示例和教学视频等放到网上,参加各种会议介绍产品,与客户和MVP互动,等等。在发布后的漫长岁月里,我们测试并修复产品,解决客户的紧急问题,通过各个部门、各个渠道收集用户反馈,改进设计,开展各种用户交流活动,定期发布改进产品的更新,开展后续产品的研发。

  今天,“集成服务增强”预发布版已得到用户的普遍赞誉,我有理由为它骄傲。而SQL Server仅是微软众多产品的一个缩影,我相信这样炼成的微软必将能实现其使命,“帮助全世界的人和业务完全实现潜力”。

  作者:杨珂

  职位:项目经理

  关注领域:SQL Server相关技术
 

你可能感兴趣的:(服务器,安全性,开发工程师,合法性,克里斯)