数据库 频道

分布式改造进入核心深水区,国产数据库如何渡河

  在数字经济时代,数据库的重要性愈发凸显。随着数据海量爆发,传统集中式架构面临着数据处理瓶颈,分布式数据库成为企业组织的新选择。在时代机遇下,国产数据库在分布式数据库技术上不断突破正慢慢实现变道超车。

  政策的东风带来春天的消息,2019年央行印发的《金融科技(FinTech)发展规划(2019-2021 年)》金融科技发展三年规划中提到了“加强分布式数据库研发应用”的要求,目前已经接近收关。今年11月30日,工信部一天连发三项“十四五”重大规划,其中《“十四五”信息化和工业化深度融合发展规划》明确,加速分布式数据库等产品研发和应用推广。

  近几年分布式数据库在越来越多的行业成功投产的消息提振了业内信心,实际上现在很多金融、政企行业的核心业务系统正在进行分布式数据库替换的测试和预演,这意味着分布式数据库改造进入到核心深水区,可以预见未来两年将会有大量核心系统投产分布式数据库的消息出现。分布式数据库改造要如何进行?有哪些风险?是选择分库分表中间件还是原生分布式数据库?国产分布式数据库准备好了吗?

挺近核心深水区

  分布式数据库改造往往是在更大的分布式架构改造背景下进行,以某股份制银行为例,随着业务不断增长,几年前该银行提出进行IT系统分布式改造,要逐步将银行信息系统由传统集中式架构转向多节点运行、数据分布存储、动态负载均衡的分布式架构,更好地适应互联网时代业务高弹性、高并发、高融合的特性。其中分布式数据库改造是难度最大、最重要的一环。

  一大批在DB2、Oracle等成熟外企从业多年的数据库老兵对市场的变化较为敏感,在信创和国产化浪潮下,他们看到了国产数据库的进步与突破,也早早感受到金融、政企行业分布式改造是大势所趋,纷纷加入国产数据库厂商,把握时代机遇。

  曾在IBM DB2工作多年,目前担任OceanBase交付服务架构团队负责人的乔国治是其中一员。他告诉笔者,与国外相比,在金融、政企等传统行业,中国企业的体量与业务场景有很大不同,场景更为复杂,数据规模和业务访问负载更大,传统集中式数据库很难再支撑其业务发展,国内传统企业对分布式数据库的需求更大,也更为迫切。

  OceanBase解决方案部非金融行业负责人刘翔指出,国内金融业从两三年前便已经开始进行分布式数据库改造,政企行业大概去年年初开始进行分布式数据库改造,相对滞后一些。

  “(经过近几年的探索发展),分布式改造已经进入到改革的深水区,基本上我们现在接触的项目都是一些核心系统的分布式改造。”刘翔介绍,在数据库选型的POC测试环节,此前碰到的更多是标准的POC测试,验证数据库的标准性能。现在的POC测试更多是针对某个核心业务场景,比如银行的账务、运营商BOSS系统等。

  IT系统的改造伴随着风险。由于数据库是承载业务系统的基础,分布式数据库替换更为谨慎。

  某银行科技部负责人强调,在用国产分布式数据库替换Oracle时,他们非常关注数据迁移过程中的停业时间,“如果我能预估出来,不管是停一个小时,或者是两个小时三个小时,我们提前发公告安排合理的停业窗口都OK,对我们来说最大的风险其实是未知的风险。”

  而这种未知的风险需要国产数据库厂商来化解。

