论数据库人才发展战略|学习笔记

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 快速学习论数据库人才发展战略

开发者学堂课程【大咖说 - 开源数据库论数据库人才发展战略】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1059/detail/15341


论数据库人才发展战略


内容介绍

一、论数据库人才发展战略


一、论数据库人才发展战略

欢迎来到开源大咖说,本次的主题主要是想讨论开源目前整个数据库的生态里对于人才发展的难点以及培人才的计划是怎么样的。

阿里巴巴目前数据库也开源了 PolarDB 品牌下的两款产品一个是分布式数据库的 PolarDB-X,还有一个是云原生数据库 PolarDB PG。

非常有幸邀请到了几位老师,各位老师都是在数据库业界,非常知名的学者、老师、教授。也是在数据库方面做了长期的包括产学研的合作,还有人才培养等方面的工作。这也是跟今天要讨论的主题非常契合。

在开始本次的主题讨论之前先简短的介绍一下,阿里云数据库开源的两款-数据库产品。

主要刚才提到了 PolarDB-X 是一款兼容 MySQL 的分布式数据库。另外一个是 PolarDB for PostgreSQL 是兼容 PostgreSQL 的云原生数据库,其是共享储存架构的。

开源这两款数据库的目的当然还是希望 PolarDB数据库品牌下的数据库能更多的被大家所认识,被大家所熟悉,然后去使用。PolarDB 社区目前也是正在建设以及筹备的过程当中,也成立了像存储,数据库生态,还有人才发展培养计划三个特别兴趣小组。

对于开源来讲,最大的一个好处就是说能够去利用社区的力量。社区里面的力量最重要的就是开发的人员,开发的人员主要是如何才能够去吸引更多的人,参与到社区里面来,包括如何利用社区去做数据库生态方面的人才培养,这也是非常重要的课题。

跟高校其实有非常多的合作,以前阿里云跟高校的合作主要集中在两个方面:一个是 L 计划(学术的研究项目),学术研究项目主要也借助了整个产品,尤其是开源产品,可以作为很好的载体,在上面开展一些研究;另外一个方向是跟高校一起运作合作的课程,就是高校现在大多数都会有这种数据库系统的课程,课程中有应用,也有内核原理的一些开发。这里会分别针对这两类课程提供一些素材,这是目前的社区情况。

当然在社区的不断的发展过程中,会去设计很多的机制,包括去发掘一些 KOL,发掘一些外部的 contributor。然后其有一个晋级的体系,能够成长成为代码的 reviewer,再成长成为代码的核心模块的 Maintainer 等等这样的角色。这也是给整个的数据库,能够培养相关的内核的研发的人员。

前面是对现在目前 PolarDB 社区的介绍,后面就来正式开展一下今天主题的讨论。首先第一个问题是一个有趣的现象,就是在数据库这个领域,开源会变得越来越流行,这里的问题就是怎么样看待开源在基础软件领域,其流行度越来越高的问题,以及开源本身对于整个数据库产业的发展提供了哪些机会和价值。

其实不管是技术软件,还是应用软件,都将其理解成一种商品的生产,也是数字商品生产线与传统的物理商品生产线有类似之处,也有不同的地方。在工业经济时代,需要更多的生产物质商品。有生产线的概念,例如汽车生产线这样效率非常高,因为其是大生产协作系统软件。系统软件、操作系统、数据库等等,包括应用软件,仍然是一条生态线。

生态线就使用的是开源的模式,这样实际上是最有效率的,经济学上讲的是资源配置,那开源无疑是最有效的,它可以就是不受地域空间制约,在全球最有效的提供配置,这就是开源能够流行起来的原因,也是作为一种主流的生态型的方式的原因。从经验的角度来讲,主要是因为其反映了数字经济最基本的规律。从管理学的角度来讲,怎么样组织商品生产,比如在工业链时代需要生产汽车,发明有很多方法,专门有学问叫管理学,但是在数字上面,就像软件生产这种生产方式,其与工业生产有何不同,其该如何进行生产协作,然后才有效率把激情调动起来。

