暂无图片
暂无图片
22
暂无图片
暂无图片
暂无图片

十年,从去O到减O

原创 多明戈教你玩狼人杀 2021-11-12
6647

大概是2011年,我第一次听到了行业内去IOE的声音。那会刚毕业,还在一家中小银行工作,而工作中的三件套恰恰就是IOE。当时的领导也很想挑战一下去IOE,包括我自己也对这事很有兴趣。

十年后,已经辗转多个公司和岗位,和当年的同事问起当年三件套的现状,他给我的答案是,I全去掉了,E去掉的一大半,O非但没去掉,使用的规模还扩大了很多。这个答案倒也在我预料范围内。一家中小银行,IT部门正式编制的员工不到20人,其中多数人都是项目经理或者系统负责人的身份,所有系统都是外包开发的模式。人员编制和组织结构决定了,很多东西怎么省事怎么来。

十年前去I的时候,正好赶上pc服务器突飞猛进,成本优势逐渐显现出来。越来越的系统基于x86架构开发,无论从哪个角度,用它们替掉小型机都成为了大多数公司的首选。从另一个角度,以前的我所在的银行使用的小型机只有IBM一家,各种后续支持服务如果有问题,也没得选。替掉这些小型机之后,一下子多了好几个厂商的硬件可以选择。过去几年哪家服务好设备稳定,就多采购点,反过来就减少采购量。用这个办法也调动起来了几家客户经理的积极性。

EMC的存储相对没有那么好容易去,毕竟EMC的存储在行业内是第一梯队,那会不用EMC从稳定性以及性能考虑,也没有多少选择余地。更何况在银行,业务稳定性压倒一切。没有哪个IT领导敢拿着自己的饭碗去冒这个风险。所以去E面临的现状要比去I要麻烦很多。核心业务系统至今还在使用EMC的存储,而外围系统以及一些灾备环境,使用了其他品牌。从规模上来看,去掉了一大半。

去O是最复杂的,核心系统以及很多重要的业务系统都是基于Oracle开发的,去O几乎就等同于推倒重做了。2013年核心系统替换的时候,DB2、Oracle、Sybase都曾经作为备选,但是没有任何人敢去提用开源的MySQL或者当时国内使用人数很少的PG。而且非常重要的是,现有的运维人员都没有过长期运维其他数据库的经验。要么从外面招要么让现有的运维人员学习。从外面招就得挤压其他编制,现有人员学习就要接受打怪升级阶段遇到的各种问题。最后开了半年的会,正行长拍板,继续使用Oracle,确保稳定性与连续性。而诸如理财、风控、网银这些重要系统,继续保持使用Oracle。几年下来,伴随着新业务不断增多,Oracle的使用规模反而扩大了。而一些不那么重要的系统,比如OA、员工关怀、差旅预订之类的,则陆陆续续使用了MySQL、PG以及其他数据库。从另一个维度上,提高了其他数据库的使用比例。

事实上,这家中小银行是很具有代表性的。中国很多的传统企业,对于IT部门的编制卡得都很严格。阿里当年去IOE是有足够的工程师来支撑,但是面对很多中小企业一人多职能的需求,显然做不到拿出大量的运维人员去折腾开源的东西。风险越低越好,投入编制越少越好,厂商能力越强越好。最后兜兜转转发现,还是得选一个稳定强大的商业数据库。以前用Oracle的继续用Oracle,用SQL Server的也别乱替。Oracle贵不假,但是分摊到全年的预算里,好像又没有那么高。去O在很多传统企业面前,反而就没有那么急迫了。


到了外资银行,几乎就没有开源数据库被使用。除了我刚入职的时候为了补充本地监控配了一套Zabbix+MySQL,生产环境清一色的Oracle、SQL Server、Sybase。公司在全球几十个国家都有业务,全球采购授权服务之后,分摊到各个国家的分公司,成本已经非常低。更何况和中国企业不同的是,外企有大量的四五十岁员工,很多都是扎根在Oracle二三十年的老前辈。谁敢说用开源数据库替掉Oracle,等于直接动摇了他们在公司的根基,这种事情绝对不会发生。在离职前的最后一年,我做过多次分享,尤其是PG,和Oracle有很多相似之处,在国外的认可程度也非常高。这些资深的DBA和开发人员听完之后,都会拿出少有的委婉来告诉我,这些东西很酷,我们也觉得会是一件很有前途的事,不过和公司目前的各种规定和策略不是很匹配,而且没有人能拍板去做这件事情。


到了上家公司,自己熬成了名义上的DBA团队老大,有了更多的权限。而和很多中国民营企业一样,数据库的种类、版本、服务标准,都没有一个成文的规定。都是项目经理和软件公司沟通,选一个最稳定最易用的数据库。相当一部分比例的数据库都是Oracle和SQL Server。经历过多次有关去O的探索和经历之后,我对于去O这件事情的热情和是否去O都已经有了不一样的认识。这一次我不再纠结于是否真的要去O,而是更多地从业务和系统本身考虑,来决定选择哪种数据库。

例如财务类系统,需要审计同时又要保证稳定性的,一般就默认使用Oracle,因为现阶段除了Oracle没有哪个方案更合适,也不要给自己找麻烦。一些对于复杂查询没有那么多需求,同时数据量又可控的系统,选择用MySQL来支持。数据量比较大,但是没有审计要求的,我会建议项目经理考虑一下要不要用PG。

几年下来,让我明白一件事情,在现有的产品选择以及人力配置下,去O是做不到的。去O只是手段,但不是目的。从DBA的角度,最终的目的有两个,一个是确保每年的运维成本是可控的,既包含了硬件的预算,也有每年付给Oracle和微软的软件授权。另一个是不要显著增加自身的工作量。在述职报告中,我不再用去O这个字眼,而是改用减O。减少对Oracle不必要的成本投入。甚至可以和领导说,今年DBA团队在完成更大规模数据库运维的情况下,成本没有明显提升甚至持平,能不能给大家涨点工资。


最近两年,我们都处在信创的浪潮之中。越来越多的国产数据库应运而生。这在十年前是一件难以想象的事情。作为一个中国人,有着家国情怀,何尝不希望有一天,我们中国人自己的数据库,能够在全球数据库领域独树一帜。然而这一块,我们缺课缺的太多了,Oracle、微软积累了几十年的优势,绝不是三五年就能追上的。去O固然是一个很美好的愿景,然而我们仍然要铭记,不要为了去而去,仍然要从实际出发,脚踏实地地做好每一项数据库相关的工作。

十年,从去O到减O,也是我在工作中,不断思考不断调整自己的一个过程。


最后修改时间:2021-11-22 17:18:00
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
3人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论