数加DataWorks在国网浙江电力的最佳实践

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
大数据开发治理平台DataWorks,资源组抵扣包 750CU*H
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 2017云栖大会dataworks专场,国网浙江电力大数据平台架构师陈振带来dataworks在国网应用的实践。本文主要从建设数据仓库的三个痛点开始谈起,引出企业级数仓架构设计,着重通过数据集成和企业级管理为大家分享了具体的应用情况,最后作了简要的展望。

2017云栖大会dataworks专场,国网浙江电力大数据平台架构师陈振带来dataworks在国网应用的实践。本文主要从建设数据仓库的三个痛点开始谈起,引出企业级数仓架构设计,着重通过数据集成和企业级管理为大家分享了具体的应用情况,最后作了简要的展望。
以下是精彩内容整理:

背景&动机

由于长期业务系统的竖井式发展,导致业务系统中数据存储分散,当你要进行多个业务系统中数据的联合统计场景时,我们通常不得不汇总三到四个以上的业务系统数据,久而久之就会在数据中心里形成一张非常复杂的数据集成网络,由于业务系统给出的接口非常老旧,导致在数据集成网络中涉及到的技术手段又非常多,总共这三大痛点给我们数据中心管理带来非常大的困难。
所以,我们开始思考,为什么不把全部的业务数据放到统一的数据仓库中去呢?为了进行数据的统计分析,不得不建设复杂的数据集成网络,那么,为什么不把统计和计算放到企业级数仓中去呢?既然我们的数据源端技术手段那么多,为什么我们不把企业级数仓建设成一个能够兼容多种数据源的企业级数仓呢?
我们想要企业级数仓具备比较高的时效性,因为我们的数据最终面向不特定的业务场景,它的后端需求是在不断变化的;其次,我们需要企业级数仓具备企业级管理能力,这必定会成为公司的多人协作平台,如果不具备企业级管理能力,就无法实现多人协作;最后,我们需要有灵活的数据输出,企业级数仓的数据必须能够合理赋能给我们业务团队。

架构设计

1


基于以上需求,我们开展了企业级数据仓库架构设计,最后,我们设计出了如图的数据仓库。我们的数仓符合一般的数仓技术架构,数据从多种数据源出来,被数据集成框架输入到两条路径中,上面一条路径比较慢,下面一条路径比较快,快路径数据输入到HBase中,慢路径数据输入到Maxcompute中,我们会把慢数据中全部业务数据都放到数据仓库中,快路径主要接入一些电力传输网络上的传感器发送过来的数据,这部分数据实时性比较高,Maxcompute和HBase中数据经过统计和分析之后,产生的结果数据通过数据输出链路传输给RDS、ADS实例,由它们作为企业级数仓数据输出端口。

2


在这一整套技术架构里面,数据在里面成功流转的关键在于两方面。一方面是数据集成、数据处理和数据输出三条链路的驱动;一方面是Maxcompute中四层企业级管理。那么,我们到底是怎样做的呢?

数据集成

3


数据集成作为把守企业级数仓的数据输入端,最终决定了数据仓库保有的信息量,也决定了数据最后表现出来的最终形态。由于我们是面向全公司的所有数据业务集成,始终面对着变化的数据源,数据集成架构必须要满足不同业务、不同数据源的数据输出方式的架构。我们有很多中集成方式,包括批式集成、流式集成、局部增量集成、流转批、流转局部增量、流转拉链表。

4


批式集成会在每个数据集成周期开始时候把源库中原表的最新快照复制到目标库中,并且把最新快照加入到目标表的最新的时间分区中,这个目标表的时间分区是按照接入这一刻的时间点进行划分的。
这种数据集成方式使用数加CDP即可完成,优缺点很明显,优点是结构简单,兼容性好,易排错,自带ETL;缺点是源端压力大,CDP自带限速光环,目标端存储效率低。批式集成方式一般用于小表、维度表、主数据表。

5


