Top
首页> 焦点关注 > 正文

国产数据库生态建设的基本理念

发布时间:2022-12-08 20:48:41        来源:互联网

从区域格局来看,长三角地区属于一个主体、多个子部分的结构。《长三角区域一体化发展规划纲要》要求上海发挥龙头作用,江浙沪皖发挥各自优势,加强跨区域协调互动

该数据库已有60年的历史。2020年之前,数据库系统被美国垄断,比如商用数据库OracleDB2SQLserver,以及开源数据库PostgreSQLMySQL国产数据库近年来也开始加大投入,逐步进入国家核心系统,如金融、证券等。虽然国产数据库 Vendor的技术与Oracle相比还有差距,但目前来看,最重要的症结并不是技术本身,而是数据库生态的构建。

数据库生态是指基于DBMS软件产品和服务的组织和个人之间相互作用形成的环境,如交流、合作、供需满足等。一个成熟的数据库生态系统,不仅包括功能完善、性能优异、运行稳定的系统,还包括完整的文档和知识库、丰富多样的开发和运维工具链、典型应用案例和评测报告,拥有一批经验丰富、熟悉系统的开发者和用户。典型的数据库生态系统包括以OracleIBMDB2MicrosoftSQLServer为代表的商用数据库生态系统,以MySQLPostgreSQL为代表的开源数据库生态系统,以TPC为代表的事务性能基准评测生态系统。数据库是DBMS软件产品稳定持续发展和商业成功的关键,也是目前国产数据库系统最欠缺的方面。

以下三个方面是我国数据库生态建设的当务之急。

1、数据库评估基准构建

评测基准是评价数据库系统最重要的标准,是数据库系统选择的重要依据,也是推动数据库系统研究和发展的主要动力之一。因此,可以说评测基准是支撑数据库行业健康发展40多年的最重要支柱之一。比如TPC系列基准的出现和发展,使得很多关系数据库管理系统厂商能够在一个公平开放的环境中竞争。

在数据库系统普遍适应云计算平台、采用分布式架构、提供越来越多新的数据类型支持和新的数据管理和数据处理服务的场景下,以TPC系列为代表的现有评测基准无法满足当前和未来系统比较、系统选择、指导R&D、规范行业的需求。同时,作为企业和行业标准的基础和前提,形成能够反映我国应用需求和系统厂商优势的评测基准,也是规范我国数据库行业,培育国产数据库系统的前提。

分布式数据库系统的正确性测试:新的数据管理系统一般采用分布式架构,以实现可扩展性、高性能和高可用性。分布式架构还带来了支持分布式事务的复杂并发控制协议和支持高可用性和快速恢复的分布式共识协议。协议的正确性和项目实现的正确性将影响分布式数据库系统的正确运行。一套完整的分布式数据库事务正确性测试方法和开放易用的测试工具对于推动分布式数据库系统的研究和发展,促进新的数据库系统在关键任务应用中的替代是必要的。现有的评估工具无法实现这一目标。

面向应用的评价基准构建方法:随着数据管理系统在信息系统中作用的提升,其应用范围和多样性较其诞生时有了质的飞跃。2014年图灵奖得主MichaelStonebraker提出了经典结论“Onesizedoesnotfitall还有迈克尔杰。Carey认为数据库系统的发展将呈现出“Onesizefitsabunch”的趋势,即每一种具有相似特征或需求的应用都需要不同的数据管理系统。近年来,国内外涌现的新型数据库系统验证了这一趋势的到来。“Onesizefitsabunch”不仅要体现在新系统的出现上,还要体现在相应的评测基准上。TPC benchmark系列的精髓是使用“Onesizefitsall”模型来评估所有系统。然而,类似云环境、嵌入式环境、现象级事务处理、多模态数据管理,以及结合机器学习/AI的数据管理应用,普遍缺乏开放、权威的评测基准。一方面,设定一个涵盖所有应用需求的恒定基准是昂贵的,另一方面,也难以适应快速变化和发展的应用场景。构建典型应用的评测基准,发展面向应用的评测基准构建方法和理论,实现定制化的评测基准构建工具,是形成适合新型数据管理系统和应用开发的评测基准,进而为国产数据库 industry的发展保驾护航的前提。

新数据库系统的评估基准:新数据库系统(云数据库、分布式数据库、AI原生数据库等)的形态、服务提供模式和依赖的硬件环境。)变化很大。传统的响应延迟、系统吞吐量等性能评价指标已经不能准确、全面地反映新系统的特性。比如,对于一个几乎可以线性伸缩的系统,无论是系统的最高吞吐率还是单机的平均吞吐率都不能反映系统的可伸缩性。应用数据库厂商和应用数据库厂商都迫切需要新的评测基准,能够评测云服务能力、系统可扩展性)/弹性)/可用性)/能耗和新硬件利用率。新的评价指标和评价方法的制定需要应用单位确认其对系统比较和选择的实际意义,也需要数据库厂商的深度参与,以体现众多系统的特点和优势。这项工作对于引导系统的研发方向,争夺数据库系统发展方向的话语权非常重要。

2、开源数据库的生态建设

在开源数据库系统的发展中起到了重要的作用:最早的关系数据库系统之一的Ingres,诞生之初就是用BSD协议开源的;拥有广泛用户的MySQLPostgreSQL都是开源系统;安装量最大的数据库系统SQLite也是一个开源系统。而且,即使是OracleIBMDB2这样的商业闭源数据库系统,也依赖于一个庞大的开源生态系统,里面有很多开发和运营工具。

开源数据库的生态建设在以下五个方面具有重要意义:

开放技术和安全可靠性保障:关键核心任务的应用对系统的安全性和可靠性要求极高。开源系统有助于安全审计、公开评估、及时发现和修复bug

