墨天轮2022年12月份的报告已经出炉,这一期的主题是:大道至简,自治为王。
数据库的终极未来是什么?这是行业里一直在探讨的命题,复杂但是也简单。
大道至简
01
Oracle 23c 提出的理念是 App Simple,亚马逊在 re:invent 2022 大会提出的一个理念是 ZERO ETL,其实都是在简化。
只不过,有些简化是螺旋式上升,在走一条循环往复的进化之路。
在 Oracle 的世界里,应用简化的内涵是,通过多模数据库,不断融合各种数据类型、开发方法,使得万千应用熔于一炉。
在 AWS 的世界里,则是将原有的Oracle数据库,替代为各种云上的RDS数据库,然后需要通过简化ETL,去加速数据复制和流通。
下图是2019年,亚马逊最终将 7500 个 Oracle 数据库中的 75 PB 内部数据迁移到多个 AWS 数据库服务,彻底去掉了Oracle。这一步是打破壁垒,数据库的品类和数目都会大大增加,但是云简化了管理,使得这一切可以达成。
在新的架构上,数据集成变得复杂,2022年AWS提出的 zero-ETL 就是来简化这一复杂性。首先解决的是自己的 OLTP 和 OLAP 之间的整合问题,Aurora 到Redshift 的数据同步问题。
这是解构再建构的过程。Oracle 使用一个数据库去解决 OLTP 和 OLAP 的双重需求,行列混存使得鱼和熊掌可以兼得。AWS 看似在进化的路上循环往复,但是本质上,云在底层使得这一切的变化更有意义。
云的演进
02
云数据库的演进,从自建数据库,到 PaaS 服务、云原生,再到Serverless,技术的进步是通过不断简化用户的管理和应用,从而让数据库的使用更简单,现在 Serverless 则是更进一步,能够以更精细化的弹性和计费,让经济性回归。
这本质上,一直是一种商业模式的进化。
在Gartner 2022的魔力象限报告中,针对Oracle的陈述始终是云上的束缚和传统的成本印象,传统商业模式,始终是Oracle转型的巨大障碍:
在国内厂商中,阿里云 PolarDB 的 Serverless 化演进一直走在前列,并且通过了信通院Serverless的认证评测,TiDB 在海外也推出了云上 Serverless 版本。
数据库无感化
03
Serverless 技术,本质上又是一种简化,简化了环境管理和应用开发。在这一造词序列上,还有 Diskless,自然也有 Databaseless,数据库的无感化将是数据库发展的终极未来。
所有的 less 思想,都可以用第一性原理重新注解。随着时间的流逝和技术的创新,任何现有的流程和认知,都可以重新被审视,追本溯源重新发现问题,以寻求更佳的解决方案。Serverless 和 Databaseless 都是重新来审视架构的复杂性,用进步的技术替代原有架构中的落后环节,从而让用户实现更佳的技术无感知,让开发者更加聚焦业务。
Serverless 在数据库上的关键技术包括,资源池化与弹性扩展、高可用、高性能、低成本。低成本虽然看似技术无关,但是其本质上要依赖技术上的极致弹性和动态伸缩。而高可用和高性能是数据库的持续追求。只不过今天这些技术,基于云有了新的征途。
智能加持
04
数据库无感知的进一步进化基础当然是AI,AI4DB & DB4AI,数据库和智能技术不断融合促进,实现数据库的自治智能。
所以在11月的主题报告中,我们选择的课题就是智能:极智穷思,数往知来。
近年来,随着大数据、机器学习算法、新型硬件技术的发展,几乎所有行业对 AI 的需求都在快速增长。DB与AI相结合成为当前热门的研究主题之一。
DB 和 AI 的功能界限变得模糊,用户需要兼具 DB 和 AI 的混合分析功能,AI 原生数据库将是解决这个需求的关键技术;AI 原生数据库一方面扩展 SQL 的算子来支持 AI 算子,实现库内的训练和推理,一方面通过数据库内置 AI 算法来提升数据库的智能优化、智能运维;AI原生数据库在数据模型、数据操作和系统部署层面都带来新的挑战。
湖仓一体
05
然而知易行难,每一步的技术进步都需要大量的积累和探索。中科软左总在2022年度的“中国软件技术大会“分享了湖仓一体化技术发展趋势的主题。
湖仓一体的本质,仍然是简化。通过一体化,试图将业务上前后系统、主文辅文、结构化半结构化等数据,“实时”结合起来进行运算,从而支持决策。
然而湖仓一体化涉及到大量的开源工具集,需要大量工程实践验证,还远谈不上成熟。
在解决湖仓一体,或者说,交易和分析业务场景时,HTAP 成为一个重要选项,其实从Oracle的 In-Memory 组件,到 Google 的 AlloyDB,都是通过行列混存,试图将事务和分析融于一体。
在这个趋势上,云原生数据库、HTAP混合数据库、数据仓库,在加速走向融合。这事实上扩大了云数据库的边界,云更进一步的吞噬传统数据库的市场。Snowflake 的成功是率先作出的表率,在那之后 MySQL HeatWave、Google AlloyDB 都在这一方向上加速进化。
Gartner 2022年度魔力象限对 Snowflake的评价就是如此:Snowflake Data Cloud解决了分析、数据仓库和数据湖的需求。Snowflake正在投资其Snowpark功能,以提供AI/ML支持,最近增加了Python支持,最近宣布打算也提供事务能力。今年早些时候,Snowflake收购了Streamlit,一个低代码的应用程序开发框架,以及Applica,以扩展对非结构化数据的分析。
新DBA时代
06
由于各种开源技术的引入,数据的快速爆炸式增长,在新的系统建设中,传统DBA的作用变得更加重要,这个变化是从管理(Administrator)到架构(Architecture)的变化。
只有做好前期的数据架构的选型、规划、建设,才能够实现可持续的企业数据环境。才能够在快速变化的数据库技术中,减少投资浪费,持续高效的支撑业务发展。
这意味着,DBA的工作重心要从传统战术性工作(这些工作基本上可以被自动和智能化应用,自动完成)转变到战略性工作上来。
战术性工作并非不重要,只是靠人的知识长期积累才能掌握的运维和优化能力,需要循环往复不断的培养人才能实现,无法满足快速变化的业务和技术需求,所以别无他法,要么是数据库软件自身通过简化和智能实现,要么是外在的平台工具自动和智能的实现。
在数据库层面,在核酸检测年代暴露出来的并发障碍,其实和20年前我们遇到的数据库问题别无二致,优化手段也毫无差别,然而靠人力去优化解决总是后发。我们最终认识到,要看软件自身,消除人工的介入。在 MogDB 数据库上,通过自治事务提交解决日志写的瓶颈,通过自治的分区特性解决热点表的高竞争问题...从而去降低人工优化的介入和技能要求。
在平台工具层面,传统的 DBA 工作也正在加速被平台和产品所替代,云和恩墨的 zCloud 产品就是在这一方向上构建的私有云 dbPaaS 平台,而公有云上自然有云厂商的管理平台。从云上到云下,从传统DBA到CloudDBA,传统的工作自动化,新的工作全局化。
DBA的工作,必须更向前、更向全局发挥作用。这些全局化的战略性工作就包括:
(参考我在2019年的演讲,https://www.modb.pro/doc/1280可以获取)
从数据库、数据仓库到数据湖,再到湖仓一体(Lakehouse),大道至简,而抵达之途曲折艰辛!
信息技术的迷人之处正在于,我们永远在路上!