目前已经发明通过开源的模式,已经证明这是最有效的模式,而且还有很多机制的设计、规则等等,这些已经非常成熟,所以会彻底改变传统的管理学。

所以在经济管理、法学院校要开展开源教育要推广开源教育的原因,还是因为需要以一种新的思维方式,认识所面临的新问题,不能停留在平台工业经济时代。这是目前协会正在做的,也是本人非常关注的。其实也不是很复杂,可以将其认为是商品生产,如何资源培育最优效率,如何进行生产协作,使得效率最高。这里肯定也有规则制约,但是数字不一样,比如像软件和数据一定是可以去共享的,在共享的情况下,该如何来规范每个的行为。怎么样建立一条数字商品时代所需要的生产协作方式,或者规则体系。这也需要法律的专家去重新设计。认识开源不能仅仅从技术角度,还需要从经济学、管理学、法学等社会科学的角度去认识问题。

刚才站的高度比较高,从经济学、管理学的角度来谈开源,本质上讲还是去提升软件开发的效率,这是开源最大的一个好处,也是开源变得如此流行的重要原因。

如果把软件开源出去,其能够激发技术促进,然后又通过开源这种生态环境,使自己的工作成果得到广泛的使用,有些人把自己的智慧贡献出去,当得知此技术得到广泛使用,使得大家非常能够接受,也使得开源得以流行。这就是开源流行的原因。

对开源来讲,其首先是免费的,是易于传播的一个软件分发的方式,另外就是开源更加利于创新。

开源实际上从西方发展出来,最早实际上是为了能够打破商业公司对一些软件技术产权的垄断,在需要做应用时,突然发现需要的一些工具要花费来购买。这时操作空间或者想象空间以及启动成本会变大很多。所以在这过程中,实际其也是在这十几年或者二十几年,推动了一些应用的发展,加速了产业迭代。

另外实际上推动通用的标准,其实开源发展的比较好的,都是一些通用型的产业,这种技术软件使用多了以后,慢慢这套系统就形成了一种标准。另外对于高校来说。在这十几年其实中国 it 产业发展的速度非常快,计算机人才其实在开源的环境下学到了很多东西。因为开源所以学习到了很多其中的技巧,这些技巧实际上很多都是从商业公司里面出来的一些人才从开源里写下来的东西,所以实际上是拉平了大家的基础门槛,比拼更多的是上层的应用,所以国内的上层应用在全球上是做的非常好的,实际上是领先全球的状态,这实际也是占了一部分的先机,利用前人栽的树,后人称了凉。实际上觉得前人的轮子在了,实际上只需要在上面做的更好,更加完善,更多的站在巨人的肩膀上,然后才能站的更高看的更远。

一个非常重要的观点就是开源软件,其实打破了商业软件的一个垄断,尤其在基础软件里面,这使得有很多公开的、免费的或者好用的基础软件来用,也可以把精力放在应用的软件,把它放在模式上的创新上,开源的软件都不离开源的生态的建设,也就是开源社区的建设。开源社区里面有很多种角色,包括用户,企业。

另外一个重要的阵地就是高校,其实高校也是培养开源软件研发人才的非常重要的基地,包括还有一些研究所等等。那么从各位的角度来讲,会认为什么样的角色,应该怎么样参与开源生态的建设当中,能够充分的去促进生态的发展,能够起到更好的作用。

用户企业在使用开源软件的过程中,首先需要懂得开源代码的这样的人才,也就是能够驾驭开源软件,能够从开源软件吸收一些适合于自己企业发展的技术和功能。这次用户怎么来参与开源软件,如果其具有这样的能力,才能够充分的发挥开源软件的价值。

同时在这过程中,也能为开源软件做出它应有的贡献。另外作为数据库开源的企业,应该要能支撑开源软件的发展,因为在开源软件的开发过程中,开发者的水平是有高低的,它的开发软件的质量不能得到充分保障。如果企业不能很好的支撑开源软件的发展,去吸收最优秀的技术去保证开源软件的质量,那么开源软件也很难的走远。

