GBASE南大通用技术分享:GBase 8a数据库集群内部通讯机制简介
南大通用GBase 8a MPP是分布式数据库集群,分为管理节点(coor)和数据计算节点(data),管理节点负责用户语句转换和分发,所以需要和数据计算节点进行通讯。
最初的coor和data通讯,都是由线程负责的,每个线程负责一个通讯,随着GBase 8a MPP集群的规模越来越大,这种机制暴露出了很大的缺陷。举例如下:
如果一个集群有200个data节点,一个coor并发数为10,那么coor节点就需要有2000个线程处理通讯任务,会占用大量的系统资源,导致集群不能支持大并发的数据库操作。
为了解决这个现象,GBase 8a MPP引进了“协程”机制,在一个线程内处理多个连接的通讯过程,轮询每个连接,连接上有待处理的信息时,将相关上下文信息载入,进行处理,处理完毕交换上下文信息,等待下一个连接信息到来。等待过程采用了epoll机制。
通过这样的机制修改,每个并发只需要一个线程就可以处理所有的data节点的信息,减少了资源占用,提高了并发度。

浙公网安备 33010602011771号