资源成本暴涨与阿里巴巴的应对之道
大数据环境下,海量的数据虽然为业务创造了巨大的价值,但是也带来了大量的计算成本和存储成本,甚至会出现“数据成本增速大于业务增速,不可持续发展”、“赚来的每一分钱都用在了买服务器上”等极端情况。
阿里巴巴在发展的道路上也遇到过这些问题:
1、数据资产完全黑盒。面对海量数据资产,没有统一的数据资产地图,不清楚我们有哪些数据资产,也不清楚做这些资产用在什么地方。
2、数据资产成本极高。阿里巴巴集团的数据量级早就到达了EB量级,如此巨大的数据体量,每年的数据存储和计算成本都高达数十亿元。如此巨大的数据体量,通过人工的方式去治理,往往导致资产治理效率低,人工成本高。
3、数据价值链路断层。这么多的数据,最终被那些业务使用,服务了哪些客户,也不够清晰。
为了解决以上问题,阿里巴巴孵化出了自己的数据资产管理平台(属于数据中台的一部分),用于对整个集团数据计算和数据存储进行成本统计和优化,每年可以节约数亿元的数据成本,那么阿里巴巴是怎么做的呢?
为了解决以上三个问题,阿里巴巴采取了下面的措施来更好的实现数据资产的管理:
1、做好数据资产的盘点:包括理解数据资产内容,和构建资产类目两部分。需要理解全部的数据资产、业务属性,制定规范的资产类目,做好数据的分类分级和自动识别,摸清数据资产大盘;
2、做好资产成本价值的评估:包括追踪数据应用和剖析成本价值两部分。追踪数据价值需要构建追踪数据应用的全链路,盘点出每一份数据资产的连接度、贡献度;剖析成本价值主要从数据计算和存储两个维度来评估,计算每份数据资产的成本,从每一份资产在应用里的贡献度,来计算每一份数据的价值。
阿里巴巴通过以上步骤,将数据成本、业务收益做到清晰透明可评估,从而可以针对性的对数据资产进行运营,降低数据成本,提升数据效益。
本文我们重点关注资源治理部分,如何实现大数据建设的降本。
阿里巴巴资源治理方法论
首先,我们来看一下,实现资源治理所要遵循的方法论。
要真正实现资源的治理,降低大数据建设的成本,需要以下两个关键步骤:
1、对全域的数据资产进行成本核算,生成全域的成本账单,获得降本目标。
1.1、对全域所有数据,统一按照计算成本和存储成本进行核算,生成每一份数据资产的成本估算
1.2、对全域所有数据,进行治理项检测,识别出不合理的数据资产(如无人访问的废弃表)和数据任务(数据倾斜),并评估浪费的成本,从而在宏观的层面,测算出全局可降本的空间。
2、以开发者个人为核心,推动部门、集团层面的治理优化,落实降本行动。
如果只是算出来了账单,却没有后续的运营手段的话,很难做到降本目标的真正落地。所以需要以技术运营的手段,让人人形成成本意识,真正参与降本。
2.1、对开发者、部门进行账单的汇总,进行总成本、浪费成本的排行并进行通过平台公示,从而能够快速找到最需要优化的个人和部门的数据资产
2.2、对开发者的个人资产情况进行打分,如果成本意识低,资源浪费严重,就会导致个人资产健康分数低,导致该开发者不能提交新的任务,从而使其必须进行资源的治理和任务的优化,从而在微观执行层面,真正落实降本的行动。
Dataphin资源治理
在方法论的基础上,我们还需要一个成熟的产品,来帮助我们快速的建立资源治理体系,真正降低我们在大数据建设中的成本。
Dataphin的治理功能,就是阿里巴巴的数据资产管理平台的商业化版本,具备强大的资源统计分析能力,能智能识别当前系统内低价值的数据资产和数据任务,并进行优化提示。
同时Dataphin提供了治理工作台功能, 您可以在治理工作台中,一站式的进行资源的优化处理,全局把控计算与存储成本,提升计算资源使用效率,减少无效的存储和计算成本。
治理场景
首先,我们先看一下资源治理的应用场景,从而对资源治理的价值有一个更直观的认知。以下是通过Dataphin实现资源治理的一些典型的场景:
场景1:存储优化-长期无人使用的表
大数据场景下,一个公司往往有上万张表,随着业务的变更和人员的流动,一些业务表逐渐就无人使用,同时因为多个分区进行存储,会一直占着大量的存储资源。比如一些公司的原始数据,一个分区可能就有1T,但是业务每次都只会用最新的分区,就会导致大量的历史分区的存储浪费,可以设置分区的过期策略,对历史分区进行下线操作。
Dataphin资源治理功能,可以自动发现无人使用的数据表或其他异常数据表,并在治理工作台进行提醒和展示。您可以在治理工作台查看相应数据表,并采取相应的措施(如表下线、设置生命周期等)。
场景2:计算优化-异常计算任务
大数据场景下计算资源的重要价值和昂贵成本,需要每个任务都按需使用。而在实际的业务开发过程中,存在大量的异常计算任务,浪费了大量的计算资源,如暴力扫描(扫描大量分区)、数据膨胀(数据产出远远大于输入)、数据倾斜(部分节点处理时间过长)等情况。比如发现数据的输出远远大于数据的输入,可能就是存在数据膨胀的问题(比如使用了full join),这时候就需要对任务进行优化,以优化性能。
Dataphin的资源治理功能,对任务的执行进行了全链路的监控,自动发现这些异常的计算任务,并在治理工作台进行提醒和展示。您可以在治理工作台查看相应任务,并采取相应的措施(对相应的任务进行代码优化、下线等操作)。
产品能力介绍
1、使用流程
下面我们看一下资源治理模块的详细流程图:
*虚线框的流程为可选流程
可以看到流程主要分为4步:
1、管理员制定治理规则。主要是正式治理前的一些准备工作,因为Dataphin内置了众多规则,所以这一部分是可选的,包括元数据注册、治理项管理、推送管理等功能。
2、数据负责人执行具体的资源治理。数据负责人登录系统,对具体的存储资源和计算资源进行优化。
3、管理员定期查看治理效果。管理员通过对治理效果进行分析和查看,了解当前的资源现状和治理效果,包括资源分析、治理分析、治理效果等功能。
4、管理员优化治理流程,提升后续治理效果。管理员根据上一步的治理效果,优化整个治理流程,比如增加新的治理项、增加新的推送任务、单独通知重点项目负责人等。
2、产品功能
模块包括主要包括 资源管理、 治理概览、 治理工作台、 治理项管理、 回收站等功能:
- 资源管理主要用于资源分析。资源分析是从全局视角为您展示资源消耗、资源消耗增速、资源消耗分布及资源治理概况。
- 治理概览由治理分析和治理效果组成。治理分析针对全局进行问题诊断、待治理问题点的分析。治理效果助您分析治理后效果,评定治理情况、推动治理优化。
- 治理工作台由我的治理和项目治理组成。我的治理面向当前登录用户,根据其所参与和所负责的项目,为您提供高效快捷的治理入口和能力。项目治理面向当前登录用户,根据其所参与和所负责项目的信息进行管理。
- 治理项管理由元数据注册、治理项管理、推送管理、任务管理组成。您可以自定义创建治理项、发起推送、查看任务执行,也可以使用系统内置的通用治理项。
- 回收站将您在治理工作台中删除或下线的表格暂时存留起来,以防止对数据的误操作,支持对表格的恢复和彻底删除。
3、特点优势
- 内置治理项,开箱即用:Dataphin对Dataphin系统内部的数据生产和存储都进行了元数据的采集,同时内置了最常见的存储和计算治理项,确保开箱即用,可以快速看到全局的资源情况,并进行相应的优化分析。
- 治理项支持灵活自定义:Dataphin同时支持客户自定义治理元数据和治理项,支持更加灵活的治理场景,比如想进行小表格的检测,就可以新建治理项【小于1MB的表】,从而自动检验出这部分的数据表,并进行针对性治理。
- 密切结合数据生产场景:Dataphin的治理模块和数据研发模块、数据资产模块进行了紧密的结合。针对检验出来的治理事项,可以直接在治理工作台进行处理,直接在研发任务和资产存储等方面生效,从而做到一站式做好资源治理工作。
未来展望
随着数据的不断累积和业务的不断发展,大数据的体量将会变得越来越大,而随之而来的庞大成本,也成为了大数据建设中越来越无法忽视的问题。
从整体的功能来看,从新建治理项,到具体资源的优化,再到治理结果的分析,当前Dataphin已经有了比较完善的资源治理体系。但是基于客户资源治理场景的多样性,未来会陆续支持以下功能,从而帮助客户更好的进行资源的治理优化,降低客户进行大数据建设的成本。
1、对Hadoop等新引擎的支持。原有的治理模块和阿里云的云上资源紧密结合,仅能对云上环境实现完整的治理操作。对其他引擎,比如Hadoop,当前仅支持部分核心流程,我们会在后续版本中实现对Hadoop体系治理需求的完整支持。
2、治理和研发更紧密结合,确保资源治理效果。当前治理只是对负责人进行提示,在团队规模大、数据体量大的时候,比较难有较强的约束力。后续会支持严格模式,开启后,当个人浪费资源过多,健康分过低时,会直接跳转到治理模块,完成资源的治理后,才能执行新的开发任务,从而真正保证每个人都有成本意识,让企业真正实现降本增效。
更多详细内容参考: