GBase 8a 数据查询性能

GBase 8a MPP Cluster从单节点内部处理和集群处理层面都能够大幅提升海量数据的复杂关联查询性能。

单节点内部高性能数据查询

在单个节点上,GBase 8a MPP Cluster通过列存储、智能索引、自适应压缩等大大节约了单个SQL任务处理的I/O消耗,结合数据库引擎的自动优化技术实现在单个节点上的高性能海量数据复杂关联查询。

GBase 8a MPP Cluster在节点内部,对数据库常用算子,如扫描、关联、分组聚合、排序等都实现了并行处理,充分利用了现代计算机的多核计算的SMP架构优势,采用类似CPU多流水线技术和处理拆分技术,使数据库内部可以发挥多维的并行处理效果。

GBase 8a MPP Cluster内部实现下列的双向并行处理技术,从而实现对海量数据的查询性能。

图:双向并行查询示意图

•  纵向并行:GBase 8a MPP Cluster充分发挥了多核的优势,将同一任务(例如上图中的“扫描”),拆分成若干个线程,交给不同的CPU核并行执行;

•  横向并行:第一个组任务(“扫描”)将中间结果不断传送给第二个组(“关联”),第二个组在第一个组启动后很快就可以启动操作。第一个组和第二个组之间形成一个横向的“管道操作”。

通过双向并行技术实现了自动高效的并行 SQL 执行方法,充分利用多核CPU资源的并行计算能力。同时GBase 8a MPP Cluster具有智能的算法适配功能,实现最优的数据加载处理、 Join 处理和聚集计算方式。针对不同的数据处理特征,能够智能地适配不同算法进行处理。充分解决了实际应用中的Join 操作、聚合计算等海量数据条件下的复杂计算问题。

MPP集群架构高性能数据查询

在MPP集群架构层面,GBase 8a MPP Cluster数据库集群中包含一套为Share Nothing集群开发的成熟、高效的并行执行引擎。该执行计划可以依据查询类型、数据分布方式、数据规模进行自动评估,产生最佳的查询执行路径,合理利用集群资源,将运算分摊到多个节点执行,并行利用节点的计算能力(CPU并行)和存储能力(I/O并行)。同时,执行计划中进行了大量的优化工作,包括自动重写SQL;依据数据采样,调整表关联顺序;查询优化探测器可自动检测父查询与子查询间的关系,将查询分解为多个可以在多节点间并行执行的步骤。执行计划也会根据数据的分布情况,自动将查询发送到合理节点,避免查询发送到无意义的节点而造成无意义的数据处理和计算。

图:MPP层的处理并行优化

GBase 8a MPP Cluster对集群层的等值关联(JOIN)进行了优化。如果参与JOIN的两表的数据采用的是Hash分布策略,则执行计划会自动判断是否可以使用优化的JOIN策略,将JOIN算子直接下推到多个节点并行执行,以充分利用每个节点的计算资源(CPU计算并行)和I/O资源(I/O并行)。

如果参与JOIN的两表的数据在节点上不是按照Hash分布策略分布,则执行计划会对参与JOIN 的表进行预处理,将表的数据在节点间进行Hash重分布。在Hash重分布的过程中,执行计划检查查询中是否存在JOIN表上的单表过滤条件,并连带此条件一起运算,以减小Hash重分布的数据规模。执行计划采用了一系列的优化策略,以加速Hash重分布的性能,如利用副本存储,通用缓存技术等。重分布完成后,系统会下推JOIN算子到多节点并行执行JOIN,充分利用每个节点的计算资源(CPU计算并行)和I/O资源(I/O并行)。

对于非等值JOIN,系统会自动判断参与JOIN的两表的数据规模,自动选择规模较小的表进行复制重分布,然后下推JOIN算子到多节点并行执行JOIN,充分利用每个节点的计算资源。

此外,GBase 8a MPP Cluster对分组和聚合运算进行了优化,产生专门的两阶段执行计划。第一阶段,在各节点并行执行分组和聚合运算。经过第一阶段的分组和聚合运算后,产生的中间结果的数据规模被大大缩小。然后系统将各节点的第一阶段中间结果在各节点间进行Hash重分布。第二阶段分组和聚合运算并行在各节点对重分布后的中间结果进行分组和聚合运算。通过两阶段分组和聚合运算,系统实现了高效的分布式分组和聚合处理。

综上,GBase 8a MPP Cluster具有高性能海量数据复杂关联查询能力,在百亿行级别的数据加工形成百亿行级的结果集数据完成时间在10分钟以内,百亿行级别的数据表间做关联,关联结果集千万以内的情况下,响应时间在分钟级。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值