高校可以充分利用开源软件来培养数据库方面的人才,通过开源软件的研究,能够把高效科研成果当中的一些技术,在开源软件作为一种测试实验的平台,把这样的一些技术,不断的融合到开源软件。开源软件当中的技术得以不断的创新,使得开源软件对用户更具有吸引力。作为政府机构要加强对开源软件的制定,也要制定相应的政策来规范当中的相关的一些协议,法律,知识产权的保护,如果能够发挥很好的作用,就使得开源软件能够得以健康的发展,这就是对各个角色在开源生态建设上的说明。

经过跟企业了解发现在选型的时候,实际在过程中有很多可以选择的空间,选择空间实际也是在开源的环境下进行的,要去找很多资料,然后得选好,在这过程中还得会用,门槛其实比商业数据库要高。还有用的过程中还需要会修,修好之后实际上还需要决策。有的一些公司实际上会将这些修的过程,或者修的知识产权自我保留下来。

对于企业在应用开源技术时,实际也有很多成本要去权衡,对于高效来说的话,就像人才培养实际上有很多开源资料还是非常好的。本人在大学的时候有幸读了 Linux 源代码和一些编辑源的源代码,但是现在在深圳大学开展教学工作的时候,需要选择一个数据库,最早先是看 CMU 使用类似于小型的玩具数据库做平台,然后去教授课程。后来这里也去体验了,但最后实际没有走那条路,是因为应该让大学生接触一些真正的数据库。选择 PostgreSQL 是因为其是非常好的一个教学蓝本,其入门的门槛还是挺高的。就是实际上大学或者教学的过程中,尽量想把门槛降低,让学生不要望而却步。

从高校教育的角度来讲,其大部分学术界或者学院派的老师,都比较倾向于 PostgreSQL,其从模块化程度,代码的清晰程度,还有功能丰富度上来讲都是非常好的数据库的教材范本,这也是大家一直公认的,相对来说 MySQL 可能其模块的划分不管从 SQL 引擎、执行引擎、优化器、存储引擎,其很多的逻辑实际上是缠绕在一起的,因为其最早是做互联网的业务,专门为这种单行的或者单键值的查询做了大量的优化,优化了很多执行路径,那里就不可避免的把代码的优化程度的降低了,所以它是个很实用的系统,确实也在互联网得到了非常广泛的应用,但是作为教学来讲未必是优秀的实现范本,这里是很有趣的现象。当然就是 PostgreSQL 现在在工业界的应用越来越多,从 DB-Engines 来讲,它是慢慢的变得越来越流行,这也是非常好的现象。

教师从2013年开始用 Odoo 作为教学软件,之前是使用 ICP,后来从2013年开始用 Odoo,Odoo 就是用 PostgreSQL 系统的数据库。因为目前 Odoo 在全球有700万的企业级用户,其影响非常大。顺着刚才的问题,也谈谈看法,就是其实开源推起来就是一个生态系统。因为如果从用户的角度来讲,就是要给其讲好故事,比如企业用开源对其有什么好处。而从企业角度,开源是一种竞争战略,其目的不是为免费让大家去使用,主要目的是为了快速的形成生态系统,形成标准,然后获取更大的商业理念,这点一定要对开源有清晰的认识。

所以就是互联网企业现在都推崇开源的原因,因为它代表的是未来。从学校角度来说,学校也在推动从开源进入大学,所以这边再讲一个故事,就是学校需要培养学生的全球性视野,如果所有的学生都能够学习开源,参与生态协作,那会彻底会改变其对事业的认识,全球视野也就培养起来了,就是通过开源培养学生这种大规模生态协作的能力。

但是开源实际上它是一个系统工程,从政府方面还需要做很多的工作,也是这种传统的旧工业时代所形成的规则制度,可能对开源创新还有很多制度性的约束的。想要去突破就需要协作起来,开源服务也发展起来。企业用开源的最大的顾虑是没有服务,其认为开源不靠谱,开源服务成长起来后,有很多专门以开源为业务的公司,围绕某个产品能够提供专业性的服务,而且关键是还要挣到钱,还要可持续发展,这也就是系统性的工作。

