安庆网站建设为,专业的网站建设案例,佛山建设,河南网站建设推广公司DataWorks智能数据建模-产品建设背景
2009年#xff0c;DataWorks就已经在阿里巴巴集团立项#xff0c;支撑阿里巴巴数据中台建设#xff0c;一路见证阿里巴巴大数据建设之路。2020年之前#xff0c;DataWorks支持的是开发视角、自底向上、小步快跑#xff0c;快速满足业…DataWorks智能数据建模-产品建设背景
2009年DataWorks就已经在阿里巴巴集团立项支撑阿里巴巴数据中台建设一路见证阿里巴巴大数据建设之路。2020年之前DataWorks支持的是开发视角、自底向上、小步快跑快速满足业务需求为首要目标的数仓构建模式然而随着内部数据模型越来越多线下评审流程越来越复杂淘宝、天猫、盒马、菜鸟等多个数据仓团队开始和DataWorks合作构建DataWorks智能数据建模产品支持业务视角自顶向下的规范化数仓建设也可以支持传统的开发视角、自底向上的数仓构建模式真正做到规范化、可持续发展地构建数据仓库。2021年云栖大会DataWorks智能数据建模正式发布在阿里巴巴集团内各个业务团队投入生产并在阿里云上服务世界500强亿滋中国等众多客户。 DataWorks智能数据建模-业务痛点
在智能数据建模产品正式发布之前的这十多年时间里阿里巴巴的各个数仓团队实际上并不是不需要进行数据建模而是采用线下excel建模评审的方式在开展这一项工作流程本身非常规范模型的上线及变更有着非常严格的评审流程但即使如此线下建模还是有它的弊端存在。线下建模的弊端主要体现在三大方面规范定义、模型设计、数据开发。
从规范定义方面来讲存在的主要问题是
数仓规范与模型设计分离符合规范的模型设计对建模师本身的要求非常高既要能把业务需求高度抽象进行模型设计还需要牢记规范的点点滴滴。
数据指标定义效率低且指标的数据加工逻辑分离过去传统的单个创建指标效率相对低下且无法保证指标的唯一性指标的加工逻辑和指标定义本身也存在脱节的情况最终导致指标真实口径无法统一进而带来了大量的针对指标结果数据不一致的对焦工作。
应用层缺少规范大多数应用层的建设都面临需求多变、需求开发时间紧、任务重的特点也对应用层模型规范的管理带来了非常高的挑战。既要能够满足业务需求又要能够符合规范其实很难再短时间内完成这些工作。
从模型设计方面来讲存在的主要问题是
纯人工的模型设计效率低下比如要在excel里做模型设计并且需求在excel里做维护。
从数据开发方面来讲存在的主要问题是
模型设计和物理表开发分离模型设计是模型设计物理表开发是物理表开发很有可能会造成物理表开发逻辑与模型设计理念存在或多或少的差异情况。
此外本地建模还会存在着一些隐藏的问题如文件管理混乱、硬件设备故障、工作交接难等问题。 DataWorks智能数据建模-业务价值
数据建模作为数仓规范最大的受益者是企业自身但企业的价值需要通过一线研发人员的工作得以体现。对于一线研发同学来讲智能数据建模能为大家带来的最大的好处是提效相比传统的纯开发或者线下建模线上开发的工作方式来说智能数据建模能为大家带来更加更加高效的建模和研发方式。由此帮助企业做好企业数据体系的规范化建设让数仓规范真正能落到实处。企业数仓规范真正做好以后能为企业沉淀大量的体系化的核心数据资产同时也能顺其自然地为企业节省大量的存储和计算成本。 DataWorks智能数据建模-数据建模方法论
众所周知维度建模和范式建模都是目前大家所熟知的建模方法论两种建模方法论各有各的优势也有各自的劣势这里不对两种方法论进行展开介绍。阿里巴巴集团大多数数仓团队面向的业务又多具备高速发展、变化迅速、海量数据的业务特点故以维度建模为主。智能数据建模产品由于它是生于阿里长于阿里所以我们也是基于维度建模方法论进行的产品建设但也不是说智能数据建模完全不体现模型关系DataWorks智能数据建模产品也会提供关系设计及展示相关的产品功能。 DataWorks智能数据建模-数仓分层
一般来说数仓会分为三大层ODS、CDM、ADS。
其中ODS又称为贴源层。ODS主要用户存储业务系统同步来的业务数据。一般情况下我们不会对ODS层的数据做过多的加工以便于后续在ADS和CDM数据出错时的溯源。换句话说ODS不是数仓同学设计出来的是对业务系统数据的直接同步。
数仓建设最最重要的公共层CDM层CDM层需要对业务进行高度抽象需要具备通用性、易用性、复用性因此公共层的建设对数仓同学的要求是非常高的既精通建模方法同时也对业务情况了如指掌。CDM层再进行细分一般会分为DIM层-维度表DWD层-明细数据表DWS层-轻度汇总层。
数仓建设最难管但管好了效果非常明显的应用层ADS层ADS层主要面向业务进行模型设计。因此大家一定要先了解清楚模型的主要应用场景是普通的报表分析还是数据产品的调用等等不同的应用场景模型设计需要考虑的因素也不一样。如果规范化ADS层需要建设的表会减少通过统一逻辑去查询会使计算和存储成本降低。 DataWorks智能数据建模-名词释义
•业务分类业务板块是某一大类的业务的指标和维度的集合如电商文娱
•数据域 数据域是指一个或多个业务过程或者维度的集合如交易域日志域
•业务过程业务过程指企业的业务活动事件如下单支付
•数据集市面向某个应用场景或者产品的数据组织一般会依赖数据公共层
•主题域将数据集市按照分析视角进行切分比如在电商行业通常分为会员、交易、商品等
•维度维度是用于分析数据的一个角度一方面对维度进行可控管理另一方面指导维度表的设计如地理维度时间维度
•维度属性维度属性隶属于一个维度用来描述维度的属性如地理维度中的国家名称省份名称
•时间周期时间周期是用来明确数据统计的时间范围或者时间点如最近30天自然周
•修饰词修饰词是对指标统计业务范围的划定指除了统计维度外指标的业务场景的限定抽象如PC端无线端
•原子指标原子指标是一般不可再细分的度量原子指标命名业务过程度量。如支付金额访问人数
•派生指标派生指标直接用于汇总表的字段派生指标由原子指标、时间周期、修饰词可选组成如最近1天海外买家支付金额。
DataWorks智能数据建模-一级产品功能
DataWorks智能数据建模产品分为四大板块分别是数仓规划、数据标准、维度建模和数据指标。其中数仓规划、数据标准和数据指标最终都为维度建模服务。 DataWorks智能数据建模-二级产品功能
数仓规划是数仓的顶层设计包含分层划域、维度管理、建模空间。从产品定义来讲这些内部并不复杂。难点在于数仓怎么根据业务场景来划分。建议先用思维导图画好有了一个大概雏形之后再录入产品。其中一个重点功能是可视化的表名检查器配置检查器用于规范目标分层中表的命名将同一分层中表名称的命名格式统一便于通过表名称即可了解到该表所属的业务类型、作用功能、数据粒度等信息。同时可以帮助减少后期的运维成本。系统默认创建的数仓分层和自定义新建的数仓分层均可以配置数仓分层检查器。对于建模同学来讲建模效率会提升且产出的内容符合规范。
数据标准包含数据标准、标准代码、度量单位、命名词典。数据标准和标准代码设置好之后可以和模型字段做关联关联之后模型字段名称、值等都需要符合标准的设置。
数据指标包含派生指标、原子指标、修饰词、时间周期。这里重点需要说明批量创建指标勾选构成派生指标的原子指标、修饰词、时间周期就可以生成一系列派生指标用于模型设计。指标创建好后有两个作用一是可以把指标批量导入到模型里面作为模型的字段存在。另一个是模型字段已经存在需要跟指标做关联。这样在物化之后可以找到指标对应的是哪个模型。
维度建模支持正向建模和逆向建模。
逆向建模解决的是已有数仓冷启动的问题主要用于将其他建模工具生成的模型反向建模至DataWorks的维度建模中。例如当已通过其他建模工具生成模型此时想更换为DataWorks的智能建模进行后续建模工作则可以使用逆向建模功能。该功能无需再次执行建模操作即可快速将已有模型反向建模至DataWorks的维度建模中节省了大量的时间成本。
正向建模支持可视化建模、excel导入、多语言建模。可视化建模类似网页版excel的方式把模型字段信息统一管理。在这个过程中可以复用已经存在的物理表表机构提升建模效率。多语言建模支持DDL、自研FML方式建模。
建议先用可视化建模如果需要修改字段可以用DDL或者FML方式做字段的修改。在建模过程中设置里某一字段为主键字段非空字段或者关联了数据标准里的标准代码DataWorks智能数据建模可以一键自动生成质量规则。
当把模型发布到引擎中比如MaxCompute生成环境可以自动生成一段数据开发的简代码。 DataWorks智能数据建模-数仓规划
数仓规划的整体架构如下首先看中间部分业务分类比如阿里的业务分为天猫、淘宝、菜鸟等等。也可以根据各个数仓团队面向的业务来划分。公共层分为三层也就是上文讲到的DWS、DWD、DIM。DMI下需要区分数据域维度表只需要分到数据域就可以。明细表需要细化到数据域和业务过程。轻度汇总层只需要指定到数据域就可以。在应用层这一部分主要是ADS层在实际工作中可能不止有ADS层还会有DIM层。产品侧是支持大家灵活设置如果有需要可以自行创建。ADS层需要指定到具体的数据集市和主题域。这是模型在分层化域时需要考虑到的一整套体系。如果数仓团队负责多个业务多个工作空间需要复用同一套数仓规范可以使用一下建模空间功能。建模空间是当需要管理多个DataWorks工作空间且需要复用一套数仓规划时面对跨多个工作空间的复杂数据体系可以通过设计空间来共享一套数据建模工具针对整个数据体系进行统一的数仓规划、维度建模及指标定义等工作。 DataWorks智能数据建模-逆向建模
逆向建模如下图所示可以选择表所在项目空间表名匹配规则需要指定是模糊匹配还是精准匹配在指定表命名规范后会根据这些关键词来检测表匹配规范最终成功生成模型。 DataWorks智能数据建模-正向建模
正向建模支持创建维度表、明细表、汇总表等。基本信息版本主要是分层化域以及表名的自动生成。字段管理部分可以从数据指标导入派生指标从表/视图导入可以基于已有的物理表或视图把表结构同步其中字段可以自定义设置不关注字段可以隐藏起来本质上是一个excel操作。当模型已保存后需要修改可点击代码模式进行修改。 DataWorks智能数据建模-数据开发简代码
简代码支持根据建模信息自动生成ETL简代码代码中模型信息包含模型分层化域基础信息模型字段中英文建模依赖的物理表表名及字段名模型的关联表关联表字段信息等数据开发同学只要基于此代码进行casewhen where条件等业务信息的补充即可。 DataWorks智能数据建模-数据指标
下图左侧为筛选原子指标、修饰词、时间周期。右侧为在批量选择完后会自动生成能够生成的指标黄色代表指标没有生成绿色代表指标已生成。 DataWorks智能数据建模-数据标准
数据标准会支持字段标准会对日常用到的一些词语做一个标准定义。标准代码是对字段值有要求。数据标准还有度量单位和命名词典。当这些内部定义好之后维度建模过程中都可以做关联如果是关联了标准代码可以自动生成质量规则。 DataWorks智能数据建模-多引擎支持 DataWorks智能数据建模-售卖与价格
DataWorks智能数据建模目前已经开放售卖最小规格small有首月199元试用活动欢迎大家开通试用体验。https://dw-common-buy.data.aliyun.com/
注智能数据建模需要搭配DataWorks增值版本使用增值版本-专业版目前也有首月1元活动
注计费区间的对象数量不等于所有表数量主要指各类模型表与指标的数量具体计数详情参考帮助文档或者智能数据建模产品首页。 原文链接
本文为阿里云原创内容未经允许不得转载。