本次直播将继续我们的PostgreSQL技术内幕系列,由HashData数据库内核研发工程师李老师跟朋友们讨论交流MPP数据库分布式查询分发Dispatcher。
在MPP数据库中,所有查询都始于协调者(Coordinator)节点,用户向协调者发送请求后,由协调者首先对查询进行解析和规划(Planning),通过查询分发器Dispatcher将查询计划分发给相关的执行节点(Segment),执行并收集结果后再返回用户。对于MPP数据库而言,Dispatcher是必要的核心组件,无论任何功能的语句都必须经过它。
Dispatcher主要进行并行查询分发和数据传输:
在并行查询分发方面,Dispatcher能够将查询请求分发到多个分布式节点上并行执行,从而提高查询的性能和效率;
在数据传输方面,Dispatcher负责将查询结果从各个节点上收集并汇总,然后将结果返回给客户端。
另外,在规划和执行时,MPP数据库是基于Slice和Gang的概念工作的,具体地说,四种不同类型的Slice和Gang承担了不同的职责,而依据分发时对Gang的不同操作,查询被分为Plan、Command、Set Command和Utility Statement四类,分别对应Dispatcher里不同的入口函数和处理方法。
在这些实际效果之外,Dispatcher更是代表了一种分发理念,对于理解分布式系统的运行将很有帮助。本周四,我们将邀请到HashData内核研发工程师李老师,为大家讲解Slice与Gang、查询分发工作流程、分布式快照同步等概念与特性,欢迎感兴趣的朋友们与我们相约直播间,一起学习成长!
主题:PostgreSQL技术内幕(十三)探究MPP数据库分布式查询分发Dispatcher
时间:01月18日(周四)19:30





