调度、模型、同步与任务——阿里云大数据数仓建设性能优化方案

摘要: 对于阿里云大数据数仓建设性能优化而言,主要可以从调度优化、模型优化、同步优化以及任务优化这四个方面着手。其实,对于性能优化而言,最终还是会归结到“资源”之上,所以资源是否足够,分配是否合理也是我们在进行性能优化时必须考虑的关键所在。

摘要:对于阿里云大数据数仓建设性能优化而言,主要可以从调度优化、模型优化、同步优化以及任务优化这四个方面着手。其实,对于性能优化而言,最终还是会归结到“资源”之上,所以资源是否足够,分配是否合理也是我们在进行性能优化时必须考虑的关键所在。

以下内容根据演讲视频以及PPT整理而成。

 

本次演讲视频分享,请戳这里!
本次演讲PPT下载,请戳这里!
关于MaxCompute更多精彩文章,请移步云栖社区MaxCompute公众号!

 

本文将主要围绕以下四个方面进行介绍:调度优化、模型优化、同步优化以及任务优化。对于调度优化而言,将分享任务调度如何进行优化,以及如何看到调度的瓶颈点,以及在初步进行建设和使用数据仓库的任务之后,对于任务如何进行调整来满足业务的时间要求。对于模型优化而言,主要包括一些优化相关的想法、建议以及技术的优化点。对于数据同步优化而言,也是大家在建设数据仓库的过程中经常遇到的问题,也就是将数据从其他数据库同步过来或者向其他数据库进行数据同步的时候,经常会遇到一些像某些任务运行过慢或者影响其他任务的情况。对于任务优化而言,主要指的是计算任务,也可以理解为MaxCompute的SQL任务,这部分将与大家分享如何去优化这部分的任务。

一、调度优化
在数据仓库建设的过程中,大家都会需要跑一些任务,那么这些任务如何进行配置才会是最优的呢?如果出现了瓶颈点或者业务第二天所需要的数据并没有给到,那么很大一部分的情况需要从调度方面来考虑,是不是有些任务的时间点设置的不合理?或者是不是有些任务的优先级设置的不合理?这些可能是在调度层面,大家需要优先考虑的一个点。

调度优化方式
调度优化的主要方式如下图所示,按照道理前三点应该在设计初期提前想到或者提前规划好的。而目前大部分客户还是用了一段时间的数据仓库的时候,才发现存在一些问题,当第二天需要出报表的时候才想到去优化这些点。

96a08be19d92b2809500348cc79b458aae49d70e

第一点就是对于大任务而言,需要将其预定处理的时间提前,这里的大任务也就是耗时比较长的任务,如果任务已经在跑了,那么很好评估,在DataWorks里面可以看到哪些任务跑得慢。此外还有一个评估方法就是在第一次建立数仓的时候,表的数据量很大那么也肯定是大任务。对于这些大任务而言,需要将其定时的时间提前,也就是将其优先级提前。第二点就是将关键节点的定时时间提前,这里所谓的关键节点并不是说其数据量大,而是业务很重要的任务。第三点就是需要做到任务的隔离,这里主要指的是在使用DataWorks的时候会用到一些调度资源,不管是运行SQL也好还是运行同步任务也好,这些任务都需要跑在DataWorks的调度资源里面,那么如果将这些任务都放在一个项目就会出现问题,比如某个同步任务设置了10个并发,这样就占据了10多个调度资源,这样就可能将资源全部占满了,这样就会导致其他任务需要等待,这里不是指的MaxCompute资源不够,而是DataWorks的调度资源不够了。因此,一方面需要将开发和生产隔离开,避免因为开发临时启动了测试任务导致生产环境受到影响,因此要尽量将DataWorks里面的开发项目和生产项目分离开。此外,如果生产项目也很大,可能就需要按照数仓的分层或者不同业务拆分成不同的项目,这也是避免资源出现抢占,避免影响其他业务的一种方式。当然,这样的做法有利也有弊,因为这样做会使得复杂度增加,对于企业而言,后续的运维成本也会高一些,因此这需要看大家应该如何评估,如果数据量达到了一定的规模其实可以分拆出来的,但是如果数据量不是很大,那么就可以先不考虑分拆。第四点就是减少任务层级的依赖,大家在进行调度的时候,都会在DataWorks里面看到依赖的上一层或者下游依赖哪一些任务,而任务互相依赖的层级应该是越少越好的,但是按照数仓分层,依赖至少需要三层,这三层依赖是肯定存在的,除此之外还会有一些中间表,这样就会有四层或者五层,但是尽量不要出现10层以上甚至20层的依赖,这样复杂的任务依赖会使得后期去排查任务的依赖成本升高。如果在数仓建设的初期或者建设的过程中发现了一些问题就可以从以上四个点出发进行考虑。

二、模型优化
对于模型优化而言,必须要

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值