刚刚谈到的非常关键的点,就是既然是生态,那生态里面肯定有标准,大家都遵循统一的接口,尤其是对于数据管理这样一门学科,它涉及到很多都是数据,整个链路上的一些生态的上下游,那今天做数据库环节,主要还是解决就是生产存储的这方面的问题,当然还有数据仓库去解决消费分析的这方面的问题。其实整个开源的生态里各种各样的角色都有,这是一个生态的必要的组成部分。今天用户或者是企业的用户选用开源时,最大的问题在于开源的产品是比较松散的模式开发出来的,而对于企业,数据库往往是企业的生产的核心的软件系统,如果其不能在内部维持运维团队,甚至研发团队的话,也是很难把开源的数据库真正用到生产系统上来的。这也是当前企业面对最大的一个问题。

再有最大的转向是今天做这种开源数据库的云服务,在很大程度上它是一种比较低成本的方式来解决这样新用户对于数据库服务的诉求,对于服务提供商来讲,比如今天提供的是公有云的服务,那么这里会以比较低的成本的代价,可能加上数据库运维的团队,但是是以规模化的方式去推服务,那么自身服务的成本也不用很高。也不是每个企业出问题,都需要派专家团队过去解决,而是所有的服务都运行在云上,这里可以统一的去解决这些问题,而且解决的问题的足够多,就有更智能化的系统去帮助解决问题,进一步的降低服务的成本,不管是对于用户来讲,还是对于企业服务的提供商来讲,在开源的数据库的模式下,都能够得到互相促进,互相降低成本的操作,然后又能去促进技术的发展,这可能是当前云服务的最大意义。

涉及到开源的生态,今天要讲的主要的话题还是人才的培养,人才培养的核心或者主战场还是在高校,高校对于计算机科学的课程里面,基本上都会有数据库系统,当前在高校或者学术界以及研究所,对于数据库这门学科的教育的现状是怎样的?它面临的一些挑战是什么?

数据库的教育其实变得越来越难,因为随着 AI 的兴起,更多学生觉得学 AI 技术,然后可以很快的能够掌握一门技能,而且很快的去找到一些数据,能够产生一些结果,甚至发表一些高水平的这样论文。所以数据库的教育,在目前的情况下还是比较艰难的。另外绝大部分的高校的数据库的课程是以教数据库原理为主,也就主要是培养教学生去怎么使用数据库系,很少有学校在本科阶段就教学生怎么去实现数据库管理系统。本人当时开数据库系统实现课程,只能作为一门选修课来开设,而不能作为一门必修课来开设。但是当时环境,学生对数据库还抱有很大的乐趣。那时本人教班上本科毕业设计的主要的任务就是要带领学生去分析 PostgreSQL 的源代码,PostgreSQL 数据库是非常庞大的,单靠一个学生或者几个学生很难把它分析清楚。当时学生分成各个小组,大家紧密的配合,不断钻研一起交流,然后逐步的就把里面代码的实现机制慢慢的弄清楚。现在已经有了书,把书让学生去看,带来去分析代码,所钻研的成果还远远不及当时的学生。

所以现在数据库教育,特别是要培养懂数据库内核技术的人才是非常不容易的,所以这值得高校去探讨更好的方式,把这种教育继续下去。

实际刚开始上基础课的时候,课程的课件都是比较旧的。正好本人也在搞数据库,回来后就开始着手干这件事情,然后知道有其他人也在做数据库内科方面的一些教研。并且还给予这里很多资料,然后从去年开始跟 PG 中国还有魏波等等,将认证的内容跟实践课的内容合并,学生上完基础课的实践课之后去认证,这件事情做完了第一步的融合,实际就是把基础课的东西跟异地接轨。接受第一年课程实际学生难度也是比较大的。

在这个过程中,最主要还是怎么把入门的门槛降下来,实际做了很多这方面课程的设计,特别是实验的设计。然后数据库系统演数据库内核实现,其实个人感受它是非常好的一个平台,来把计算机科学专业学生本科学习的东西串起来,它是集大成的一个基础软件,它其实完全是把本科的前前后后给穿插起来。学生如果学会了这套东西后,将来做一些产品的时候,甚至可以把一些应用模块在里面改造一些灵感。

