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