GBase 8a
运维管理
文章

gbase8a集群内部通讯机制

发表于2025-09-29 17:36:3062次浏览2个评论

gbase8a mpp是分布式数据库集群,分为管理节点(coor)和数据计算节点(data),管理节点负责用户语句转换和分发,所以需要和数据计算节点进行通讯。

    最初的coor和data通讯,都是由线程负责的,每个线程负责一个通讯,随着gbasae8a mpp集群的规模越来越大,这种机制暴露出了很大的缺陷。举例如下:

   如果一个集群有200个data节点,一个coor并发数为10,那么coor节点就需要有2000个线程处理通讯任务,会占用大量的系统资源,导致集群不能支持大并发的数据库操作。

   为了解决这个现象,gbase8a mpp引进了“协程”机制,在一个线程内处理多个连接的通讯过程,轮询每个连接,连接上有待处理的信息时,将相关上下文信息载入,进行处理,处理完毕交换上下文信息,等待下一个连接信息到来。等待过程采用了epoll机制。

   通过这样的机制修改,每个并发只需要一个线程就可以处理所有的data节点的信息,减少了资源占用,提高了并发度。

评论

登录后才可以发表评论
用户头像
levvel发表于 6个月前
就是看看,顺便踩个脚印
崔哥发表于 2个月前
东南形胜,三吴都会,钱塘自古繁华,烟柳画桥,风帘翠幕,参差十万人家。云树绕堤沙,怒涛卷霜雪,天堑无涯。市列珠玑,户盈罗绮,竞豪奢。重湖叠巘清嘉。有三秋桂子,十里荷花。羌管弄晴,菱歌泛夜,嬉嬉钓叟莲娃。千骑拥高牙。乘醉听箫鼓,吟赏烟霞。异日图将好景,归去凤池夸。