或者把一些模块直接拿出来用,不是操作系统或者其他东西不好,但是整个深度和广度,实际上数据库系统是很好的一个平台,还有在交数据库内核的过程中,实际其中有很多理念其实是作为基础,比如说在大数据,包括实验室中另外一种角度去看待当前的技术和和未来,其可能看到的比较流行的一些技术,这些东西可以找到一些源头。

这种作为选修课,学校有自己的一种考核指标、考核体系。像自己完全做创新的这种情况,总感觉好像就是没有得到足够的重视。还好就是在学校基本上同意开课,还给予一定的支持。这里觉得这个工作如果想要做的更好,需要从这几个方面去入手,最终目标是如何把开源教育,包括数据库的教育这个事情做好。

首先作为企业来讲,要推动开源的产品,能够形成生态系统。能够从学校入手,把生态培养起来。也就是学校需要的话,这里得有一个比较完整的课程体系。或者说通过学习以后,对就业各方面有帮助,这对学生来讲是有吸引力的,对于一些年轻老师也有吸引力,其也就愿意从事这些事情。每年要举行一些研讨会,利用暑假各方面培训做研讨会,但做教材实际上真的是不容易的。像新商科,国内现在是六所大学,后面可能会有更多大学加入,这里本人想做的工作就是要建立标准,标准建立起来以后就可能让所有的学校,所有的老师觉得门槛较低,而且容易操作,关键有一种成就感,获得感。而且这个工作系,可能需要一个系统化的设计。

因为这几年一直在创教学模式,各方面体会比较深,因为学校要讲标准的,它要用旧标准来评估你是吃亏的,所以怎么样建立新的标准体系,这是大家可以好好去探讨,可以去努力去实现的。

现在情况非常好,不管是企业还是各个学校都想改变,这是非常好的前提,所以现在就是看怎么样去去推动以及快速的实现。

接着刚才几位老师的看法,来聊聊做基础系统的同学的兴趣是不如以前,这会有一个明显的现象,就是说今天做系统的同学,确实是比做其他方向的,尤其是像比较热门的 AI 领域,这样的同学确实要更少。那在学校里招人的时候会发现一个现象,就是真正匹配技术栈的同学是很少很少的。做数据库方向研究的同学是很少很少的。大部分是考察一些基础,例如算法数据结构的基础,或者是编程能力,如果说这些基础没问题,又有兴趣做技术系统,都会找过来,然后在做实际生产系统的过程中培养,但是成长周期其实还是慢的。更希望学校能够把这些基础的工作都开展的更好。

在国内开展这种数据库课程的时候,就是如果想要培养更多,更接近于企业界需求的人才,或者是更高水平的数据库的研究型的人才的话,在教学,或者在培养上,已经在做的,或者计划要做的一些方法以及一些创新的思路,希望老师接着话题分享一下。

实际上接触到有几个不错的学生,实际上一开始做的还挺好的,但是到了大四之后就开始要准备面试。当询问为什么要准备面试,好好看看代码以及内核不好吗?他说很多数据库内核的一些东西面试不进行考核,这实际上涉及到导向的问题,就是大厂的这种招人的模式,可能还是标准化的这种模式,是不是有另外的一些通道,或者可以鼓励学生,比如说有老师的学生在博士的时候大概读了几万行 PG 的代码,这个实际按照高考压缩成绩的方法,比如读了多少行代码,或者有一些 Bug Review 或者 Bug Report 这样的东西,也会成为其进入大厂或者进入重要的技术团队的一个敲门砖,其实在这个过程中这里说让学生好好做,工作的事情导师帮助他们想,就是还需要想办法帮助他们稳定军心,实际上如果整个产业界有这样的通道的话,也许使在高校开展的工作会顺利一点。这实际就是人才选择的一个标准,还有就是,在教学过程中有很多这种探索,这种探索应该是学生与老师互动的,学生们的目的还是主要为了毕业后可以获得一份稳定的有前途的工作而努力的。