为了弥补批式集成的空白,我们设计了一种局部增量数据集成。这种集成方式在原表中行为与批式集成一样,只不过它将原表最新快照复制过来不是马上插入到目标表中,而是把它存为一张中间表,中间表中我们会过滤出每天最新部分数据,按照这部分数据业务时间插入到目标表对应的时间分区里面,这里目标表的时间分区不是按照集成时刻进行划分的,而是按照表里面每一条业务数据的业务时间进行划分的。
这种数据集成方式保证了每一条数据都不会被重复存储,优点是update友好,目标端存储效率高;缺点是要求主键,依赖Timestamp,需设置自依赖,丢失历史信息。适用于有明确业务周期、有良好Timestamp的大表,并且确实考虑到目标端存储效率的表。

6


除了以上两种集成方式,还有其他集成方式,这些方式都不是凭空产生的,我们都是通过四个不同的参数来描述,这四个参数都是可以根据实际数据情况自由配置的。我们要满足一些关系保证数据集成链路运行过程中信息量不会丢失,比如Fr ≤ Wr , Fw ≤ Ww, Fr ≤ Fw,Fr 、Wr根据业务属性设计,Fw、Ww根据时效性需求设计,Fr < Fw,则存在数据积累,需中间表,Wr < Ww,则存在历史数据归并,需自依赖。

企业级管理

企业级管理在一般数仓中是不用去考虑的,但是我们汇总的是全公司全部数据,一旦这些数据进入到仓库中,我们就把其看成是一种生产资料,围绕着生产资料,必定会有很多人协同进行数据管理、运维、处理和使用,我们需要数据仓库的组织账号管理,也要有数据仓库中资源数据权限隔离,还要有专人运维和数据服务发布。

账号组织管理

7


组织账号管理是管理项目和人。对应数加中的两层账号体系,一是主账号,对应项目,用于项目资源分配、成本核算、赋权;一是子帐号,对应人,用于行为审计。我们又把项目分为两大类,一类是超级项目:数据服务团队,维护公共数据(数据集成、ODS、BW);一类是一般项目:业务项目团队,生产特定业务口径数据(DM)。

权限管理

8


权限管理管理对象为资源权限和数据权限。我们从横向、纵向两方面管理,横向隔离业务项目 <-> 业务项目,纵向隔离开发项目 <-> 生产项目。从资源策略上讲,纵向隔离、横向归并。从数据策略说,横向纵向两个维度都会隔离。如果要打破隔离,需要进行数据授权,表授权使用DataWorks IDE,横向行授权通过视图 + 物化过程,纵向行据授权通过数据采样与脱敏。

运维

9


运维主要分成四大块,具体如下:
  • 任务管理:多种类型任务的定义,任务编排,虚节点的使用;
  • 任务测试:单任务测试,任务树测试(补数据),忌:直接在开发窗口测试任务;
  • 任务发布:专人审核发布,开发生产依赖解耦;
  • 任务监控:多类型任务统一监控,批量控制,任务异常告警,时间基线告警,计数基线告警。

数据服务发布

10


数据服务是数据仓库的生命力所在,我们成立了数据服务团队“经营”数据仓库“超级项目”。包括:
  1. 准备环节:业务需求调研,技术需求调研,数据接入,数据整理,数据分级,业务模型整理,标准服务目录整理
  2. 售前环节:项目接洽,业务范围、组织范围、时间范围敲定,技术方案敲定,集成需求确认
  3. 售中环节:数据补接,数据授权,基础资源准备,数据交付,业务上线
  4. 售后环节:数据集成链路运维,数据处理任务运维,数据共享,数据资产升级

期望与展望

