为什么说2019年“去O”正当时?

韩锋 2019-06-13 09:28:50
作者介绍

韩锋,CCIA(中国计算机行业协会)常务理事、Oracle ACE ,宜信技术研发中心主任工程师。精通多种关系型数据库,曾任职于当当网、TOM在线等公司,曾任多家公司首席DBA、数据库架构师等职,多年一线数据库架构、设计、开发经验。著有《SQL优化最佳实践》一书。

 

“去O”,是近些年来一直很火的话题。但在2019年,也许有着更加特殊的意义。随着国家监管要求、外部环境变化、国产数据库兴起等诸多因素,相信今年会是“去O”井喷式发展的一年。以下基于我对“去O”的观察,总结了”天时、地利、人和”,供大家参考。

 

天时篇

 

1、国家监管要求
 

 

信息安全是关系到国家安全和社会稳定的重大问题,早在2010年为保障国家安全战略要求,提高信息自主安全可控,国家就提出过相关引导意见。

 

在2016年,由从事安全可靠软硬件关键技术研究、应用和服务的24家单位发起并建立了非营利性社会组织—安可联盟(全称为“安全可靠技术和产业联盟”),旨在积极推动我国信息安全技术产业健康发展。

 

从诸多方面可以看出,国家层面已经意识到自主可控的重大意义。特别是近一年多来,随着美国对我国的科技封锁与遏制,核心科技重要性愈加凸显。

 

数据库作为三大核心基础软件之一,在信息化领域扮演着尤为重要的角色。作为传统大型商业数据库的典型代表——Oracle,在国内众多领域使用非常广泛。在金融、电信、交通、医疗、制造业、能源等诸多领域均有大量使用,几乎覆盖了国计民生的方方面面。

 

针对这一现状,国家在数年前曾提出过数据库领域的”自主可控”,但受限于当时的技术条件限制,在实际落地中并没有很好的贯彻。随着近些年来国内软件的发展,其基础条件已逐步成熟。后面我们会详细谈到。

 

2、外部环境变化
 

 

近一年多来,整个外部环境也发生了较大变化。

 

美国对华科技领域的种种遏制行为轮番登场,“新冷战思维”频频作祟引发的逆全球化举措不断。美国借维护国家安全、保护知识产权为由,对中国的打压势头逐渐明朗,预计未来这种态势还会强势延续下去。

 

作为全球最大的软件大国,美国在操作系统、中间件、数据库等基础软件领域,均有着垄断性的地位。我们只有筑牢根基,早日实现核心技术安全可控,才能真正突破美国对华科技领域“包围圈”。

 

3、甲骨文的态度
 

 

作为美国软件巨头、数据库产品的最大供应商——甲骨文公司,近段时间也是动作频频。前些天甲骨文公司宣布在中国区裁员1600人,几乎将中国区的研发全部裁掉。值得注意的是,甲骨文在中国仍然盈利,这种裁员行为着实让人感到不解。

 

近日又风闻,出现甲骨文的官方授权吃紧,很难购买的现象。联想到目前中国的数据库市场,只占甲骨文在全球不到2%的现状,在将来是否会放弃中国市场也未可知。

 

再翻出了甲骨文创始人拉里·埃里森在接受福克斯新闻采访时的言论,似乎答案不难理解。在采访中,拉里·埃里森多次渲染中国威胁论,其本身就带有仇华的观点。

 

 

4、Oracle升级问题
 

 

近两年也是Oracle版本升级的一个关键点,从下面的生命周期图可见,到2020年12月31日止,Oracle官方不再提供11.2版本的技术支持。

 

 

但是这个技术支持是指,针对11.2版本出现的新bug,不再提供新的补丁包,但是如果仍购有Oracle官方服务,并且数据库所遇问题在已有的11.2列表中,那么官方仍然会提供技术服务。

 

而12.1版本,也即将在2021年不再提供技术支持。对于保有量很大的11g用户而言,面临的问题有些尴尬,升与不升?升到何版本?均需考虑。即使升级,如此大版本的平滑升级,也是不太容易的。基于以上问题,在这个阶段考虑换型,也是一种选择。

 

5、行业协会引导
 

 

作为国家政策导向的补充,行业协会也在此发挥了很大的作用。近日,中国信息通信研究院大数据团队发布了《关系型云数据库应用白皮书》。

 

