数据库现状与发展趋势 数据库的发展
数据库的发展摘要:,下面我们就来说一说关于数据库现状与发展趋势 数据库的发展?我们一起去了解并探讨一下这个问题吧!
数据库现状与发展趋势 数据库的发展
数据库的发展
摘要:
数据库是IT软件产品中一个非常重要的模块。国产数据库的发展经历了技术萌芽期,国外厂商垄断期,国产萌芽期,快速发展期四个时期。数据库技术可以相应地分为三个发展阶段,即第一代的网状、层次数据库系统,第二代的关系数据库系统,以及新一代的数据库大家族。从Informix的收购中可以看出国产数据库发展的艰辛与不易。历史表明,唯一弯道超车的机会就是当环境和产业发生拐点和变化的时候,现在这个云时代的开端就是我们的机会,于是阿里的PolarDB和OceanBase出现了。近年来国内出现了华为GaussDB,京东的 StarDB,腾讯云TDSQL等一系列研究成果。许多企业在自研方面做着努力,我们可以看到,目前国产企业正在更多地采取自研这条技术路线,争取打破技术封锁,国产数据库的春天已然到来。
关键词:数据库系统;OceanBase;腾讯云TDSQL;华为GaussDB ;京东的 StarDB
当人们提到计算机,提到IT行业的高新技术国产化,人们首先想到的往往是芯片和操作系统,但是我们很可能会忽视IT软件产品中另一个非常重要的板块,它就是数据库,可以这么说,如果没有数据库,就没有企业的根本,数据库、操作系统与中间件被称为基础软件三大件。国产数据库是如何发展的呢?
1 国产数据库的发展
1.1 技术萌芽期
二十世纪八十年代,国外就已经出现了商业数据库。在这个背景下,我国数据库理论研究才刚刚起步。1977年,在黄山召开了中国第一次数据库研讨会。1982年萨师煊教授和王珊教授推开了中国数据库领域的大门,在人大开设了国内第一个本科计算机专业并编写了中国第一部数据库教材《数据库系统概论》,我国才拥有第一批成型的数据库人才。[1]
1.2 国外厂商垄断期
随着九十年代的改革开放,经济巨变,中国数据库的种子终于萌芽,一系列国产数据库公司终于出现,Oracle 席卷中国,占据了中国很大的市场,但是中国也有了第一代原型数据库,比如东软的Openbase、中软的Cobase和华科的DM Database。这些是中国最早的一批数据公司,经过几十年的技术积淀,现在这些公司可以称的上是国内产品的顶梁柱,但是国产数据库还面临着严峻的困境,这些产品背景主要源自国家的各项研究计划,且均有大学科研背景,天生缺乏行业和实际产业的介入,因此,产品在商业市场表现平平。
1.3 国产萌芽期
进入21世纪,中国经济开始猛增,市场为了和世界接轨,必然选择更加成熟的解决方案,这就使得国产数据库进入了更加尴尬的恶性循环的境地,产品初期需要不断的试错和验证的机会,客户没有时间和办法陪着试错和成长,没有客户生态就更差,更没有办法进行产品投入和迭代。为了解决以上问题,国家的 863 计划设立了“数据库重大专项”,有了国家政策的扶持,达梦数据库、人大金仓、南大通用和航天神舟这些公司开始发展,不过在原有的传统关系型数据库领域里,Oracle 和 IBM 的先发优势太大了,当时的环境要求的是经济发展,而不是自主可控,于是国产数据库进入了死循环,没有市场就无法验证数据库是否可靠,无法验证数据库是否可靠那么久没有公司敢用,也就没有市场。
1.4 快速发展期
直到2010年后的云计算时代和开源社区的兴起,国产数据库开始了弯道超车,阿里喊出了“去IOE”的口号,国产数据库领域真正进入到了蓬勃发展的时代,一系列优秀的数据库和数据库公司诞生了,比如TiDB、OceanBase、巨杉、星环、PingCAP等等。
2 数据库技术发展:
数据库技术可以相应地分为三个发展阶段,即第一代的网状、层次数据库系统,第二代的关系数据库系统,以及新一代的数据库大家族。[2]
2.1 第一代数据库系统:
层次模型和网状模型都是格式化模型。它们从体系结构、数据库语言到数据存储管理均具有共同特征,是第一代数据库系统。第一代数据库系统有如下两类代表:
(1)1969年由 IBM 公司研制的层次模型数据库管理系统 IMS 。
(2)美国数据库系统语言研究( CoDASYL )下属的数据库任务( DBTG )对数据库方法进行了系统的研究和探讨,于20世纪60年代末70年代初提出了若干报告,称为 DBTG 报告。 DBTG 报告确定并建立了数据库系统的许多概念、方法和技术。 DBTG 所提议的方法是基于网状结构的,是网状模型数据库系统的典型代表。
2.2 第二代数据库系统:
支持关系数据模型的关系数据库系统是第二代数据库系统。1970年, IBM 公司 San Jose 研究室的研究员 EF . Codd 发表了题为《大型共享数据库数据的关系模型》论文,提出了数据库的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。20世纪70年代是关系数据库理论研究和原型开发的时代。经过大量高层次的研究和开发取得了以下主要成果:
(1)奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明。
(2)研究了关系数据语言,包括关系代数、关系演算、 SQL 及 QBE 等。确立了 SQL 为关系数据库语言标准。由于不同数据库都使用 SQL 作为共同的数据语言和标准接口,使不同数据库系统之间的互操作有了共同的基础,为数据库的产业化和广泛应用打下基础。
(3)研制了大量的关系数据库管理系统原型,其中以 IBM San Jose 研究室开发的 System R 和 Berkeley 大学研制的 INGRES 为典型代表,攻克了系统实现中查询优化、事务管理、并发控制、故障恢复等一系列关键技术。这不仅大大丰富了数据库管理系统实现技木和数据库理论,更促进了数据库的产业化。
第二代关系数据库系统具有模型简单清晰、理论基础好、数据独立性强、数据库语言
过程化和标准化等特色。
2.3 新一代数据库系统:
新一代数据库系统以更丰富多样的数据模型和数据管理功能为特征,满足广泛复杂的新应用的要求 新一代数据库技术的研究和发展导致了众多不同于第一、二代数据库的系
统诞生,构成了当今数据库系统的大家族。
这些新的数据库系统无论是基于面向对象模型还是基于对象关系( OR )数据模型,是分布式、客户机﹣服务器体系结构,还是混合式体系结构,是在 SMP 还是在 MPP 并行机上运行的并行数据库系统,乃至是应用于某一领域(如工程、统计、地理信息系统)的工程数据库、统计数据库、空间数据库等,都可以广泛地称之为新一代数据库系统。
1990年,高级 DBMS 功能委员会发表了《第三代数据库系统宣言》的文章(以下简称《宣言》),提出了第三代 DBMS 应具有的三个基本特征(称为三条基本原则),从三个基本特征导出了13个具体的特征和功能(称为13个命题)。这三个基本特征是:
(1)第三代数据库系统应支持数据管理、对象管理和知识管理。
(2)第三代数据库系统必须保持或继承第二代数据库系统的技术。
(3)第三代数据库系统必须对其他系统开放。
3 国产数据库技术:
我们从Informix的收购中可以看出国产数据库发展的艰辛与不易。Informix是IBM的一款数据库,IBM把它的代码授权了多家中国的公司,这套代码搁置了十余年,虽然可靠,但是创新不足,即使这样,Informix的主要模块的源代码就有两千多万行,它当年在美国的核心研发队伍就有超过两百人,加上测试和周边团队,不下五百人,而限于国内的市场,国内的数据库企业没有这种规模的团队进行消化,进展十分缓慢。
到了2017年五月,IBM把整个Informix业务卖给了印度,与对中国态度不同的是,这次出售的不仅仅是源代码,而是整个人员、办公室和客户,这已经表明,在Informix代码上发展国产数据库,这条路基本已经走不通,国内的这几个厂商面对十年前的巨量代码一筹莫展,要弄通又得花很多年,而且还是在资金人员充足的情况下,即使能够消化,且不说与世界先进水平差多远,就是与邻国印度相比都难以望其项背,这告诉我们,只靠收购没有自研的路线,很难走通。尽管历尽艰辛,不能否认我们第一代国产数据库公司还是帮助中国做了从无到有的过程,不少涉密、政府、军队的应用,对可用度要求不高,但是对保密要求很高的客户还是适用的。
历史表明,唯一弯道超车的机会就是当环境和产业发生拐点和变化的时候,现在这个云时代的开端就是我们的机会,说起云时代,我们一定要提到一家采取另一条路线的企业,阿里巴巴。阿里巴巴的业务急速发展,一度成为IBM,Oracle在中国的标杆客户,购买产品和服务的价格就是几千万。
迫不得已,阿里开启了自研模式,阿里提出去IOE化,即在阿里巴巴的IT架构中去掉IBM的小型机,Oracle的数据库,EMC存储设备,在开源软件基础上开发的系统,顶着压力,阿里巴巴B2B成功将数据迁移到开源的MySQL上,招聘了许多能够修改这些开源产品源代码的人才,为后期的爆发蓄力,在自研技术的支持下,淘宝2013年下线了最后一个Oracle,支付宝交易替换了Oracle,支付宝总账全面用自制自演的欧神被替换了Oracle,虽然国内大部分企业还是在使用Oracle,但是阿里证明,它不是不可替代的,在阿里去IOE的运动历程中,PolarDB和OceanBase出现了。
3.1 PolarDB
PolarDB是基于MySQL开发的新一代关系型云原生数据库,既拥有分布式设计的低成本优势,又具有集中性 ,集中式的应用性,且完全兼容MySQL,高度兼容Oracle,Polar,DB采用存储、计算、分离、软硬一体化的设计,满足大规模应用场景需求,作为一款云原生的数据库,在软件设计,产品架构,基础设施上都是顶尖的,在性能上也远超MySQL,在特殊场景下最高可以实现6倍于MySQL,而成本只有商用数据库的十分之一。
3.2 OceanBase
OceanBase百分之百完全自主研发,安全可控,性能卓越稳定,兼容性好,容灾性好,是目前阿里业务的重要基石,目前已经被许多企业,政府和银行使用,以六千万分的成绩打破了尘封九年的,由Oracle保持的纪录,三千万分,OceanBase支撑着阿里的业务,平稳的撑过了双十一的严峻考验,一次次的向世界证明国产数据库的能力,目前,阿里云已位居全球云数据库市场份额第三,年增速达到了115%。
4 国产数据库最新成果
4.1 腾讯云TDSQL
2020年12月腾讯云数据库品牌升级,腾讯云原有的TDSQL、TBase、CynosDB三大产品线将统一升级为“腾讯云企业级分布式数据库TDSQL”。全新升级后的腾讯云TDSQL涵盖分布式、分析型、云原生等多引擎融合的完整数据库产品体系。腾讯分布式数据库TDSQL落地东吴证券核心交易系统,也标志着分布式数据库在券商核心系统领域取得突破。
分布式架构凭借在经济性、安全自主、灵活性、 可伸缩性等方面的优势,逐步实现对集中式架构替代。目前,互联网、金融、电信 等行业分布式升级进展较快,以金融和电信行业 为例,其核心业务数据类型均为关系型数据库, 此类集中式数据库所面临的业务体量将呈现爆发性增长。由于单一硬件能力增长有限,所以无法依靠纵向升级硬件扩展存量数据库能力上限。而分布式数据库采用多 种模式实现数据的分散存储,将压力分散到不同服务器上,并不断通过增加存储或计算节点来实现弹性升级,克服了集中式数据库的诸多缺点,业界已有分布式数据库在股份制银行、城商行、二三线城市运营商等实现了核心业务系统的改造落地。[3]
4.2 京东的 StarDB
2021年5月18日京东的 StarDB京东云StarDB恒星数据库成为国内首个完成稳定性专项测试的国产数据库。
京东云StarDB是京东云自主设计、研发的一款关系型企业金融级国产分布式数据库。支持海量数据高并发在线事务处理,具备分布式透明,弹性伸缩、智能运维管控、金融级高可用、简单易用等重要特性。兼容主流数据库协议和SQL标准语法,提供数据安全、数据容灾,在线一键扩容,智能大屏,集群监控,智能诊断根因分析,多维告警分析等一站式数据服务解决方案。让企业专注应用程序设计编码,无需关注数据存储和计算操作细节,让DBA更安全轻松地管理大规模数据库集群。适用于海量数据存储计算、高并发在线交易、多数据中心容灾、业务监管合规、数据库一体化自治等多种场景。
4.3 华为GaussDB
华为GaussDB是一个企业级AI-Native分布式数据库,将AI能力植入到数据库内核的架构和算法中,为用户提供更高性能、更高可用、更多算力支持的分布式数据库。GaussDB基于统一架构,支持关系型与非关系型数据库引擎,满足政企全场景的数据智能管理需求,开启数据库极速与融合时代,加速政企智能升级。
结论:
近些年来,我国若干大型科技公司为了有效提升自有的大数据产品和云计算系统的性能及可控性,减少对国外顶级数据库的依赖,凭借着在大数据、云计算和数据库领域的数据规模和技术积累,都相继研发了具有自主知识产权的数据库产品,这其中以阿里、腾讯和华为公司为代表。
阿里推出的金融级OceanBase数据库、腾讯推出的分布式TBase数据库、以及华为推出的智能原生的GaussDB数据库,经过海量数据的考验和锤炼,都已达到国际先进水平,甚至它们的性能和稳定性要高于国外的Oracle等顶级数据库,在他们各自的产品和系统中,已经实现了对国外顶级数据库的国产化替代。
其中,经过淘宝和支付宝海量数据打磨出来的阿里OceanBase数据库表现尤为突出,在2019年10月3日,权威机构国际事务处理性能委员会TPC披露,在其举办的数据库基准测试竞赛中,蚂蚁金服(支付宝)自研的分布式金融级数据库OceanBase,打破美国甲骨文公司保持了9年的世界纪录,登顶TPC-C榜单,同时也成为首个登上该榜单的中国数据库系统。
Oracle等国外的数据库,都是通用型数据库,通常是满足通用场景下的需求,在个别场景下的某些性能指标可能并不好,甚至是有不足或缺陷的。再就是这些国外的数据库产品在研发的过程中,没有阿里和腾讯等这些互联网公司复杂业务和海量数据的考验和锤炼,无法充分的暴露出一些掩藏很深的性能瓶颈及效率问题。当数据库在海量数据和复杂业务的一些场景下遇到性能瓶颈时,如果用的是国外数据库,等待国外厂商去优化与改进的过程会是漫长的。市场不等人,这可能会给产品和业务带来很多不可控的因素和风险,甚至严重影响到产品的发布与上线。
如果用的是自研数据库,则可以自主的针对不同的应用场景灵活的去做对应的优化,在有些将场景中,可能为了突出一些指标去牺牲另一部分指标,这样就能很好满足系统在不同应用场景下的需求。
自研数据库前期的研发成本和投入是巨大的,但一旦研发成功后,自主可控性要好很多,主动权就掌握在自己的手里了,不再受制于人。此外,数据库在大型数据厂商自有的复杂业务和海量数据的打磨下,会不断进行优化和改进,这样就形成了一个良好的闭环效应。这大概就是多个互联网厂商大力发展自研数据库的主要原因了。
在具备数据库的自主研发能力之后,就可以针对不同的应用领域和场景打造不同级别的数据库产品了。比如阿里就研发了云数据库POLARDB、金融级数据库OceanBase、分布式关系型数据库DRDS、时序时空数据库 TSDB等多种类型的数据库。腾讯也相继推出了文档数据库 MoDb、企业级云数据库 CynosDB、云上时序数据CTSDB、 分布式数据库 TDSQL、企业级分布式在线事务和在线处理数据库TBase等一些列不同级别的数据库。这些数据库根据系统需求,分别被应用在不同的产品和领域中。当前很多银行和企业的信息化系统中还是在大量的使用国外的数据库,是有历史原因的。过去很长第一段时间,国内的数据库市场长期被美国甲骨文的Oracle等国外数据库垄断,所以中国很多信息化系统,特别是银行交易系统,现在沿用的还是这些国外的数据库,这些系统的升级换代需要很长一个过程。
除了阿里,其他企业也在自研方面做着努力,这些是云时代一些其他的国产数据库系统,可以看到,目前国产企业正在更多地采取自研这条技术路线,争取打破技术封锁,国产数据库的春天终于来了,有人甚至说,近几年国产数据库的井喷式出现都要归功于几十年低调踏实的技术积累和技术创新,经过多年发展,国产数据库软件产业已初具规模,目前国产数据库厂商分为两类,一类是传统数据库厂商,包括南大通用,武汉达梦,人大金仓,神舟通用等,一类是新兴的互联网巨头数据库,如阿里巴巴,腾讯,华为和金山云等。
云时代已然起航,值得庆幸的是,我们这一次没有落后,中国已经积累了许多数据库人才,有着潜力巨大的市场,有了足够的国际化视野,我们的下一个目标不仅仅是国内市场,而是国际化市场,我们的产品又在国际市场赢得信任,借助整个数据库市场向云数据库倾斜的优越条件,推广我们的产品。我相信,随着国内逐步采用像阿里云、腾讯云和华为云这些国产化软件产品和信息系统,将会很大程度上缓解对国外数据库的依赖。终有一天,数据库这座曾经压在中国企业,中国技术上的大山将被我们跨过。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com