行业底层技术抖擞生机总是令人感到惊喜和可贵。数据库作为基础软件的主要组成部分,在行业内的话题度也在一起走高,如今已是最火的一个板块。云原生、分布式、开源,如今谈数据库离不开这些关联词。10 月 14 日,一档专为数据库行业制作的《数据 cool 谈》栏目,约请华东师范大学副校长、资深数据库学者周傲英、PingCap 连合创始人兼 CTO 黄东旭、阿里云数据库产物事业部负责人李飞飞、InfoQ 主编王一鹏畅谈数据库。
上层万物互联,底层万机互联
为什么数据库这么火?迎着时代的风,2020 年 4 月,数据被正式列为与土地、劳动力、资源和技术并列的“第五要素”,重要性凸显。在资深数据库学者周傲英看来,数据的事变如今是社会层面的事变。在互联网行业快速发展的大背景下,数据量大发作,而 IT 行业的发展目标是解决复杂问题,数据管理方式的改变自然而然。
一个显着的变化是,互联网时代的数据库管理方式与 C 端或者说利用端用户密切相关,不只作为基础软件,还开始作为应用软件进行数据管理。“在计算机焦点的研究学科方向里面,数据库是最靠近应用的。”周傲英谈道。应用的变化和基础设施的变化,推动身处其中的数据库发生本质上的改变。从传统的企业级应用变成互联网应用和万物互联的应用,应用在发生巨大的改变。底层架构方面,早先是冯·诺依曼架构,步入云计算时代后,计算资源池化,形成“上层万物互联,底层万机(服务器)互联。”传统数据库技术无法解决的问题,交给新的数据库技术来解决。
想要实现底层基础设施池化后,再进行资源解耦,需要先解决很多问题,好比如何面向应用变化?如何面向基础设施变化?如何应对计算存储网络的变化?云原生应运而生。“从前我以为做技术的要引领这个时代,后来才感觉到行业时代巨大的时代推动力。”李飞飞感慨。“技术走在需求之前”是业内广为流传的一个说法,但是如今的技术思绪是“螺旋式”,既有需求推动技术的一面,也有因为相信所以看见的事变。
体系的复杂性是如今数据库行业面临的最大问题。黄东旭认为,摩尔定律已经失效,不会再有单机体系搞定一切的环境,上百台的服务器是无法进行管理的,所以数据库将迎来两大发展趋势:
- 智能化,搞定复杂体系单打独斗是不行的,AI for DB 是一个如今很新但非常必要的方向
- 不会再像原来 Oracle 一样,只一个数据库一统江湖。行业会出现很多差别的数据引擎应对差别的场景,会出现一种新的数据平台,虽然未来不会有 one size fit all,但可以做到用户体验统一
“未来有一个统一的平台,屏蔽掉底下引擎的复杂性和在引擎之间切换。”李飞飞补充道:“周老师当年讲的一句话对我触动非常深,说让数据无缝地自由流转起来,我以为这是非常有先见之明的一句话,这肯定是未来一个很重要的趋势。”在他看来,数据库体系想要做好,管理好复杂的体系资源,需要“顶天立地”——向上面向应用,向下管理资源。李飞飞认为,数据库是整个基础软件领域上浮过程中的必经之路,也可以称为华容道,和上层应用发生交互必须要通过数据。
正交的云原生和分布式
云原生和分布式是未来的必然选择吗?
“对,我以为这个是肯定会发生的一个事变。”李飞飞斩钉截铁地说,“我们很多的客户、用户的 IDC 的环境里面,基础设施这一层已经是一个云化的部署方式了。操纵体系体系布局向上发展过程中,数据库体系是必经之路,底层的基础设施云化以后,对于上层的数据库体系带来的挑衅和机遇,就是怎么样更好地去将底层的资源池化、资源解耦上风发挥出来,给用户带来这种高可用、可拓展性、弹性的便利。我以为对所有的用户、所有的应用场景来讲,这都是一个必然去选择的一条道路。”
黄东旭也深表附和,业内有一个常见误区:对于辨明主备两台机器属于单机数据库还是分布式数据库抱有疑问。“实在有很多时间,我们在讨论一个事变的界说是特殊重要的。”黄东旭举了一个例子,分布式是用来解决大数据的问题的吗?实在很多分布式技术是用来解决雷同 self-healing 或者说高可用的问题。未来的体系会变得越来越复杂,手动拉起挂掉的体系是不可规模化的,所以分布式技术会在各种场景中节省人的精力,避免堕落。
的确,数据库螺旋式上升发展到新阶段的同时,云也在深化发展。云服务是什么类型的服务?周傲英认为,云服务是处理数据的服务。分布式数据库从体系到应用,都是分布的,他提到,分布式是对数据库的扩展,云原生和分布式是正交的,有强相关性。“我以为云的很多技术,底层也是在依靠分布式体系的。”黄东旭认同道。
云原生和分布式是不是对立的?
李飞飞认为不是,他认同周傲英提到的两者关系是交叉的,但以为云原生和分布式如今已经融为一体。如果底层基础设施全部云化,人们思考技术问题的角度自然变成“云原生”角度。“本日很多人以为云原生数据库不就是如许吗?实在不是,真正的云原生需要你彻底理解底层池化和资源解耦以后,重新计划体系。在这个基础上,分布式不是一件必然的事变吗?”李飞飞谈道,“谁能够把云原生和分布式技术结合得更加完善,从体系计划的角度,从应用利用的角度,我以为谁就会在未来的市场竞争和产物竞争中占得先机。如果大家本日还是把云原生、分布式对立起来看,我以为是有问题的。”
细数历史,云原生数据库也并不是一个新鲜的概念。当我们回过头来看,李飞飞认为,Oracle RAC 就是云原生数据库,只不过是在当年的硬件资源环境下只能做小范围的池化。Oracle RAC 是 Oracle 公司针对数据库高可用提出的解决方案,通过对集群内部服务区存储的统一管理,实现集群内部数据库的高可用,进而对外实现提高体系性能、可扩展和降低本钱等服务。
“我以为 Oracle 的人真的还是很锋利的,他们当年不光做了池化,它甚至在 Oracle RAC 上还要去做多读多写,本日我们云原生数据库可能还没有一个真正能够去完善支持多读多写的。Oracle 做了,还是在存储层做的,但是它这个读写路径太长。”李飞飞感慨:“我认为 Oracle 的多读多写做的是失败的,本日旗帜鲜明说出来。AWS 的 Aurora 在存储层‘log is the database’。写进去后,通过‘log is the database’进行重做,如许就导致多读多写写入的链条特殊长,latency overhead 承受不了。我个人认为这是失败的一条路。”他认为,在云原生上取得成功,肯定将内存池化,这也是阿里 PolarDB 为什么要做内存池化的缘故原由。
开源的现实与理想
开源是必选项吗?和商业化是否相悖?
对于第一个问题,黄东旭的答案是“是”,TiDB 就是最好的证实。在他看来,数据库之类的基础软件焦点竞争力就在于迭代和进化,随着需求越来越敏捷,一招鲜吃遍天已经过时了。“我不停相信没有完善的软件,也没有完善的程序员。”黄东旭提到,想要写出来完全没有问题的东西是不现实的,开源能够让足够多的人、足够多的眼睛参与到项目中,资助项目更早暴露问题、解决问题。“相当于不是一个人在弄,是整个社区和生态,相当于是撬动了整个社区的力气。”
另一方面,数据库作为通用基础软件,行业属性偏弱,天然具备开源的基础。作为重要的行业基础设施,开源是很好的“降低本钱、广纳客源”的一种方式。在黄东旭看来,为了避免像已往一样“为爱发电”,云可以资助产物交付尺度化、可规模化,完善解决了开源软件商业化的问题。他感叹:“这就是为什么我以为这个年代是做基础软件的好时代,也是做开源软件的好时代。”
在李飞飞看来,开源如今成为数据库的必选项是“人为”:一群非常出色的人将开源作为技术演进路线上的必选项,触发了整个行业环境发生“物种大发作”一样的变化,适者生存之下,开源从数据库的非必然选项变成了必然选项。从自身云厂商的角度出发,李飞飞毫不讳言开源为阿里云带来了很多长处,其中之一是“加快了物种进化的速度”,让越来越多的人开始利用阿里云的体系。
当然,开源和商业化中存在矛盾点,但李飞飞认为二者同时也在相互解耦,关键在于企业如那边理。开源成功未必有很好的商业化效果,但是如果商业化效果很成功,也未必肯定要开源。“对我们云厂商来讲,最重要的也是生态,也是开发者,也是用户,是不是能够用足够低的门槛来利用我们的产物和体系,这个永远是我们的第一思考。”李飞飞提到,如今开源的焦点是要把生态建立起来,把握好开源和商业化之间的锚点。厂商开源一部分焦点本领,和大家一起建立好的开源社区,加快演进、迭代速度。
“商业化的成功是技术进步的前提”这一观点在现场达成了共识。周傲英也表示,“开源跟商业自己不是一回事,只有企业才能把开源得有商业价值。我们要重新界说知识产权,要重新来审视我们对知识产权的理解,只有企业在实践中才能知道。”在他看来,开源是创造性生产方式的改变,有非常重要的社会价值,甚至是哲学价值。从 Hadoop 到 Ingress、MySQL 和 PostgreSQL,细数数据库开源发展历程,周傲英强调:“开源就是一种自发的行为,开源就是开放,开放才能创新,开放才能很好地迭代。开源做数据库的目标是什么,让每个人都来参与数据库的开发。”
构建更好的开源生态
行业有关注度是好事,但凡事矫枉过正。行业热度下,一些问题也逐渐暴露出来。在黄东旭看来,目前开源产业有三大问题:
- 开源概念热度过火,开始出现一些泡沫,行业过热会导致不认可行业逻辑、不真正相识开源软件的人参与进来。
- 开源软件找不到焦点竞争力。不少开源公司和开源项目标掌舵者,虽然运营着很好的项目和社区生态,但是对商业和项目标未来思考深度不够,而行业也缺少有深入思考和认知的人才。
- 在开源生态下,行业对软件工程和软件工程的复杂性、易用性的思考,可能是全新的跨学科课题。
但是他仍然乐观:“这个领域很有希望,最怕死水一潭,没人关注,我以为反而是有困难就意味着这个有希望。”
李飞飞也表达了自己的担忧:部分开源厂商的开源并非原汁原味的开源,开源社区也不肯定是真正的开源社区,不仅仅是技术问题或者商业问题,非常复杂。“他们是不是在真正恭敬这个知识产权或者是这个项目标原作者的知识产权。实在我以为不见得所有人都是有共识的。”黄东旭补充道。
当被问及理想中的开源生态是什么样的?黄东旭认为,企业是建设理想开源生态的发动机,做开源生态不能想着为了赢利,构建生态是需要费钱的,真恰恰的生态要构建在共识和尺度之上。
李飞飞总结道:“理想的开源生态我以为是一个从教诲产业到 non-profit,大家都能够去参与到其中去的。我以为拿英文来说就是 Stakeholders,至少是所有主要的 Stakeholders 能够在一个有序的良性的生态里面去共生共存,我以为这是我想到的未来的一个趋势,本日我以为我们在往这个方向演进,这条路上还是任重道远的,还有非常长的一段路要走。”
风物长宜放眼量,等待理想的开源生态实现的那一天。 |