我们希望在以下方面进行优化和升级:

  • 基础技术层面:我们期望可以驱动更多底层引擎,提供更多技术选项。这会涉及到不同处理引擎间迁移数据,我们可以通过一系列自动配置数据集成链路来处理不同数据处理引擎间的数据交互。
  • 数据处理层面:我们需要解决数据处理任务从慢到快的过程,增量过滤条件上推,全增量处理,规范源端时间标记,全链路维护时间戳,优化增量数据处理性能。
  • 数据服务:加强数据服务发布工具研发,优化数据使用体验,包括数据服务目录发布,自动分级、脱敏,链路异常告警广播等。
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 产品官网 https://www.aliyun.com/product/bigdata/ide 大数据&amp;AI体验馆 https://workbench.data.aliyun.com/experience.htm#/ 帮助文档https://help.aliyun.com/zh/dataworks 课程目标 &nbsp;通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群 &nbsp;企业数据仓库开发人员 &nbsp;大数据平台开发人员 &nbsp;数据分析师 &nbsp;大数据运维人员 &nbsp;对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
2月前
|
分布式计算 DataWorks 搜索推荐
DataWorks 产品评测与最佳实践探索!
DataWorks 是阿里巴巴推出的一站式智能大数据开发治理平台,内置15年实践经验,集成多种大数据与AI服务。本文通过实际使用角度,探讨其优势、潜力及改进建议。评测涵盖用户画像分析、数据治理、功能表现等方面,适合数字化转型企业参考。
58 1
|
3月前
|
数据采集 人工智能 DataWorks
DataWorks产品最佳实践测评
DataWorks产品最佳实践测评
|
3月前
|
数据采集 DataWorks 大数据
开发者评测:DataWorks — 数据处理与分析的最佳实践与体验
阿里云DataWorks是一款集成化的大数据开发治理平台,支持从数据导入、清洗、分析到报告生成的全流程自动化。通过用户画像分析实践,验证了其高效的数据处理能力。DataWorks在电商和广告数据处理中表现出色,提供了强大的任务调度、数据质量监控和团队协作功能。相比其他工具,DataWorks易用性高,与阿里云服务集成紧密,但在API支持和成本优化方面有待提升。总体而言,DataWorks为企业提供了强有力的数据开发和治理支持,尤其适合有阿里云生态需求的团队。
352 17
|
3月前
|
分布式计算 DataWorks 搜索推荐
DataWorks产品评测:大数据开发治理平台的最佳实践与体验
DataWorks是阿里云推出的一款大数据开发治理平台,集成了多种大数据引擎,支持数据集成、开发、分析和任务调度。本文通过用户画像分析的最佳实践,评测了DataWorks的功能和使用体验,并提出了优化建议。通过实践,DataWorks在数据整合、清洗及可视化方面表现出色,适合企业高效管理和分析数据。
181 0
|
3月前
|
DataWorks 搜索推荐 BI
DataWorks产品评测与最佳实践分享
DataWorks产品评测与最佳实践分享
64 0
|
2月前
|
DataWorks 监控 数据建模
DataWorks产品体验评测
DataWorks产品体验评测
|
2月前
|
数据采集 机器学习/深度学习 DataWorks
DataWorks产品评测:大数据开发治理的深度体验
DataWorks产品评测:大数据开发治理的深度体验
165 1
|
3月前
|
SQL DataWorks 大数据
DataWorks产品体验测评
一文带你了解DataWorks大数据开发治理平台的优与劣
237 11
|
3月前
|
SQL DataWorks 数据可视化
DataWorks产品体验与评测
在当今数字化时代,数据处理的重要性不言而喻。DataWorks作为一款数据开发治理平台,在数据处理领域占据着重要的地位。通过对DataWorks产品的体验使用,我们可以深入了解其功能、优势以及存在的问题,并且与其他数据处理工具进行对比,从而为企业、工作或学习中的数据处理提供有价值的参考。
140 6
DataWorks产品体验与评测
|
3月前
|
SQL DataWorks 搜索推荐
DataWorks产品评测与最佳实践体验报告
DataWorks是阿里巴巴云推出的一款高效数据处理平台,通过内置的数据集成工具和ETL功能,实现了多源数据的自动化处理与分析。本文介绍了DataWorks在用户画像分析中的应用实践,展示了其如何帮助企业高效管理数据资源,支持决策制定及营销优化。同时,文章还评测了DataWorks的产品体验,包括开通流程、功能满足度等方面,并与其它数据开发平台进行了比较,突出了DataWorks在易用性、性能和生态完整性上的优势。最后,对Data Studio新版本中的Notebook环境进行了初步探索,强调了其在提升开发效率方面的价值。
153 16