【Infra Meetup No.82】数据库统计信息的自动挖掘与维护 & What's New in TiDB

上海社区小伙伴们又相聚啦!在 Infra Meetup No.82 上,我司 TiDB 核心开发工程师韩飞、技术 VP 申砾为大家带来了干货分享,以下是现场视频&文字回顾,enjoy~

数据库统计信息的自动挖掘与维护

韩飞老师首先介绍了查询优化器的基本架构与执行流程,并重点介绍了统计信息模块在基于代价的优化(CBO)中的重要作用。在谓词选择率估计(Selectivity Estimation)中,常用的属性独立假设(attribute value independence assumption)在列相关(Column Correlation)的场景下会产生较大误差。

在此次分享上,韩飞老师重点介绍了贝叶斯网络(Bayesian Networks)的解决方案,针对互相依赖的列,使用贝叶斯模型估计依赖关系,并建立多维直方图是一种非常有效的解决方案。另一个影响选择率估计的因素是统计信息的过期问题,根据查询结果的反馈更新直方图信息是一种行之有效的解决方案,但是通常会引入较大误差。通过引入最大熵原则(Max Entropy Principle)可以相对准确的解决直方图更新的问题,这种方法应用在 Informix 商业数据库中。

What's New in TiDB

申砾老师介绍了 TiDB 2.1 版本的重要 Feature,包括这些 Feature 所解决的问题、背后的原理、达到的效果,特别是 TiDB 在优化器、计算引擎、存储引擎方面的改进,使得 2.1 版本成为更智能、更迅速、更稳定的数据库。接着,申砾老师展示了部分 Benchmark 结果,分别从 OLAP、OLTP 两个场景表明 TiDB 的性能提升。最后介绍了下一步工作的展望,让大家了解 TiDB 的演进方向。