国产数据库如何顺利渡河?

  刘翔介绍,金融政企在数据库选型时,比较关注对原有核心系统的适配兼容性,高可用、高可靠等安全性,扩展性以及需要不弱于原来数据库的性能。此外,由于目前分布式数据库改造并没有形成成熟可供参考的标准,分布式数据库改造承载着企业机构面向未来技术发展的知识转移重任,“很多客户在选择数据库时非常看重数据库厂商是否有长期的发展的策略,能不能确保长期服务的可持续性。”

  在进行分布式数据库改造时,目前还会面临一些共性的挑战。

  分布式数据库有分库分表中间件和原生分布式数据库两种路线,当企业决定进行分布式改造时,首要考虑技术路线选择。

  分库分表中间件VS原生分布式数据库

  所谓分库分表中间件技术路线,即数据库访问中间件,中间件不保存数据,只负责数据的分片、数据汇总和跨节点分布式事务的处理等功能,后端的关系型数据库负责核心引擎功能,如数据的存储、计算以及单节点内事务处理等。而原生分布式数据库,会重构数据库的核心处理引擎,原生支持数据切分、分布式事务处理、全局一致性等能力。

  乔国治指出这两种技术路线各有优劣,分库分表中间件并没有对数据库的核心处理引擎做多少改造,依然沿用了原来单点数据库的核心能力,在数据库之上通过一层中间件把多个数据库的单点实例整合到一起。分库分表中间件架构最大的优势是能够以最小的代价在最短的时间内突破单点数据库的瓶颈。但也有其短板,比如目前分库分表中间件无法做到动态负载均衡,对复杂SQL查询会有限制,在线水平扩展性以及全局一致性等方面也有挑战。而原生分布式数据库并没有以上瓶颈,与此同时原生分布式数据库拥有强大的数据库内核团队,在数据库核心引擎方面具备真正的“技术兜底”和“产业升级”能力,遇到问题也可以更为及时的做出响应。

  以OceanBase为例,OceanBase是原生分布式数据库,能够做到以最快的速度响应客户需求,提供业内高标准的服务体系。OceanBase坚持把简单留给客户,把复杂留给数据库。某金融保险客户原系统使用Tuxedo中间件,在系统升级替换过程中,我们尽量让客户减少改造,而是对OceanBase内核进行了改动。

  刘翔指出,核心业务系统面临着数据量大、高并发等挑战,如果采用分库分表中间件可能会涉及到对大量侵入性改造,而原生分布式数据库,可以兼容原Oracle分区模式,基本上不会带来应用的侵入性改造,这也是是很多大客户选择原生分布式数据库架构的主要原因之一。

  “企业选择了一个(数据库)产品之后,意味着选择了未来五年甚至十年的技术路线,我相信大多数用户从长远角度来看,会更愿意选择原生分布式架构,这是真正代表未来的技术发展趋势。”乔国治说。

  新能源汽车与国产数据库的发展非常相似,未来趋势的答案虽然明显,但是通向未来需要一个过程,正如现在大路上跑的基本都是燃油车,也有不少油电混合车,但是纯电动车还是少数。当下国内金融、政企核心业务系统还是以传统数据库为主,在分布式改造过程中,由于分库分表中间件技术相对成熟,目前有很多企业采用了分库分表中间件方案,但放眼未来,原生分布式数据库一定会成为越来越多企业客户的首选。

  “从技术实现上看,就没有一款可以包打天下的数据库,在实际使用时,应根据业务场景和业务特点,选择合适的数据库。当然,在实际选型时,还应关注厂商的研发能力、以及实施的案例等。”某银行系统架构师分析两种分布式数据库技术路线时曾如此强调。

  数据库迁移能否做到应用无感知?

  乔国治指出,数据库替换过程中,做到应用迁移完全无感知是比较理想化的状态。即便换双同样的新鞋,脚可能还会有不舒服的时候,更何况数据库替换这样复杂的工程。他指出现在国内企业普遍采取比较理性的态度,能够理解迁移过程中难免会遇到适配等问题,“要减少迁移过程中的麻烦,数据库厂商能够帮助客户尽量让迁移过程更平滑,更快速,我觉得这个其实是客户真正的需求。”

  想要让迁移过程更平滑、快速,首先需要解决数据库兼容性问题,比如Oracle兼容性是当下国产数据库产品发展重点,目前没有一家厂商可以做到100%兼容Oracle。不过OceanBase这样的国产数据库已经可以做到Oracle主流功能的兼容,在某些特定功能使用的地方,也会快速响应客户需求进行适配。比如,OceanBase也应客户需求对现在已经很少使用的嵌入式Pro*C语法进行了兼容,帮助客户将十几年前开发的应用快速移植到OceanBase上。此外,OceanBase还推出了专门的数据库兼容性检查工具,能够针对源端数据库实现自动检查并提供兼容性评估报告,大大提高了数据库兼容性检查的效率。

  数据迁移是数据库替换的另一大痛点,企业机构原有的系统一般有非常多的历史遗产,可能有几十T甚至上百T的数据,而且系统还在不断产生新的数据,不能随便停服。OceanBase创始人阳振坤一直强调做数据库的原则与底线,“服务不能停,数据不能丢。”较为稳妥的办法是双库并行,并拥有完善的回退方案兜底。

  OceanBase在2017年推出了迁移服务(OceanBase Migration Service,简称OMS),在某银行数据迁移时,系统正常营业期间就可以发起全量数据迁移,且可以控制迁移速度不影响源端数据库的正常工作,之后通过增量实时同步逐渐将目标端数据和源端数据追平,在应用系统切换数据源的几分钟内做好数据对比、反向回写等操作后,就完成了数据库切换,将原本需要3小时左右的停业时间缩短到几分钟,保障了应用系统对客服务能力,并且通过切换后的回写机制,应用系统在OceanBase端的更新同样会在Oracle端进行更新,一旦验证发现问题,应用可以随时切换回源库,将切换风险降到最低。“回退方案实际上就是银行系统上线的一个安全绳。”该银行科技部相关负责人说。

