国产数据库替代的策略问题,已经讨论了几年了,现在热度还不减。据我观察,目前对这个问题探讨最多的人是对此没有决策权的DBA或者应用研发人员,而实际上能够在这个问题上起决定作用的的IT高管对此的关注度并不高。不幸的是,很多企业的国产数据库替代方案的决策者,也就是这些企业IT高管,实际上对数据库并不了解,在数据库替代策略的选择上,就不一定很科学。对此问题,讨论者也是牢骚不断。
我这篇文章也仅仅是从科普的角度来讨论一下这个问题,表达一下我的个人观点,很可能我的观点也会与很多企业的策略选择不大一致。企业都有企业自己的情况,因此我的观点也不见得适合你所在的企业,因此也无需争论,只把它当做一种观点就可以了。
近5日资金流向一览见下表:
近5日资金流向一览见下表:
1、什么样的企业要做数据库国产化替代?
首先是什么样的企业需要做数据库国产化替代,实际上数据库国产化替代要求十分严格的行业是党政军和关基企业,这些单位实际上都是在管控清单里的,如果你所在的行业不属于党政军,也不属于关基企业,那么在制定数据库国产化替代策略的时候,是不需要十分严格的,可以更多考虑企业自身的情况,选择更灵活的策略。对于有严格要求的党政军和关基企业,每个垂直监管部门的监管要求也会有所不同,比如金融行业的监管要求十分严格,要应替尽替,而某些大型国企的监管要求要松很多,只需要关注核心业务系统。
某些党政用户经费有限,完全购买国产数据库困难较大,采取了国产商用数据库替代和开源数据库替代两条路线齐头并进的策略,目的就是安全可控外加省钱。监管要求较低的企业也可以根据实际情况去选择成本较低的替代方案。
其实现在有些外企也在做去O的工作,前阵子我们就帮助一家外企进行了PG替代Oracle的实施工作。这些外企一方面也是为了更好地符合政府的安全监管要求,另外一方面也是希望能够节约数据库使用成本。
综上所述,去O的单位可以根据自己的实际情况来做选择。可以从自己总体成本考虑最 佳的模式,部分使用开源数据库来降低成本,不过为了应对今后更加严格的行业监管要求,要考虑选择今后迁移成本更低的开源数据库产品。
2、数据库国产化替代的策略如何选择?
数据库国产化替代是需要考虑综合成本的,对于一些资金雄厚的大型国有企业来说,费用可能不是问题,只要能够按照规定时间达到目标就可以了。几年前我帮助一个大型国有企业设计数据库国产化替代的策略的时候。根据系统的特点不同,分为三大类:1)简单替代:对于一些非关键的中小系统,选择与Oracle兼容性较好的国产数据库产品,快速迁移,简单替代,尽可能不修改代码;2)优化改造后替代:对于大中型系统,无法简单替代的,选择与Oracle兼容性较好,并且性能较好的国产商用数据库产品(优选集中式数据库),在替代过程中进行优化改造;3)升级重建时替代:对于大型核心业务系统,不使用简单平替的模式,而是对系统进行升级,重新设计,并选择国产分布式数据库进行替代。
一些大型国企实际上采取的措施和这个思路类似。某运营商简化了一下,中小系统选择与Oracle兼容性极强的达梦数据库做平替,核心系统选择与Oracle兼容性相对较好的分布式数据库Oceanbase来替代。
实际上替代策略里有平替和改造后替代两种方案,对于大型的关键业务系统,一般来说不太建议平替的方案,趁着数据库国产化替代,正好升级核心系统是一种比较好的方案。
某银行选择了GaussDB作为核心系统的替代产品。目前他们的做法是从核心系统中不断剥离模块出来,根据这些模块的业务特点和并发情况,分别选择GaussDB的集中式部署模式和分布式部署模式,拆出一块改造一块。逐渐把一个大核心分解为众多的微核心,目前已经拆出了十几个模块了。经过分拆改造,最终的核心账务也变得跟家简单,规模也小了很多,目前他们已经有信心2025年账务核心开始双轨制运行,以国产数据库为主系统,并逐渐过渡到单轨制运行。
3、该选择什么国产数据库?
定策略的最后一步是国产数据库选型,现在有200多个国产数据库品牌,该如何选择呢?可以简单把国产数据库分为三大类:国产开源数据库、普通国产商用数据库、通过安可认证的国产商用数据库。
对于监管要求很严的系统,必须选择通过安可认证的国产商用数据库,什么是通过安可认证的国产商用数据库呢?这方面可能一些企业得到的信息比较乱,主要是国产数据库厂商在打各种擦边球。实际上目前对于XC工作来说,只有一个唯一的认证渠道,中国信息安全评测中心的官网(http://www.itsec.gov.cn/)发布的清单才是真正的XC必须遵循的清单。
目前只发布了2期清单,其中2023年第一号公告里包含了数据库安可的清单。今年8、9月份可能会发布第二批。
大家要注意的是,在选型决策时,要考虑这个清单的有效期是三年。因此不排除两三年后清单会发生变化。一些企业甚至可能会离开商用数据库产业,因此并不是简单的从中选择某个数据库产品就可以了。前阵子一个银行的客户向我了解某国产数据库厂商的情况,因为他们的CIO无意中了解到他们正在使用的某种数据库的厂商正在大裁员,就通过企查查看了一下,发现那个数据库厂商的登记交社保的人员不足30人。于是就吩咐他调研一下,这个数据库产品是否存在风险,是否需要列入替换的计划中。
分布式数据库目前还不在清单中,在第二批清单里,应该包含了一些分布式数据库产品。另外安可等级最高4级,目前发布的第一批都是1级,今年发布的第二批中不知道会不会有更高等级的产品。也不排除对于关基系统,有更高级别的要求,因此选型决策还是要更加慎重。
前面也谈到了,对于监管要求没有那么严格的单位,为了节约总体成本,在一些安全性要求并不很高的系统中使用开源数据库也是可以的。不过为了防止不断严格的监管要求,在选择国产开源数据库的时候也要十分慎重。选择PG系列或者openGauss等开源数据库今后风险较小。如果今后必须改用国产商用数据库,迁移成本也相对较低。对于基于MySQL的国产开源数据库的选择要更加谨慎一些。如果某些企业习惯于使用MySQL,不想选择其他的技术路线,其实也是可以的。如果今后必须替换国产商用数据库什么是股票去杠杆,可以选择TiDB、Oceanbase等与MySQL协议兼容的开源数据库,达梦、GaussDB、金仓等国产数据库也都做了MySQL兼容,不过迁移起来略微麻烦一些。