“咱们又错过了一艘船”?数据库的征程是星辰大海!

​导语 | 关系型数据库体系已经走过了50年的历程,这期间数据库已经成为数字化时代的核心组件。近年来,国产数据库更是百花齐放,走上历史舞台。在历史发展的每一个阶段,数据库技术都经历了哪些关键性的演进,在将来,数据库技术又将走向何方?本文由云和恩墨CEO、腾讯云TVP 盖国强在 Techo TVP开发者峰会「数据的冰与火之歌——从在线数据库技术,到海量数据分析技术」 的《万象更新——数据库技术的发展与将来》演讲分享整理而成,为你们详尽介绍数据库技术的关键演进阶段、领先的技术探索方向,阐述国内数据库发展的最新动向。

点击可观看精彩演讲视频html

1、数据库行业的三大趋势

我带来的主题是“万象更新”,今天,用这四个字来衡量中国的数据库领域是恰到好处的,市场上大量国产数据库不断涌现,不一样的国产数据库在不一样的场景里找到了更广阔的应用空间,这是数据库时代的中国时刻。数据库

为了阐释这些观点,首先分享我对行业的一些判断。安全

1. 走进新数据库时代

首先我认为数据库的技术发展通过了三个时代:从商业数据库时代到开源时代,再演进到今天——我称之为新数据库时代。注意,不少人把今天这个时代称做“云数据库时代”,可是我更愿意用一个“新”字,由于国外和国内的数据库市场呈现出不一样的发展格局。网络

商业数据库时代主要是以Oracle为表明,衍生了一系列商业数据库软件公司,这个时代,不少国产数据库公司在很是早期就开始了探索。架构

第二个时代是以MySQL为表明的开源数据库时代,开源成就了互联网,今天你们使用了不少腾讯的服务、产品,为何可以获得快速的、廉价的甚至是免费的互联网服务?就是由于互联网的底座是由免费和开源的精神承载,开源技术成就了互联网。并发

第三,今天进入了新数据库时代。开源数据库技术依托云产生了价值,过去开源技术很难被评估产生了多少商业销售和商业价值,但今天在云上它们能够被贩售,它的价值就能够被量度。昨天Gartner发出的报告提到微软数据库已经超越了Oracle,成为了全球市场的第一,中国市场上腾讯云、阿里云和华为云是三大数据库的领先者,这说明什么?这说明在新的时代里云成为了数据库最重要的一个阵地。运维

可是中国的数据库领域还呈现出了新的特质——百花齐放的数据库生态。由于国产数据库的自主创新和迭代起步晚,仍要重走一遍国外的技术路,这是中国数据库呈现出的不一样格局。TDSQL是从2012年就开始的,今天有一系列的国产数据库在市场上崭露头角。分布式

2. 数据库成为云上的终极之战

第二个大的趋势是什么呢?是数据库最终成为了云上的终极之战。高并发

由于云最基本的特质是以IaaS为基础,当完成了IaaS这一层的建设,紧接着是PaaS层,PaaS这一层就必须解决数据库的问题,谁可以率先打通PaaS层,谁就可以赢得竞争优点。工具

举个AWS的例子,AWS在2019年宣布将7500个Oracle数据库都完全替换,为何它是一个很是重要的事件?由于在每一年甲骨文的全球大会上,Oracle都会嘲笑一次亚马逊:大家在云上卖开源的数据库、卖大家本身的云数据库,但其实你却要从我这儿购置大量的Oracle License。因此亚马逊就发出承诺,要把它们所有替掉,在2019年完成了。在这个替换的过程当中最终呈现出来的本质是什么?我引用了亚马逊在替换完成以后他们的首席布道官的一段话,他说咱们传统的DBA大部分工做时间消耗在数据库的扩容、存储的扩容以及License许可的谈判上,而传统DBA所作的这些工做今天均可以经过云自助来完成,这是本质上的变化,这个本质的变化是互联网的技术、云的技术使得传统工做能够自动化完成,我认为这本质上是变革的核心。

3. toB市场是数据库成败关键

在中国市场略有不一样,我认为在中国市场未来会是一个公有云和混合云长期共存的时代,并且私有云仍然会占有广阔的市场。在这个发展格局之下会呈现出一种什么样的数据库格局?

