暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AntDB 执行器技术——逻辑计划与物理计划

1029

在数据库系统中,服务端接收到一个查询请求,经过词法分析、语法分析、优化重写等步骤之后,最终转变为执行计划。执行器根据执行计划,一步一步地进行数据提取、数据处理、数据存储等过程,最终实现查询请求。分布式数据库拥有分布式执行计划,与传统单机数据库相比拥有更高的扩展性。本节将介绍 AntDB 分布式数据库执行计划生成与执行机制。

数据库的服务端,可以划分为执行器(Executor)和存储引擎(Storage Engine)两部分。其中执行器负责解析 SQL 命令并执行查询。数据库收到查询请求后,需要先解析 SQL 语句,把这一串文本解析成便于程序处理的结构化数据,然后生成一个逻辑执行计划,最后再转换成和数据的物理存储结构 相关的物理执行计划,从目标节点中调取所需的数据,从而完成整个数据查 询的过程。

1.逻辑计划与物理计划

执行器执行之前,需要计划的支撑,计划分为逻辑计划和物理计划。原始的逻辑计划和物理计划可能不是最优的,需要对其做进一步的优化。逻辑优化是建立在关系代数基础上的优化,关系代数中有一些等价的逻辑变换规则,通过对关系代数表达式进行逻辑上的等价变换,会获得执行性能比较好的等式, 这样就能够提高查询的性能。物理优化则是对建立物理执行路径的过程进行优化,关系代数中虽然指定了两个关系如何进行连接操作,但是这时的连接操作属于逻辑运算符,它没有指定以何种方式实现这种逻辑连接,而查询执行器是不“认识”关系代数中的逻辑连接操作的,需要生成多个物理连接路径来实现关系代数中的逻辑连接操作,并且根据查询执行器的执行步骤,建立代价计算模型,通过计算所有物理连接路径的代价,从中选择“最优”的路径。

逻辑计划与物理计划的关系就好比外出旅游,逻辑计划相当于告诉去哪里, 物理计划相当于具体怎么去,选择什么样的交通方式,是步行、开车还是坐飞机。最后,当真正动身去旅游时就相当于执行。

同单机数据库相比,在执行计划方面,AntDB 在生成逻辑计划时是相同的, 而在由逻辑计划生成物理计划时会有较大的不同。当由逻辑计划生成物理计划时, AntDB 会根据各个节点的数据分布、表信息、节点信息,生成分布式的物理计划。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论