实际如果想努力的改变目前的现状,首先利用已有的可能的机会,比如学校中存在的弘毅班,也就是基础研究班。弘毅班的学生比普通计算机学生要求更加高一点,所以在授课时不仅仅教数据库原理,还需要传授数据库系统实现,将这门课程变成的必修课。所以有上百个这样的学生,老师用了一个学期讲了两本书(Stanford 的数据库基础教程和数据库系统实现),并且使用的还是原版教材,告诉学生他们所使用的教材是图灵奖获得者杰弗瑞乌尔曼所书写的,而且让他们分析的数据也是数据库图灵奖获得者迈尔克斯通布雷克,所以老师将学生的定位就是要将其培养成世界上一流的数据库人才。所以在教学任务的安排,以及教学计划的制定下,老师采取了非常高的标准,可是下来以后学生的抱怨很多太难。但坚持学完之后在第二学期开展的实践课,实践课首先是根据教材所讲述的内容去实际分析 PostgreSQL 的源代码,这是其必备的基础,另外还要求学生在手机上制作一款数据库系统,而且需要他们使用的这个模型是老师提出来的对象代理模型。但学生们真的优秀,还真的让数据库在手机上可以运作起来,所以尽管说大学生在此方面缺乏兴趣,老师难以坚守。实话实说不仅是学生,现在大学的老师能够还在内核中做研究的已经不多了,能够坚守下来是不容易的,因为能在数据库内核中拿国家支持的项目现在也是不容易的,而且很多的职业岗位并没有要求去做数据库系统,所以这个在职业上的发展前景并不广,那应该如何解决此问题呢?

第一个是在学校中需要进行课程改革,把数据库实现作为学生必修课的内容,这是一个方向;第二个是加强学校与企业的合作,为什么这里可以坚持呢?因为像阿里华为等等大厂都知道这边在坚守数据库内核技术,跟这里有一些合作项目,让学生做了这些合作项目有这样的体验,学生才会体会到这样的价值和意义。这样校企合作的很多企业和老师合作不光是解决数据库研发中企业面临的问题,还需要换一个角度去为了培养学生,让学生参与到老师的项目中去,会有比较大的作用,因为只有通过项目的历练,才能对数据库内核技术有什么的理解,另外需要给予同学们希望,能够设计这样的人才计划,人才计划不是看论文,就看在开源社区中做出的贡献,如果这种贡献可以得到认可,就像华为的天才计划更看重的是学术论文,换一个角度、评价机制,有这样的一个导向,这样会让学会心里产生努力就有可能产生数据库之星的想法。这样也就是三方面:一个是作为老师加强课程改革;二是企业要加强校企合作,多提供一些结合数据库内核开展研究的机会;三是让学生毕业得到一个既有良好荣誉又有良好待遇的职位。这样就会吸引更多的学生朝着这个方向努力。

想要真正从源头培养好数据库人才,不仅仅是在教学方法上的改进,也需要更多校企方面推动一些合作,阿里云在这方面做的还是比较多的工作,阿里云有 L 项目的计划,主要就是与高校一起做学术方面合作的项目,这些学生往往在做项目结束以后很多都转成正式的研发的员工了,这个转化的比例是比较高的。这其实有一个很好的好处就是学生真正实际做项目,然后接触到了阿里云系统,然后体验到了自己做的研究型项目或者是技术,落地到整个产品中带来的一些反馈产生的价值,对他们是很有是很有体感的,并且会极大的激发他们的兴趣,因为学生接触到的是真实的系统,这边有很多之前做 AI 的同学,或者做 AI for System 的同学,然后在这里做了一些项目后,觉得做系统好像比做 AI 更有意思一点,AI 的算法很多时候在做调参,在做“炼金术”,有些调好了也不到其中的原理,是不可解释的,所以他们觉得做系统有确定的方法论,有确定的途径,有特定的优化方法,就可以得到好的结果,这是一个长期的系统的训练,所以他们转到了数据库,觉得这样可以更能够发挥自己的能力和更能体现自己的价值。所以不在于同学对于做系统没有兴趣,可能是因为做系统的门槛比较高,挡住了一部分同学,未来可以做这方面的尝试,然后看看一起如何设置比较合理的课程安排,从而更多的引入实践相关的内容,这里也可以根据老师的需求提供系统平台等等,来帮助老师一起来制作标准化的课程,更加面向企业的一些诉求。

