2024年10月25日晚,信息科学技术学院第二十八期“知存讲座”暨信息科学前沿与产业创新课程在理科教学楼107教室顺利举办。腾讯TDSQL资深数据库专家张树杰先生受邀进行了以“数据库优化器的发展演进与思考”为主题的报告。北京大学人工智能研究院、集成电路学院双聘,助理教授、研究员李萌主持了本次活动。
张树杰先生主讲本次讲座
讲座开始,张树杰先生首先简要介绍了数据库的发展历史与优化器的发展。从最初的文件系统到网状模型,层次模型,从1970年关系模型的诞生到2005左右年Google File System、Google Big Table、Google MapReduce的“三驾马车”,数据库的研究不断取得进展。而到了现在,随着算力、大数据技术的迅速发展,AI数据库,向量数据库,KV数据库,云原生数据库等也应运而生,助力科技时代的发展。而对于优化器的发展,张树杰先生简要介绍了三个重要的人物。首先是E.F.Codd博士,他提出了关系模型的概念,论述了范式理论与衡量关系的12条标准;然后是Patricia G. Selinger,她是基于代价的查询优化技术的发明者,也是System-R原团队的关键成员;以及Goetz Graefe,他最终完善了自顶向下搜索的优化框架,目前也已经在数据库业界被广泛采用。
讲座现场
之后,张树杰先生介绍了优化器在数据库中扮演的角色并且概述了在查询重写与物理优化中各自的一些考虑因素。在讲解查询重写时,张树杰先生列举了一些常用的查询重写优化,比如常量的传递闭包、子查询的优化等等,并且提供了几个查询重写优化的示例,让同学们切实感受查询重写优化所带来的便利;然后在讲解物理算子时,张树杰先生主要介绍了扫描算子和Join算子的实现算法和逻辑,比较了各种算子在不同业务场景下的优缺点,以及各种算子代价计算的方法。
之后,张树杰先生先概述了物理优化的流程,分别包括:统计信息、基数估算、代价模型、Plan搜索和Plan生成等步骤,并通过实例让同学们理解代价估算的大体流程。之后在讲解优化器的搜索方法和算法时,张树杰先生分别介绍了启发式的搜索方法,自底而上的搜索方法,自顶向下的搜索方法,同时也介绍了搜索算法中的贪心算法,遗传算法,动态规划以及动态规划+启发式规则的应用,并针对DPsub/DPSize/DPccp/DPhyp等具体搜索算法进行了讲解,比较了不同算法的时间复杂度。
在讲解完优化器的的框架和流程之后,张树杰先生对目前优化器面临的问题进行了概述,并对数据量和复杂查询带来的挑战,代价系统面临的挑战,统计信息面临的挑战分别简要进行了概述。张树杰先生指出,基数估计是代价系统的关键,Join Ordering是优化器最需要关注的核心问题。最后对优化器的未来进行了展望,表示将AI加入到优化器中可能是提高性能的一种方式。
在最后的问答环节,参会人员积极提问。当被问到AI目前在数据库方面的应用时,张树杰先生耐心做出了回复,表明目前在学术研究中会有较多的应用,但在产业里还需要进一步发展。未来希望通过应用一些轻量模型对优化器的代价模型和Plan搜索做出补充,保证在资源可控的情况下,通过AI技术为数据库产业赋能。
同学们提问交流
此次讲座聚焦于数据库优化器的现状、挑战及未来发展,让同学们对于数据库优化器有了更加深刻的认识,本次知存讲座以热烈的掌声圆满结束。
信息科学技术学院“知存讲座”将持续开展,邀请信息学科领域的知名人士为本科生介绍信息科学技术学科和产业发展热点和前沿话题,引导青年学子增进专业认知,确立前沿视野,寻找未来感兴趣的发展方向。