用户反馈收集和经验积累:优秀的系统是用过的,需要基于大量应用的使用进行优化升级。开源有利于应用推广、问题反馈和收集,也为用户提供了经验积累和交流的媒介。换句话说,开源社区将以众包的形式围绕数据库系统构建知识库。对于新兴的数据库系统产品和厂商来说,这将大大节省厂商自己构建知识库的成本。

以及开发和运维工具链建设:数据库系统只是应用软件栈中的一环。应用设计开发、中间件适配、应用运维都需要专门的工具。由于数据管理系统的复杂性,适合一个系统的工具通常不适合其他系统;由于应用环境的复杂性,数据管理系统可能需要适应不同应用中的不同操作系统、中间件、开发环境或其他工具。对于一个数据库系统厂商来说,尤其是新系统,短时间内搭建这样一个工具链,成本是很大的。开源是积累社区力量,减少重复工作,构建工具链的有效途径。

用户产业链的培育:数据库系统,尤其是新系统,需要吸引用户、应用开发者和服务提供商。开源是消除系统神秘感、宣传系统、培养潜在用户、构建开发、集成、运维产业链的有效手段。

R&D人才教育和技术探索:数据库系统的核心R&D需要大量经过系统培训的R&D人才。R&D人员不仅需要丰富的理论知识积累,还需要大量的工程实践。开源系统是阅读优秀代码、实现理论验证和工程实践训练、探索新方法和新技术的最佳载体,从而形成研究成果验证和转化的最佳载体。

以上五个方面的需求包括数据库厂商、应用单位、R&D机构,以及个人研究人员和工程师,从核心技术研发、问答和文档建设,乃至社区文化建设都进行了长期投入,从而形成围绕数据库系统产品的开源社区。

3、产学研用深度合作

数据库涉及的技术链条长,内部模块耦合度高,与软件栈和硬件平台的其他部分关联度高。无论是数据库系统的核心研发、评测基准的构建,还是开源生态的建设,都需要产学研各方的紧密合作。

近年来,华为GaussDBPingCAPTiDB、奥星贝斯Oceanbase、阿里PolarDB等国产数据库系统都开始通过开源构建多方参与的社区生态。同时,数据库厂商也通过项目与高校和科研院所进行了广泛的合作。代表性的合作计划有CCF-华为数据库创新研究项目、腾讯犀牛鸟项目、阿里Air项目等。这些项目使制造商和研究机构形成了相对稳定和密切的合作关系。

数据库系统的发展越来越具有应用驱动创新的特征。系统的开发受到应用需求的刺激和驱动。目前,在数据库系统研发和生态建设方面,数据库系统厂商与高校、科研院所等研究机构的合作较多,同时系统厂商与应用方也有密切的合作。然而,在联合参与的产学研合作方面仍然不多。与美欧等先进高校和科研院所相比,我国的科研院所面对R&D系统原型的应用,再通过开源或企业合作的方式进行孵化或转化,从而形成一条具有较大影响力的数据管理系统产品研发之路,仍需探索。这不仅需要多方合作模式的创新,也需要我国科研机构的成果和研究绩效评价机制的创新。

:学校要承担人才培养和引领研究的使命。(1)在本科生培养中,不仅要教会学生什么是数据库,如何使用数据库,还要教会学生如何设计数据库,为什么要设计数据库,让本科生知道为什么。此外,高校还应推动国产数据库进入课堂,让学生更多地了解和体验国产数据库以及如何使用国产数据库 system,逐步形成一系列实验。在理论教学的同时开展工程实践教育和研究性教学还有待进一步研究。虽然国内开源数据库在进入计算机等专业教学体系时还处于探索阶段,但正通过教育部产学合作教育项目积极推进。(2)在研究生培养方面,教师也要深入了解企业界的需求,凝练有价值的题型,带领学生做那些真、难、重的重要挑战性题型,即数据库系统中重要的、真实的、有挑战性的、共性的基础题型。学校也要承担起引领科研的使命,突破“01”的难题,引领行业未来发展。

:科研机构主要负责克服当前瓶颈的基础性、共性关键问题,如分布式事务与Paxos的集成、全局高可用等技术,解决当前具有挑战性的问题。学校和科研机构也要深度合作,推动领先技术的研究和落地。

:数据库R&D企业应承担开发国产数据库的使命。他们一方面要解决数据库卡脖子的问题,另一方面要推动技术创新和进步,给数据库用户带来新的价值。目前,OLTP存在一些问题,如稳定性、生态性、兼容性等。企业界应该坚持解决这些核心问题。此外,还有许多新的数据库,如图表、时间序列、流、多模态等。这也需要百花齐放,百家争鸣。

:数据库用户不要简单的要求更换数据库提供商“apple2apple”,而是要通过数据库升级迭代来引领产品和应用的发展,从未来的角度来看待数据库的升级。数据库用户也要思考为产、学、研提供有价值、有前景的应用真实需求,推动国产数据库 field的跨越式发展。

4、总结

数据库生态建设是推动国产数据库系统和产业健康发展的关键,也是推动国产数据库系统助力产业数字化转型,实现关键核心任务对国外商用数据库系统替代的关键。

数据库生态的建设需要开发新应用场景的评估方法和工具,构建一个积极参与、紧密互动、持续成长的社区,培育包括用户、产业链厂商、R&D梯队在内的社区团队。对于开发历史较短的国产数据库系统厂商来说,开源是构建这样一个生态系统的重要途径。

围绕数据库系统开展产学研用户的紧密合作才刚刚开始。在现有开源、项目化合作的基础上,还需要做大量的工作引入应用端,同时将合作延伸到基础人才的培养,探索出一条国产数据库系统R&D和生态建设的新路。