阿里云云原生一体化数仓—数据建模新能力解读

阿里云云栖号 阿里云云栖号     2022-10-21     257

关键词:

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元活动

注:计费区间的对象数量不等于所有表数量,主要指各类模型表与指标的数量,具体计数详情参考帮助文档或者智能数据建模产品首页。

原文链接

本文为阿里云原创内容,未经允许不得转载。

阿里云云原生一体化数仓—湖仓一体新能力解读

一、基于MaxCompute的湖仓一体架构更新基于MaxCompute云数据仓库的湖仓一体架构近期进行架构升级。了解MaxCompute的同学可能比较清楚,MaxCompute有两层结构,需要先创建Project,在Project里面创建表、资源等。传统数据库&#x... 查看详情

阿里云云原生一体化数仓-数据安全能力解读

MaxCompute产品简介MaxCompute是一款多功能、低成本、高性能、高可靠、易于使用的数据仓库和支持全部数据湖能力的大数据平台,支持超大规模、serverless和完善的多租户能力,内建企业级安全能力和管理功能,支持数据... 查看详情

云原生一体化数仓发布

云原生一体化数仓是集阿里云大数据产品MaxCompute、DataWorks、Hologres三种产品能力于一体的一站式大数据处理平台。技术上通过离线实时一体、分析服务一体、湖仓一体和数据综合治理架构实现成本更低、速度更快、性能更好、运... 查看详情

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

...台技术负责人本篇内容将从三个部分为读者讲述离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进。通过从数据湖到数仓的历史,反思为什么要做湖仓一体,以及湖仓一体在今天这个阶段为什么开始做离线... 查看详情

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

...台技术负责人本篇内容将从三个部分为读者讲述离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进。通过从数据湖到数仓的历史,反思为什么要做湖仓一体,以及湖仓一体在今天这个阶段为什么开始做离线... 查看详情

云原生离线实时一体化数仓建设与实践

简介:本篇内容分享了云原生离线实时一体化数仓建设与实践。分享人:刘一鸣Hologres产品经理视频链接:数据智能实战营-北京站专题回顾正文:本篇内容将通过五个部分来介绍云原生离线实时一体化数仓建设与... 查看详情

bytehouse技术白皮书正式发布,云数仓核心技术能力首次全面解读(内附下载链接)

...号,回复【1】进入官方交流群 近日,《火山引擎云原生数据仓库ByteHouse技术白皮书》正式发布。在数字化浪潮下,伴随着公有云的广泛普及,生于云、长于云、基于云原生架构的数据仓库百花齐放,快速迭代。相比起传统... 查看详情

bizworks助力企业应用的高效开发与复用

...应用资产,避免重复造轮子。BizWorks是阿里云发布的一体化的云原生应用的开发和运营平台,其提供的产品能力普遍适用于企业云原生应用高效开发以及企业资产沉淀和复用的场景,能够帮助客户高效、低门槛地构建... 查看详情

全链路数据治理实操演练营,互联网金融制造等行业都适用!

...充、定制折扇!>>点击此处立即报名<<云原生一体化数仓是阿里云整合自研大数据产品MaxCompute、DataWorks、Hologres和实时计算Flink版推出的一站式大数据处理平台,具备流批一体、实时离线一体、湖仓一体、全链路... 查看详情

云栖回顾|首届阿里云云原生生态合作伙伴大会:与伙伴能力融合,加速企业数字创新

...多的生态伙伴加入到云原生生态合作伙伴计划,携手阿里云,成为千行百业数字创新背后的驱动力量。日前,以“因云而生,共创未来”为主题的首届阿里云云原生生态合作伙伴大会在杭州云栖大会期间圆满举行... 查看详情

从阿里核心场景看实时数仓的发展趋势

...#xff0c;到基于领域分层建模的数仓引入,再到分析服务一体化的新型融合式一站式架构,开发效率逐步提升,数据质量更有保证,也沉淀了更多技术创新,让我们看到了一些未来数仓开发、应 查看详情

解读dataphin流批一体的实时研发

...算的能力。-更多关于数智化转型、数据中台内容请加入阿里云数据中台交流群—数智俱乐部和关注官方微信公总号(文末扫描二维码或点此加入)-阿里云数据 查看详情

解读dataphin流批一体的实时研发

...算的能力。-更多关于数智化转型、数据中台内容请加入阿里云数据中台交流群—数智俱乐部和关注官方微信公总号(文末扫描二维码或点此加入)-阿里云数据 查看详情

nacos开源自研商业化三位一体战略解读

简介: Nacos作为整个阿里云原生三位战略中的核心组成部分,我们在2018年以Configserver/VIPServer/Diamond为基础通过Nacos开源输出阿里十年沉淀的注册中心和配置中心能力,并且快速成为国内首选。并且通过云产品MSE以BaaS... 查看详情

nacos开源自研商业化三位一体战略解读

简介:Nacos作为整个阿里云原生三位战略中的核心组成部分,我们在2018年以Configserver/VIPServer/Diamond为基础通过Nacos开源输出阿里十年沉淀的注册中心和配置中心能力,并且快速成为国内首选。并且通过云产品MSE以BaaS模... 查看详情

华为云云原生首次在太空验证,提升“天算星座“卫星计算精度

...对卫星智能化、服务化、开放化设计,构建产学研用一体化的空天计算在轨试验开放开源平台,为推动我国6G网络、卫星互联网等技术发展提供技术支撑。华为云作为首批合作共建单位,将边缘计算与卫星计算平台融... 查看详情

重磅!阿里云云原生合作伙伴计划全新升级:加码核心权益,与伙伴共赢新未来

...市场空间,做大云市场,做深行业数字化。在今天的2023阿里云合作伙伴大会上,阿里云智能云原生应用平台运营&生态业务负责人王荣刚宣布:“阿里云云原生合作伙伴计划”全新升级。他表示:云原生致力于帮助企业客户最... 查看详情

gaussdb(dws)云原生数仓技术解析

摘要:本文主要介绍GaussDB(DWS)云原生数仓架构、产品能力,帮助开发者快速了解GaussDB(DWS)云原生数仓相关信息与能力。本文分享自华为云社区《直播回顾|GaussDB(DWS)云原生数仓技术解析》,作者:胡辣汤。在本期《GaussDB(DWS)云原... 查看详情