当前位置: 首页 > 科技观察

金融行业数据库自主创新之路

时间:2023-03-19 02:07:57 科技观察

随着近年来国内外形势的变化,越来越多的企业开始重视IT基础设施的自主创新。金融业作为关系国计民生的支柱产业,对这一点尤为重视。在IT基础设施中,数据库作为三大基础软件之一,作为交易和数据的主要载体受到了更多的关注。本文结合数据库技术的发展趋势和金融行业的特点,阐述了金融企业如何实现数据库的自主创新。在正式上线之前,先说说对“自主创新”的理解。一方面,存在基础软件供应链的安全问题:在主权范围内采用厂商完全控制知识产权的软件,不受国外产品和服务体系供应的限制。另一方面,企业可以根据自己的意愿,根据自己的需要和想法,在不违反授权的情况下,自由修改和使用软件,无论是开源软件还是商业许可软件。一、企业为什么要走上自主创新之路企业选择走上自主创新之路,有内因和外因。1)数据库自主创新供应链安全的关键因素最近的很多事件给我们带来了很多启示,我们需要更加关注国家技术供应链的安全。在极端情况下,无论是商业产品还是开源项目,都面临着相同的情况,即只与核心技术在谁手中有关。这里需要区分的是,谁拥有核心技术,而不是源代码。源代码不是技术,而是技术的载体。没有技术带头人,即使有源代码也无法继续开发。从企业乃至国家的角度来看,只有从根本上解决技术供应链的安全和可持续发展,才能实现真正意义上的自主创新。金融合规要求金融行业作为数据密集型行业,大量业务依赖于数据的产生和流通。因此,金融行业对作为交易和数据载体的数据库提出了非常高的要求,比如数据库的稳定性和可靠性。此外,金融行业的数据通常价值很高,因此对数据安全性也有极高的要求。作为关系国计民生的重要行业,国家也将金融业列为重点监管行业。金融创新的基础近年来,金融业务正在悄然发生变化。以银行业为例,过去网点靠收存放贷等人工作业;现在,随着互联网的转型,网上银行、手机银行、数字银行等多种业态应运而生。以上形态对底层基础设施提出了新的要求,如何通过底层技术革命推动金融服务代际更替。数据库作为底层基础设施实现的重要一环,也被赋予了更高的要求,包括分布式、HTAP混合负载、多模式、智能应用等能力受到更多关注。这些都对金融企业如何用好数据库,乃至如何掌控这个技术栈的发展提出了更高的要求。2)顶层引导,国家政策解读除了以上因素,作为金融监管者,国家积极鼓励金融行业科技自主创新。2022年1月,银保监会发文《银行业保险业数字化转型的指导意见》。《意见》提出,“要加快数据库等通用软件技术服务能力建设,提高新技术应用和自主可控能力。坚持关键自主可控原则”。对企业经营发展产生重大影响的技术、关键平台、关键部件、关键信息基础设施要形成自主研发能力,减少对外依赖,避免单一依赖。”在开源技术方面,国家从战略层面积极倡导企业通过开源推动自主创新能力建设。例如,2021年发布的《关于规范金融业开源技术应用与发展的意见》指出,要把开源技术作为金融机构“提升核心自主创新能力的重要手段”,鼓励金融机构广泛应用开源技术,同时“加强开源技术研究储备,掌握核心因此,在开源技术方面,金融机构不仅不能停滞不前,还要加大技术和资金投入,不断加强对开源技术的储备和应用,以及最后“依托金融行业丰富的业务场景,推动开源技术迭代升级。”2、开源技术推动自主创新发展数据库作为三大基础软件之一,其复杂度非常高。对企业快速掌握并具备自主创新能力非常重要,开放来源无疑为企业提供了一条捷径。数据库产品作为“需要使用”的基础软件,通过开源模式可以带来三方面的助力:一是大规模场景,通过开源实现快速传播部署;二是透明的开发协作机制,通过开源构建全生态,不断迭代打磨,形成新一代数据生态;三是汇聚创新智慧,让更多优秀开发者参与进来,保持数据库技术持续领先,与世界领先技术同步。在以上三个方面,开源软件比闭源软件有很多优势,包括价格、免费定制、技术支持、安全、避免厂商锁定等。在数据库领域,知名的开源数据库产品MySQL和PostgreSQL位列流行数据库前五,就是最好的证明。中国的开源开发者已经成为仅次于美国的第二大开发者群体,并有望在未来10年内成为第一。开源已成为我国基础软件实现自主创新的重要路径之一。1)正确认知和使用开源软件由于一些历史原因,企业在对开源软件的认知和使用上存在一些误区,下面将一一分析。使用开源不等于自主创新开源是自主创新的最佳路径,但使用开源不等于自主创新。开源的本质在于开放、共享、协作。开源作为一种创新的协作模式,不仅仅局限于开源代码的软件开发,还包括更广泛的开放技术领域和协同创新的理念与机制。但是,企业使用开源产品,并不代表拥有独立的开源能力;厂商使用开源打造的商业产品,不能说是完全的自主创新。这个在后面的“开源之路”中会详细说明。核心场景可以使用开源。开源不是主流,只会用于非核心系统。这是给很多企业的历史认知带来的固有印象。但是从软件本身的角度来看,开源和商业并没有本质的区别。从本质上讲,开源不是一种商业模式,而是一种新型的生产协作关系,用于大大提高软件供应方的交付效率。通过大量用户的参与,可以快速积累测试用例,帮助产品快速成熟。企业对开源并不主流,其本质更多是出于对开源软件“不可控性”的担忧。针对这种担忧,一方面,企业可以加大投入,积极参与开源社区来解决这一问题;另一方面,他们也可以通过使用开源软件的商业服务来规避潜在的风险。开源是有代价的开源没有许可证或版税,但这并不意味着它没有成本。与使用闭源的成本取决于软件的规模不同,开源的成本来自多个方面。一方面,与成熟的商业产品相比,开源软件需要企业在早期的选择和评估阶段投入更多的精力,需要对开源产品有详细的了解;另一方面,在后期的使用维护过程中,还需要逐步培养企业自身的技术能力,这也是需要投入的。拥有懂开源软件开发和维护的人才,本身就是很多企业的一个门槛。能够使用和控制开源软件的企业往往具有更强的创新能力和人才积累。开源也很稳定。开源软件拥有完整的生态,通过社区完成代码审查,可以快速发现并纠正错误;而闭源软件开发者完成这个过程,往往需要很长时间。通过开源,用户可以更方便地发现和定位bug,并通过开源协作机制更早地解决问题。所以开源软件也可以很稳定。开源更有利于安全与传统的闭源软件不同,开源软件项目是多人合作完成的,代码量大,功能复杂,依赖和引用复杂。一旦出现安全问题,其安全漏洞的放大效应非常显着。如果发现开源漏洞,在修复过程中会消耗人力物力,对运维团队有一定的能力要求。因此,使用开源的企业需要做好版本管理、权限分配、信息保护、安全策略等工作,开源也是安全的。任何软件都有bug,但闭源软件往往更致命,因为它的不透明性。大多数具有商业支持的开源软件比闭源软件稳定得多。2)开源需要关注供应链问题开源软件的供应越来越受到重视。如果不解决开源软件供给的隐患,毫无疑问,数字基础设施将建在沙堡上。重新审视开源风险问题将成为国家软件供应链安全的重中之重。开源软件可能面临的“断供”、“后门”等问题值得关注。近年来,开源软件供应链事件频发。在“开源无国界”的理想主义受到现实挑战的情况下,开源软件供应链的安全问题值得深思。根据美国出口管制条例,所有“公开可用”的源代码(不包括加密软件和其他具有加密功能的开源软件)不受出口管制。但是,如果一个开源项目或开源组织声明遵守美国的出口管制条例,一旦美国修改条例,将一些核心基础软件纳入管制范围,那么一大批核心开源项目将受到制约。出口管制。只有掌握了核心领域的核心技术,才能在关键时刻不受制约。因此,从长远来看,要想摆脱依赖,消除开源背后的深层次BUG,还需要从核心技术的自主创新入手,构建安全可靠的底层信息技术体系,保障安全。完善关键信息技术实施。三、数据库自主创新路径解读1)开源助力数据库自主创新前面提到,数据库作为一个大型基础软件,非常复杂。如果实现“弯道超车”,开源无疑是一条真正可持续的发展之路。在本地化需求不断增加的背景下,越来越多的金融企业开始关注开源数据库的使用。正是通过开源协作、创新和人才培养的成果,加快了自主创新的进程。根据第三方机构DB-Engines的研究,2021年全球部署的开源数据库数量将超过商业数据库,MySQL和PostgreSQL开源数据库位居前五,也是最大的两个公有云数据库服务团体。国内数据库厂商和实力用户也纷纷对自研产品采取开源策略,通过构建生态圈加速产品推广普及。通过产、学、研、用相结合,促进国产数据库的全面发展。在金融行业,原有的中心化数据库技术高度依赖国外厂商,IT团队缺乏自主创新能力。在一定程度上存在信息安全风险,不能满足行业本土化的要求。近年来,随着数据库领域技术的迭代,云原生数据库、NewSQL、分布式数据库等一大批具有代表性的国产数据库产品进入人们的视野,实现变道超车。经过多年的打磨,国内的数据库已经具备了成熟可持续的生态。在银行、保险、证券等金融行业有很多成功案例,包括银行核心系统的案例。其稳定性和可靠性已经过验证,可以满足金融级数据库需求。可以说,国产数据库已经成为自主创新的主力军。正如电动汽车跨越式取代燃油汽车一样,新一代国产数据库正在通过技术升级迭代取代传统的中心化数据库。从全球技术趋势来看,以分布式、云原生、HTAP混合负载、AI&DB、多模等为代表的新技术正在数据库领域取得突破。作为全球数字经济最活跃、数据规模最大、数据场景最多样化的市场,中国极大地推动了数据库的技术发展。如何在技术上保持持续领先,符合数据库技术的长期发展路线,也是企业必须考虑的问题。因此,企业在考虑自主创新的同时,必须清醒地认识到,自主创新不是要取代别人的过去,而是要创造自己可持续的未来。不要简单地将自主创新理解为“产品换产品”的定位,而是通过自主过程掌握核心技术,真正做到可持续可控2)依赖“指开源”是有风险的,MySQL和PostgreSQL有一个巨大的使用基础。国内很多商业产品都是基于这两者构建的,或者兼容这两种数据库生态方式。无论哪种方式,我们都想充分利用两者广泛的生态效应。对于后者,如果代码完全自研,有利于自主创新;但对于前者,需要充分考虑风险。据国内某三方机构调查的200多个国内数据库,大部分是在国外开源数据库的基础上开发的。它的大部分上游开源产品都使用MySQL或PostgreSQL。上游生态社区仍受国外控制,对下游数据库产品的供应链安全造成一定影响。从部分业内人士的反馈来看,有的可能在短期内存在生态停滞问题,有的从中长期发展角度看可能会受到制约。与之相对应的是,完全国产自研厂商自主设计数据库底层结构,研发数据库内核,积极开源中文数据库。在完全控制代码的同时,对供应链上游的开源社区拥有绝对的控制权。产品的未来研发方向具有绝对的主导权和话语权,是国产数据库实现供应链安全的必要和最佳手段。MySQL和PostgreSQL在开源风险方面有所不同。PostgreSQL采用的许可证是一种更加自由的开源许可证,类似于BSD或MIT许可证。其全球开发团队的主要成员分布在世界各地,不受其背后任何企业实体的控制。对应的MySQL同时使用GPL和商业许可(即双许可模式)。GPL是公共许可证,遵循GPL的软件是公共的。如果一个软件使用GPL软件,那么该软件也需要是开源的。如果不能满足GPL,则需要商业许可证。MySQL由甲骨文公司控制。要获得商业许可,您需要联系OracleCorporation并受OracleCorporation的约束。因此,从开源的角度来看,MySQL的开源风险要高于PostgreSQL。一直以来,技术从业者都比较关心MySQL的风险。根据MySQL开源遵循的GPLv2许可协议,旧版本的MySQL不能更改开源许可或关闭源;对于新版本,不排除这种可能,毕竟受甲骨文公司约束。从过去一年MySQL开源生态活跃度下降的趋势来看,我们应该未雨绸缪。从国内用户的角度来看,尽快建立国内自主创新的MySQL兼容生态系统,进而利用国内的MySQL兼容生态系统服务于庞大的MySQL群体成为当前的重点。从国内厂商的角度来看,需要遵守GPLv2的所有规定和约束,才不会引发知识产权层面的纠纷,MySQL源码才能合法自由使用。3)“自主开源”路线优于“引用开源”从目前国内数据库的开源技术路线来看,分为“引用开源”和“自主研发+自主开源”两类.目前,国内数据库大多采用“引用开源”的方式。作为后者,站在用户的角度,更需要关注其对源代码的把控能力。可以从以下几个方面来判断,比如是否有覆盖整个数据库整个技术栈的研发团队?数据库周边开发测试工具平台是自主研发还是国内厂商的产品?是否拥有软件的所有代码和文档,包括相关的版权、商标和专利,没有知识产权纠纷?比如引用国外开源代码,是否符合国际开源政策,是否符合国家进出口相关规定,是否合法合规。只有这样,才能全面、准确地认识数据库产品是否真正属于自主创新,这也是金融企业评估调查的重点。毕竟,要实现全方位的自主创新,需要一个完整的、系统的团队。与甲骨文等1万到2万人规模的数据库厂商相比,很难想象一家规模不足300人的数据库公司能够保持完整的开源技术创新体系。结语自主创新、自主研发是一条艰难但必经的发展之路。近年来,在国家创新驱动发展战略的引领下,自主信息技术发展取得长足进步。同时,我们也应该看到,我国整体自主创新能力和研发能力与发达国家相比还存在一定差距。核心关键技术创新能力不足,自主创新任重道远。希望国内数据库行业的同仁,以自主研发、自立自强为发展基点,深耕细作、攻关攻关、实现突破!让中国在建设自主信息化体系的道路上更加坚定自信地走下去。