我把它归纳为,将云的体验最终要转移到数据上,既然不是全部的数据库、数据都能上到公有云,那么咱们就须要将公有云那些最佳的用户体验、自动自治的特性转移到私有的数据环境部署上,这在分析报告里被称为叫TPC,是说仅仅有了IaaS和基础设施,不能成为一个真正的私有云,还须要具备互联网的用户体验、真正云的弹性伸缩等核心能力。因此我认为在数据库领域,尤为在中国市场上下一步的格局就是云的体验云下化,最终云上和云下会趋于一致,云会成为将来惟一的基础设施提供形态,只不过还有公有、私有的两种说法而已,本质内核趋同。

2、数据库技术的学术界观点

刚才谈的是咱们在工业界生产实践中看到的几大趋势:从商业到开源到云时代,从云上到云下,云上体验的云下化。咱们再来看看学术界在探讨什么,在思考什么。

近五十年间图灵奖所授予的5个数据库领域的大神,第一个是巴赫曼,他是网状数据库的发起者。第二个是科德,他是咱们今天所在探讨的关系型数据库的缔造者,经过他1970年发表的一篇论文,催生了整个关系型数据库波澜壮阔的大格局,他在1981年得到了图灵奖。第三位是格雷,他是事务理论的深刻探究者,他在工业实现上是包括微软等数据库产品的灵魂人物。第四位是迈克尔·斯通布雷克教授,他在2014年得到了图灵奖,也发起了不少数据库项目的创业公司。和你们重点分享一下在2021年刚刚得到了图灵奖的乌尔曼,他的主要成就是在教学领域,他写过很是著名的龙书,是不少数据科学家的启蒙导师。

你们能够稍微思考一下这样的演进过程发生了一些什么变化?从最先的理论奠定人到事务的探索者;再到斯通布雷克在工业界的产品化的尝试——从关系型行存到列存、到大数据,他探索了不少领域;再回归到今天咱们说乌尔曼,他是从学术界、从学校的教育开始,去从新思考这些数据库理论是否是仍然有探索、创新、革新的可能性。我刚才和李海翔老师探讨,他说最近他在思考的就是这样一些事情,试图从事务模型上再作出新的思索创新。因此我把它当作是关系型数据库理论发展到山穷水复疑无路,但你们开始回头来看在这些基础理论上是否是还有柳暗花明的机会,这是个人观点。

乌尔曼教授在他最近的论文里提出了这样一个观点,叫“数据科学之战”。因此你们已经看到了我提到了两个战争,一场是说数据库是云上的终极之战,这是你们公认的;第二场是数据科学之战。在很长一段时间内数据库领域有一种悲观的声音,你们说数据库管理系统正在变得可有可无,作数据库的人常常在谈的一句话是“咱们是否是又错过了一艘船”,这艘船是数据科学。数据科学的蓬勃发展、火热的现状让作数据库的人以为是否是咱们又错过了一班最好的邮轮。可是乌尔曼教授提出,数据库以及由于数据库研究所产生的技术仍然是数据科学最本质的内核,这个没有变,数据库系统的核心一直是如何尽最大的可能去处理最大的数据量,而且应该去研究一切数据。我认为他把数据库的本质又从新阐述出来了,咱们研究数据库的人、研究数据技术的人想作的是什么呢?就是存储一切数据,研究一切数据,最后在这些数据里产生洞察。若是人工智能可以在数据科学里发挥真正的创新做用,那这个世界能够变得更美好,可是它的底座必定是一些原生的数据。

3、Oracle 数据库的核心演进和创新

1. 宏观演进

既然学术界有这样一些见解,认为存储一切数据、研究一切数据仍然是数据管理系统的本质,那我想跟你们回顾一下在今天数据库领域里仍处于王者地位的Oracle是怎样走完这条路的。