刚才还有一个问题是企业如何在人才导向发挥作用?确实存在这样的问题,因为现在各大厂的面试,尤其是做研发的面试其实往往都是比较常规的流程,很多面试的同学都会突击的刷题来应付这个面试,这个东西是需要企业做改进的,因为单单考查解题类的算法,其实不见得能够全面的考查一个同学的能力。

原来都认为需要自己培养,但实际上现在有些毕业生的工程素质非常好,他们在学校中基本都参与过这种实际系统的研发,这是公司企业没有想到的,就是该如何在面试的时候就把这些人才给发掘出来,这个是企业要改进面试的一个问题,也是要去改进人才培养的导向,这是一个非常好的建议,阿里云其实也在做这块的工作,就是数据库在面试的时候,也会看他相关的背景,然后考查其对数据库的一些认识,那后面在跟学校开展课程合作的过程当中,也可以去多给予同学去传达方向,这里还是比较乐观的,历届招聘的应届生的水平和能力还有在提高的。

企业在市场上是需求方,而高校是供给方。目前来说其实数据库人才领域还是供给不足的,真正对这个领域有建树的同学还是相对偏少一点的,所以也结合更多的高校可以能够参与到开源的建设当中来。数据库的技术和产品,以及数据库的人才怎么样去走出国门,也就是国际化,真正成为中国的创造。

数字经济的典型特征就是没有国界的,数字经济的经济形态,对其就是没有空间制约,所以必须走向国际化。现在就面临一个问题,就是怎么样把国内的数字技术以及服务能力能够走向国际化,这也是研究的一个点。去年这很荣幸的申请到了上海市来源数字一带一路协同创新中心,这是国家战略的,其目的就是为国际社会提供数字公共产品,这当然就包括开源的数据库,它跟传统物理商品不太一样,物理商品是一种生活必需品,但是数字商品属于更高层次的消费,所以在这种情况下,怎么样去讲好故事,中国的数字商品和服务能力,怎么样能够走出去,怎么讲好故事,这就涉及到多个学科。怎么样把数字的基础和服务能力,简单来说就是设计数字商品,一般能够走向国际化,这需要多学科去研究,涉及到多学科,政治经济规则,包括社会组织。

但现在数字经济不一样,数字经济就是国家在里边发挥作用会越来越小,可能是第三方社会组织,像开源的社会组织在里边,制定包括规则,标准制定的权利要远远大于国家,可能很多人还没有意识到这不像以前一样是国家和国家之间要谈判,所以在这种情况下,这种规则模式,方式都发生根本性变革的情况下,该如何将其做好?这可是宏大的系统工程,这需要理论创新,还需要讲好故事,当然技术上也要特别厉害,还要特别务实。

开源肯定要走国际化的道路,开源本身就是没有国界的,中国的发展也从开源的软件作为基础,使得国产数据库得以迅速发展。另外也要借鉴国外的基金会人数的方法,现在数字经济都是通过第三方来制定规则,大家来共同遵守。那么需要借助这样一些成熟的经验。更重要的需要有共情,需要有创新,不能只是说跟着别人后面走。

目前说实在话,国产数据库现在重点是在于分布式数据库,主要是想解决数据量大的问题。另外强调通过云平台来提供数据库的服务,减少客户在数据库维护方面的负担:一个是便利,一个是分布,一个是量大。另外就是提供便利的环境,主要这两方面做出很大的努力,当然这也是必须的。其实从数据库的发展,目前数据的复杂度已经非常高,以前就意识到复杂性的这样的问题,只是当时数据量少,后来就做了一些尝试。但是由于一系列的问题,使得这种尝试没有取得的成功,所取的就是面向对象的这样的数据库。

当年90年代,老师在日本京都大学做研究时,大家就提出来这样一个问题,就说当时 Carlo Strozzi 提出的关系模型,主要是适应这种简单的结构化的数据管理,并不适应像地理信息、多媒体、CAD 这样复杂数据的管理。上世纪90年代有了苹果机、多媒体、数据库计算机的性能。能够处理这样一些复杂数据,大家都很希望数据库能够更新换代,能够采用一种新的模型来组织和管理数据,当时也产生了很多的面向对象的一些数据库,那么这些数据库,后来在市场上没有取得这样的成功。个人认为它的模型不太适合,需要在模型上有创新,所以这里一直在从事数据模型方面的研究。

