citus 和 greenplum 实施对比

citus 和 greenplum 实施对比和相关问题总结

citus 和 greenplum 均是分布式数据库中的解决方案。
二者均是基于postgresql,前者是插件式二次开发,后者是基于内核侵入式的二次开发。
架构上没有深入研究,不做过多分析,这里只对实施过程中遇到的问题做总结和梳理。
以下均是个人总结,不一定完全准确,仅做参考。
对比版本:pg12.3 + citus 9.2.2 ,gp 6.20.3 (pg内核 9.4.26)

1、work ,分片 与 segment

citus :有worker 概念,分片概念,默认32分片,不同节点上不同分片,可并发执行,提升效率。 gp:Segment 类似
woker的概念,因为gp没有分片的概念,所以一般一个子节点机器上,根据机器硬件资源,要运行2-8个segment才能发挥出gp的性能。如果一个机器只部署一个segment,可能会遇到和citus性能相差一个数量级的情况。

详见:http://docs-cn.greenplum.org/v6/admin_guide/intro/arch_overview.html

2、函数的优化

citus 和 gp对于函数的优化都不好,对master上的请求,会将函数直接下发给各个子节点执行。

如果函数逻辑中存在,分布表和参考表的联合查询的场景,那么函数的执行效率会很不好。
将函数逻辑改为纯SQL执行,那么性能会有两个数量级以上的提升(citus和gp均是如此)。

对于一般的运算函数,不存在此问题。

所以遇到此场景的问题,我们就需要分析业务需求,看选择合适的处理方式,封装函数 or 直接SQL?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值