我稍微列举了一下从Oracle8到今天走过的关键历程。在Oracle8这个版本上,你们看到Oracle已经推出了互联网版本8i,Oracle看互联网看得晚吗?不是,它从1998年开始就把产品定义为i,为互联网而生,1998年是何时?不少90后那时可能还在幼儿园,但那时的互联网已经在探讨数据库了。Oracle针对并行处理作研发、数据库原生的XML支持,这正好是我入行的时候,因此我最先就研究了这个技术在数据库里的实现。到了Oracle9i作了什么?它作了集群,而且集群真正走向成熟了,就是共享存储的分布式集群,Oracle开发本身的Linux发行版,开始作数据库的自动化技术。到了2004年Oracle10g的时候,作了Oracle自动化存储管理技术,这是一个很是成功的产品,它直接致使了市场上作存储软件的一些公司消失了,因此你能够想象它的影响力,这是很是重要的技术事件。

再到了2008年,进入Oracle11这个版本,它开始开发一体机产品,开始作数据库端的读写分离等技术,可是注意在这里我重点标出了一个时间点:2006年,AWS这时推出了S3技术,我认为Oracle数据库在发展的历程中只错过了一件事情,就是云。当AWS在2006年推出S3的时候,Oracle创始人在2008年是这样回复的,他说我认为云是用新瓶装了老酒,没有新的技术创新,是你们炒做的一个概念。但是咱们如今回头去看,他的判断出错了,也正是由于这一步的判断出错,你们看到了如今数据库领域的领先者都是在云上成功的这些厂商,好比微软的云成功了,因此微软变成了数据库的第一,Oracle降低到了第二位。因此咱们说洞察将来很是难,可是很是重要,它事关生死,这也是咱们今天在这里讨论数据库将来的缘由。

咱们快速向下推动,Oracle在2017年推出的12c版本里开始作分布式,并非像你们理解的Oracle没有分布式。在2018年的时候18c把它的集群也作成了分片式的架构,也支持了IOT。到了2019年在19c中它支持了智能化的索引——我认为智能化索引是一个创新,真正已经用到生产实践中了。再到20c——如今Oracle每一年会发布一个版本,以年度进行命名,可是注意,由于疫情的缘由其实20c没有发布,会合并到今年发布21c——持久化内存被应用到数据库里了,这说明什么?说明Oracle数据库仍然是一个具有创新力的产品,正在不断地把领先的技术用到数据库的内核中去,提供新的生产力,这里包括人工智能的索引,这些都表明了今天的前沿。包括它的多模、软硬结合——因此Oracle所走的这些技术路线在今天数据库领域看起来多数都是对的,它只错过了云这一件事情。

2. 微观演进

我刚才讲的实际上是几个宏观上的概念,在微观上我找了一些小的要点跟你们分析一下。

数据库今天着眼于性能向前演进最重要的是什么?是把原来的串行点打散变成并行点,其实就是巨大的性能提高,无论是Oracle仍是TDSQL,仍是其余国产数据库,今天最主要的创新、性能提高是在作这样的事情。我举几个简单的例子:好比从Oracle9i的时候,开始把共享内存池进行分片拆分,拆成了七份;经过ASM把存储进行分布式地打散;把进程进行主从拆分。好比从12c,把日志写进程变成了主从,在几十年的历程中Oracle的日志写进程只有一个,单进程写日志,可是从12c开始变成了主从,这是一个艰难的改变,咱们知道绝大多数数据库的性能瓶颈会产生在日志的同步落盘上,你们都在作优化。19c的实时统计信息,再加上到今天的19c智能化索引——其实这个智能化索引的思路比较简单,它就是把人的思惟模拟出来,经过人的专家系统进行思考建立一个什么样的索引,去进行尝试确认,性能提高保留,性能降低则删除——可是真正落到工业实现实属不易。在20c里,提出了自动的参数调节以及自治的主备切换等等,把这些能力都融入数据库中,这是Oracle走过的40多年的技术变革之路,它仍然在这条路上向前奔驰。

4、以腾讯TDSQL为例,国产数据库的演进之路

咱们再来看国产数据库如何走技术演进之路。我前面提到了关系型数据库技术从1970年科德博士的一篇论文开始,已经走过了50年的历程,这50年在咱们作数据库的人眼里,不少时候以为关系型数据库已经快到尽头了,它将来的路在哪里?我认为关系型数据库将来的路应该在中国,为何在中国呢?是由于中国有最庞大的数据基础设施、最集中式的数据应用系统,因此这是个人判断。