那么现在的数据库管理系统,包括 PostgreSQL 的解决方案,就是说把对象的一些功能融入到关系数据库当中,把现在的数据库称之为对象关系数据库。迈克尔斯通布雷克认为这是新的浪潮,但是大家知道一个数据库管理系统里面存在着两个模型,简单的数据用关系表来定义,复杂的数据用对象来定义,两套模型就需要两套机制,两套机制就必须要相互协调,就使得现在的数据库管理系统,变得非常的臃肿庞大,效率低下,后来数据量不断增加时,数据库管理系统就无法来承担数据管理的任务,后来就有 Hadoop、mapreduce,但是那个做法实际上就是把数据简单化,又重组重新走数据库管理系统的老路。

迈克尔斯通布雷克也认为这是一种倒退,那么面对这样一种复杂的数据,实际上需求已经产生,而且已经非常的迫切,很多地方大家都谈到这个多模态的数据管理,多模态数据管理是什么?数据的类型多样化,结构变得复杂了,那么单一的数据库是很难的去管理多模态的数据,那么怎么样到新的数据模型能够去有效的管理这样一种多模态的数据,这是数据库未来发展的一个方向。

那么国产数据库,应该找到这样一些前沿的方向,致力于这方面的研究,在理论上去提出适应于多模态数据管理的这样一个模型,开展基础性的研究,取得一些独创性的技术,去引领未来数据库的发展方向。这样才能实现中国创造。

现在一直是跟着国外的数据库的发展方向在走,怎么样能够开源数据库的生态,怎么样加强校企合作,合作产学园的合作,然后通过数据库的基础性的研究的突破,中国能不能在这方面取得一些领先性的成果,当然这个目标太宏大了,影响也很大,但是这里认为中国能够做到,关键就在于怎么朝着方向长期的努力,而不是为了追求论文,追求一些表面的,而是追求本质的实质上的突破。朝着这个方向去努力,才能真正的走出国门,在国际上受到尊重。

真正的国际化肯定离不开创新,创新离不开基础理论的创新,模型是在数据库非常基础的理论创新方面的研究工作,数据库本身又是应用系统,当然想要去做成功的数据库系统离不开完整的一个生态。

建生态相对来讲,它的难度也是比较高的,好在有开源形态作为载体,从开源这个方向上去建新的生态,相对来讲比建一个封闭的商业生态要容易一些,或者是更具备可行性的方式。

中国很好的环境,是很大的应用市场,在这种应用场景、应用场市场中,才能孵化出一些新的领域来,然后在这样一些领域更多的企业跟高校的这种碰撞。高校有更低的试错成本,就是可以去尝试一些新的方法和新的理论。未来是很美好的,但需要时间和正循环,企业和高校以及政府之间的互相促进,互相支持的正循环,这样还是很有希望做到的。

刚刚从不同的侧面去讲,数据库怎样去走向国际化,怎样真正做到技术创新。总结已经很全面,而且非常有高度,那么最后作为企业界再谈谈一些简单的看法,就是其实从做数据库一开始,就在与国际的同行站在比较接近的起跑线上的。包括像 AWS、微软、Google 在做云数据库的时候,因为整个云数据库在市场上占的份额越来越大,也去分析过或者是研究过他们正在做的一些技术方向,确实是在往云数据或者云原生数据库方向上,做了很多的技术上的探索。这里就是也希望借助开源软件或者开源社区平台,能够更好的去传递,对于数据库的一些新想法,一些新方向上的一些探索。

这样能够去撬动更多的人,参与到整个数据库的生态建设的过程当中来。另外就是在数据库的工程建设上,在产品化的程度上不断的去前进,才真正做出一些在国际上能够产生有深刻影响的,有非常强竞争力的产品。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
7月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
146 0
|
7月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
142 0
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
133 6
|
2月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
74 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
3月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
59 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
151 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
39 6
|
4月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
51 4
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
31 3