白皮书针对目前数据库存在资源管理困难、运维复杂、成本浪费等问题进行了说明。为解决这些难题,结合云计算的发展,打造资源统一管理、轻量运维、低成本的数据库给出了行业标准指导。这也为广大国内企业使用新兴云数据库,打下良好的基础。

 

地利篇

 

1、技术方案逐渐成熟
 

 

在国内,阿里最早实践了“去IOE”,并取得很好的效果。这不仅是阿里一个企业内部的技术转型,也为其他企业技术变革带来一个新的思路:不依靠国外厂商的技术,通过开源+自主,也是可以满足企业级应用要求的。

 

 

“去IOE”的核心,可以概括为以下五个方面:

 

 

1)开源自研

 

对于开源软件的使用,存在如下图的”拐点理论”。即企业在商业软件与开源软件上,其投入和收益,存在一个线性关系。在企业的不同发展阶段,其投入产出比不同。

 

 

存在这样的一个拐点,在该点之后使用开源软件所带来的收益要远远大于商业软件。当然,阿里的情况有些特殊,其业务发展规模已经达到无法用标准商业软件支持,也是被迫走上了开源+自研的道路。

 

现在越来越多的企业,也开始重视对开源软件的使用,甚至积极加入到开源生态圈建设中。例如“去O”中的典型开源替代方案,MySQL、PostgreSQL等,已经有了非常良好的企业基础。

 

2)摩尔定律

 

摩尔定律表明“当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍”,这一定律揭示了信息技术进步的速度。

 

从下图近40年来CPU的发展可见,虽然CPU的主频已经趋缓,但通过多核等技术,其整体处理能力基本还是线性增加。此外,近些年来随着GPU、FPGA的使用,将传统的CPU处理负载卸载到其他计算器件上,也整体提升了计算能力。

 

 

数据库方面,近些年来也有不错的发展。一方面如何利用好多核CPU,另一方面将重负载(如压缩、备份、加密等)通过其他器件实现。

 

3)硬件革命

 

这里所说的硬件革命,是以存储和网络为典型代表。

 

在存储方面,近些年来亮点颇多:

 

① 从早期的DAS->SAN->Server SAN,存储体系的发展也经历了一个轮回。在分布式对象存储日趋成熟后,SDS形态的分布式块也逐步火热。近期多个国内厂商推出的解决方案上,已经不限于虚拟化、VDI等场景,数据库也越来越多被提及。相信假以时日,必将替代现有集中式存储。

 

② 本地存储发展迅猛,从下图所见,从早期的HDD到SSD,从SATA接口的SSD到PCIe抑或标准NVMe接口的SSD,从易失性的内存到非易失性的代表3D XPoint的出现。本地存储技术的发展,为上层应用特别是IO敏感的数据库类应用带来的更多的可能性。

 

 

在网络方面,以RDMA为代表。其将主机侧的数据处理时延从几十微秒下降到几微秒,配合高速以太网可提供高带宽及无丢包能力,为构建分布式系统打下网络基础。近期颇受瞩目的云原生数据库产品,其底层网络部分均实现于此。

 

 

3)理论基础

 

近些年来的分布式数据库的兴起,无不依赖于分布式算法Paxos、Raft。正是它们的出现,使得分布式数据库的强一致特性成为可能,甚至可以说是分布式数据库的灵魂。

 

4)人才储备

 

现代企业愈发重视对人才的储备,尽量减少对其他厂商的依赖。

 

在人才类型上,也从原来的“应用管理型”人才,逐步演变为“管理与研发并重型”。各云厂商或国产数据库厂商在人才方面更是不遗余力。

 

从阿里招来李飞飞挂帅云数据库,到听闻国产厂商达梦企业规模达到700多人;从近期华为云大肆扩招DBA团队,到前一阶段Oracle裁员引发的人才招聘热潮可见一斑。

 

2、客户意识已然成熟
 

 

在早期阿里提出去“IOE”时,很多公司是很盲目的,甚至是为了去而去。在经过了早期“头破血流”的阶段后,很多公司也意识到“去O”不是一蹴而就,更多地是需要苦练内功。

 