若是咱们在中国看,至少不少业务系统是省级集中的,而一个比较大的省份就可能有上亿的人口,这样集中式的数据基础设施在国外是不可想象的。关系型数据库理论走到今天为何能够有突破?我认为就必定是在应用中找到突破,因此其实我也在看腾讯TDSQL的发展演进进化,从让TDSQL逐步地能用和走向成熟,这是完成了第一步迭代。第二步迭代,它必须在外部走到最广阔的用户群体、用户场景去使用,最值得你们关注的案例就是微众银行。微众银行今天作到的是单日交易峰值有6亿笔,最高TPS能够达到10万笔,这是一个什么概念?6亿笔的交易你们能够想像,这是多广大的一个用户群体可以创造出来的交易,这样频繁的、高频的交易必定会促使数据库不断地去完善、进步。若是你们用过Oracle的话会知道Oracle数据库在生产系统中能承载的交易峰值和并发的交易笔数,若是你可以见到一个超过每秒1万笔交易的Oracle数据库,已是一个巨大的挑战,可是今天在互联网的模式下,在分布式的架构下,海量的应用、海量的高并发能够被支持,因此这是我认为在中国的场景下能够带来的催化剂,这些催化剂会促使数据库找到新的向上的空间。

展开来讲,一旦一个开源数据库要应用到金融核心上,必须解决的核心问题是什么?第一个是数据安全问题,如何让数据保证一致性是绝对可信赖的,TDSQL进行了数据强一致的改造,主从节点默认是强同步的,这是一个技术创新。第二,当咱们使用了分布式架构,也就意味着须要管理的数据节点会迅速膨胀,原来单一的数据库存储,如今在这种架构下可能会有成百上千的数据节点,这样成百上千的数据节点不可以再依赖人去作数据维护,由于作不到了,因此这里面有一组数据,有1万个服务节点在微众银行运行,怎么办?它必定要依赖于高度自动化的监控和故障处理手段,最好是不须要人介入,我认为这也是数据技术发展的重要将来。有了这些以后,我刚才提到整个TDSQL是基于分布式构建的,读写分离是它的基本要义,这样一个系统在支持这样的场景下逐渐找到了将来的发展之路。

这是一个两年前的案例,TDSQL在张家港农商行的客户场景下,把过去的金融交易核心完全替代。微众银行是一家互联网银行,它的先天优点是没有历史包袱,可是对于一个传统银行,它的数据架构、数据应用是很是复杂的,不只有交易、存取款、帐户,还要有对帐,这样复杂的业务场景如何在一个新的数据库架构上落地,其实很困难。这个案例腾讯和最终客户应该是经过两年多的时间才推到线上,如今看来结果是很是好的,一主三备模式,秒级的故障切换,我一直在关注。

但这个案例里给我另一个很是重要的信息是TDSQL所提供的赤兔和扁鹊系统成为了自动化运维的一个根基,为何我认为这很是重要?将来的数据库必定不是一个单一的数据库内核系统,而应该是一个数据库生态体系,包含了自动化运维、自治的主备切换、自治的高可用等特性,这些特性也是Oracle今天在作的,我认为在将来会是很是具有竞争力的核心特性。

5、数据库技术发展的将来方向

总结一下,刚才是所观察到的行业应用的变化、数据库技术从理论到实践的变化、Oracle的变化包括TDSQL的发展,如今看数据库的演进将来应该是什么样?首先我说数据库的更迭替代必定不是重走一次长征路,不能用国产数据库把商业数据库替换了,可是很差用,这样用户是没办法接受的,因此它必定不该该是功能和体验的降级,而应该是升级,但如何才能升级?我认为这五大方向是咱们应该思考的:

第一是分布式,分布式能解决的是弹性伸缩、故障自愈,这二者一样重要,更重要的是当出现故障的时候不须要人紧急介入,它能够自愈。

第二是智能化,将人工智能技术应用到数据库里,好比去解决DBA过去所面临的核心挑战。DBA过去作优化,很大一部分工做是帮数据库去优化索引,因此Oracle在这一步上优先作的是智能索引,变成自动化,常规的基础工做完成了,索引变成智能的,执行计划是可控的,那么数据库就再也不须要特别多的人力介入。

