GaussDB(for MySQL) NDP与PQ测试体验

点击蓝字

ee29ad5b4146d80cbde2c18867af91f8.gif

关注我们

GaussDB(for MySQL)发布了计算下推框架。针对数据密集型查询,将提取列、条件过滤、聚合运算等操作向下推送给GaussDB(for MySQL)的分布式存储层的多个节点并行执行。通过计算下推,提升并行处理能力,减少网络流量和计算节点的压力,提升查询处理执行效率。

1

NDP介绍

NDP(Near Data Processing)

GaussDB(for MySQL)采用计算与存储分离的架构,减少网络流量是主要架构准则,NDP设计将该准则应用到查询操作。没有NDP之前,查询处理需要将原始数据全部传输到计算节点。通过NDP设计,查询中的I/O密集型和CPU密集型的大部分工作被下推到存储节点完成,仅将所需列及筛选后的行或聚合后的结果值回传给计算节点,使网络流量大幅减少。

同时跨存储节点并行处理,计算节点CPU使用率下降,最终带来查询效率性能提升。

NDP框架同GaussDB(for MySQL)并行查询进行融合,并进行了页面批量预取的设计,达成执行全流程并行,进一步提升查询执行效率。

官方架构图如下:

43561c722ae47009f740fbfe35153ec6.png

2

PQ(parallel query)

GaussDB(for MySQL)支持了并行执行的查询方式,用以降低分析型查询场景的处理时间,满足企业级应用对查询低时延的要求。并行查询的基本实现原理是将查询任务进行切分并分发到多个CPU核上进行计算,充利用CPU的多核计算资源来缩短查询时间。并行查询的性能提升倍数理论上与CPU的核数正相关,也就是说并行度越高能够使用的CPU核数就越多,性能提升的倍数也就越高。

下图为一个表count(*)的执行过程图:

cf571fc24c90d8a502e6b41205c59a5d.png

3

对比测试验证

测试服务器参数配置如下:

服务器类型 ECS服务器 GaussDB(for MySQL)
CPU 32个CPU 16个CPU
内存 64G 32G
mysql版本 官方社区版8.0.26 兼容mysql 8.0
innodb_buffer_pool_size 32G 32G
服务器节点 一个主节点 一个主节点+3个只读节点

3.1、开启NDP

GaussDB(for MySQL)查看NDP是否开启:

mysql> show variables like 'ndp_mode';

+---------------+-------+| Variable_name | Val
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值