各个公司也更科学理性地看待这一问题,并客观分析其内在核心驱动力是什么。一般企业“去O”无外乎考虑以下几种驱动因素:

 

  • 业务驱动。通过“去O”建立分布式的开放框架,实现系统的线性扩展能力,有效支撑企业未来业务发展,确保系统架构的先进性。

  • 能力驱动。通过“去O”减少软硬件维保和技术支持、以及对开发商的依赖,加强自身对核心技术能力的掌控。

  • 成本驱动。通过引入标准设备和开源数据库,大幅降低IT投资和运维成本,提升整体运营效率。

  • 责任驱动。很多大型企业担负国家信息安全重任,通过“去O”真正掌握竞争和发展的主动权,从根本上保证国家信息安全。

 

“去O”的实际操作上,从早期的盲目跟从中,客户也逐步理性,走出了一些误区。最为常见的误区有以下几种:

 

  • 误区一,“去O”一定能省成本。可以说,这是很多公司“去O”的原始初衷。但在实际操作中,大家也逐步认识到“去O”是会增加成本的,或者说起码在短期内会增加成本。联想到前面的”拐点理论图”可见,从长期角度来说是可以节省成本,提升企业性能能力。

 

  • 误区二,“去O”能降低对厂商的依赖“去O”某种程度上会减低对原厂商的依赖,但也会增加对新厂商(可能是硬件)或开源产品的依赖。依赖程度取决于企业的自主可控能力,这是一个循序渐进的过程。

     

  • 误区三,“去O”就是用MySQL替换Oracle。“去O”的方案可以有很多种,MySQL只是其中之一,我们要根据项目情况从多种技术方案中酌情选定,不能一概而论。可参考一下之前整理的“去O”方案小结,如下图:

 

 

  • 误区四,“去O”难点在于新数据库运维“去O”的主要困难不在于新数据库运维,而是数据一致性和性能方面的挑战,其本质是数据架构管控的争夺。这也意味着,“去O”工作往往不是DBA能主导的,是需要“业务+架构+研发+DBA+基础设施”等多团队共同参与,协同完成。在组织领导上,是需要技术高层介入,统一协调组织;这是对公司技术体系的一次重大变革,要引起高层足够的重视及资源投入(包括人力+时间资源)。

     

人和篇

 

1、参与方态度积极
 

 

上面谈到了天时、地利因素,基于以上原因,“去O”的各个参与方目前都积极地参与其中。整个“去O”大的环境不断趋热。

 

  • 角色一,数据库服务商。近年来数据库服务商动作频频,大家纷纷拓展原有的服务领域,增加对国产或NewSQL形态的数据库支持。通过培训、客户转型咨询等多种手段,帮助客户做好“去O”的实施工作。

  • 角色二,国产数据库厂商。以达梦为代表的国产数据库厂商,以政策导向为依托,以专有行业作为突破点,也取得了不俗的成绩。特别是近些年除了政府扶持外,也吸引了资本市场关注,有望实现良性的可持续发展。

  • 角色三,云厂商。以阿里、腾讯、华为、平安为代表的云厂商,纷纷提出了ToB服务元年的口号。作为信息化基础的数据库软件,成为各家争夺的重点。各大企业都着力打造自己的核心数据库产品,同时在产品设计上也考虑与传统数据库的兼容问题,甚至提供了”一键式”的迁移咨询方案。这都大大降低了企业“去O”的顾虑。

  • 角色四,NewSQL厂商。以PingCAP、巨杉为代表的新兴数据库厂商,起点高、包袱少,在重点领域实现突破,成绩斐然。

     

2、客户方需求强烈
 

 

最后,我们来看看客户方态度的变化。如果说前两年,各个企业还只是观望的话,那么最近几年已经开始有所行动。特别是以金融为代表的企业,他们IT基础好,但也面临场景复杂、对数据库要求极高等特点。

 

但无论其是出于自主可控、成本、自身能力,还是业务发展需求,其都纷纷着手开始尝试“去O”,例如工商银行以数据库中间件为切入点、中信、招商银行跟国内大厂合作共研数据库等。虽然各家目前还均是在非核心业务上尝试,但其未来的发展可以期待。

 

总结

 

二O一九,“去O”元年,天时已到,地利成熟,人心所向,“去O”正当时!

活动预告