第三是多模化,这一点是有争议的。我前面提到了亚马逊把7500个Oracle数据库替换成了本身的云数据库,能够想象会用多少个云数据库去替换原来的7500个Oracle?极可能是75000个甚至是75万个,为何?由于Oracle是一个多模数据库,里面能够存储大对象、IOT等各类类型的数据,尽管这种混合存储并不必定都可以达到最佳,可是对于用户呈现出的界面是最简单的。我认为数据库的发展必定也是分分合合的历程,走向分,最终也会走向合,单一的界面输出对于用户是最佳的,若是分散,那就要实现高度自动化。

第四是软硬一体,数据库技术必定不是独立发展的,它必定能够依赖硬件技术的进步取得卓越的性能提高,因此为何不少数据库今天都在打造一体机?经过高速的网络以及高速NVME存储提高总体的性能,因此软硬协同发展不可缺乏,未来最核心的是数据库技术应该下压到CPU处理器一级去作优化,我认为这是能够作到的,并且在中国将来必定也能够作到。

第五是云化融合,云会成为将来惟一的形态。虽然公有云和私有云仍然是两个世界,可是会趋同,技术栈、用户体验都会趋同,并且云上体验云下化是数据库技术发展当下一个最重要的趋势。

因此这五个观点融合在一块儿,表明了我对将来数据库发展的一些判断。重复一下,若是国产数据库但愿让用户得到更好的体验而非降级,只有一个路径去弥补,就是自动化,经过自动化的生态和工具去解决这方面的问题,内核可能还比不上国际一流水准,可是自动化能够帮助用户不去面对底层复杂的基础设施。

最后点一下题,叫DBA的冰与火之歌。曾经不少DBA朋友一度陷入迷茫,尤为是在Oracle阵营的DBA们,他说在国产数据库的浪潮之下Oracle的DBA们还能生存吗?不少人常常问我会被历史淘汰吗?我说不会,首先咱们认为数据必定会变成将来数字企业的核心资产,它会愈来愈重要,这是你们公认的一个前提。第二整个数据库的运行仍是相对复杂的,它涉及到了主机、网络、存储,是一个全栈的技能需求,具备必定的技术壁垒,因此DBA们不要惧怕失业。第三从原来的数据库管理,你积累的全部经验在今天能够找到更广阔的就业空间,若是咱们充分理解Oracle或者MySQL技术,你甚至能够变成一个国产数据库的产品设计师、产品管理师、内核开发者,若是你能把对国外数据库的先进技术变成产品设计和实现驱动,你就变成了咱们国产数据库的核心驱动力,因此国产时代咱们的路不是变窄了,是变宽了,职业道路更加宽广明亮。DBA这个群体是很是乐于探索、分享、总结的一群人,只要咱们具有了这样的能力,将咱们原有的学习转移到新的技术路线上来一点都不复杂。

最后我还有一个思考,新的时代,咱们作数据库的要记住这两句话:一主一备双引擎,商用开源两相宜。只学一个数据库必定不够,商业和开源都要接触、学习,而且互相校订。有一个主修、一个辅修,能够选择两个科目。在这个国产的时代,从短时间看咱们每每是高估了难度,从长期看咱们老是低估了机遇,春江水暖鸭先知,若是你认识到了这个行业的变革,尽早转型,尽早投身到国产数据库的浪潮中去,那咱们就是抓住机遇的第一批人。只有躬身入局,才可以领先一步。


讲师简介

盖国强

云和恩墨CEO、腾讯云TVP

云和恩墨创始人,ACDU 主席。中国地区最著名的Oracle技术推广者之一,他的专著《深刻解析Oracle》、《按部就班Oracle》等书籍受到Oracle技术爱好者的普遍好评。2009年,盖国强先生建立了云和恩墨,致力于为中国用户提供专业的数据服务、产品和解决方案,云和恩墨的 dbPaaS产品和专家服务,已经服务了国内外500多加企业级客户。2019年,他发起创立墨天轮技术社区和ACDU(All China DBA Union),致力于持续的数据知识和应用的传播和推广。

相关文章
相关标签/搜索