商业化之路任重道远

  刘翔在数据库行业已经有20多年的从业经历,初看他的名字不由想到创造了奥运跨栏历史的同名亚洲飞人。而他所加入的OceanBase团队在数据库赛场上同样创造了历史,2019年OceanBase打榜TPC-C,成为全世界第一个通过TPC-C审计的分布式无共享关系数据库。

  正如笔者在《进击的国产数据库,能否挑起高端市场大梁?》文章中所说,总体来看,大多数专家对国产数据库替换核心业务系统持乐观态度,他们认为现在国产数据库已经拥有了技术储备,但是与用户建立信任还需要更多时间。

  比如在产品能力方面,自研的OceanBase历经双十一流量洪峰检验,是真正在世界级难度的实战中磨练出来的数据库,打榜TPC-C证明了分布式数据库可行性,增加了国内企业机构选择国产分布式数据库的信心。

  乔国治认为分布式数据库替换,只有产品和服务还不够,国产数据库商业化之路还是个新手,任重道远。过去20多年,国内金融政企行业快速发展,其IT系统建设基本都是由跨国高新技术企业如Oracle、微软、IBM、惠普等主导,也因此这些客户接受的都是当时世界上最先进的技术、最成熟的解决方案以及最成熟的服务体系等,而核心系统对数据库的要求更为严苛,国产数据库并不会有国民化特殊待遇。

  在乔国治看来,包括OceanBase在内的国产数据库,在商业化道路上可以借鉴过去20多年成熟外企的人才和经验。目前国产数据库厂商都在这方面努力补齐短板,OceanBase在服务体系方面也正在不断完善。

  据悉,OceanBase目前为客户提供了一整套完善的服务体系,包括咨询服务、专家服务、驻场服务、技术支持、认证培训以及第三方开放生态伙伴,提供覆盖全国的7X24h服务,拥有OBCA、OBCP、OBCE多级培训认证体系,提供解决方案咨询、部署实施、交付运维、专家支持等全链路快速响应服务能力。OceanBase交付与服务中心采用“一号位责任制”,有专职的客户成功经理,辅以技术负责人联手保障项目成功,根据项目生命周期的不同阶段,提供不同类型的服务,确保系统成功上线并平稳运行。

  某银行相关IT负责人指出,虽然目前OceanBase和成熟的Oracle相比不具备绝对优势,但是解决问题的时效比较快,与其他开源数据库相比也具有一定优势;某商业银行IT负责人指出OceanBase在功能和性能方面技术领先明显,比如支持MySQL和Oracle、Paxos协议、生态工具等,而双十一和TPC-C打榜是最有力的印证。

  在交付服务方面,OceanBase有不同于其他厂商的交付服务体系。据乔国治介绍,OceanBase在企业交付服务方面做了针对性划分,针对不同客户的不同需求,为其提供差异化的服务。OceanBase交付实施团队分为专职交付实施团队和交付服务架构师团队。前者分布在全国各地,作为基础保障,保证OceanBase客户能够在全国各处就近享受到专业的交付服务。他所在的交付服务架构团队主要为重点客户和复杂项目提供技术架构等高阶服务。此外,OceanBase的售后技术支持团队参照成熟外企的模式把售后技术支持服务做了分层处理。分为一线技术支持、二线技术支持以及三线技术支持成型的团队。

  在对核心业务系统进行分布式数据库替换过程中,国产分布式数据库还需要补短板。比如在产品方面,对Oracle等原有数据库的兼容性需要持续提升。在人才生态方面,需要不断完善,在商业化方面还需要更多的努力。乔国治对OceanBase抱有信心,目前OceanBase已经获得了超过200家客户的支持和认可,并且金融领域TOP200的客户其中四分之一都已经跑在了OceanBase之上。

  分布式数据库的改造说到底最终也要落到创造价值上面,每个数据库厂商也都有长处和短板,合适的才是最好的。

0
相关文章