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

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

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

原文链接

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速理解复杂业务,系统思考问题?

正视复杂性 我们必须承认这个世界原本就非常复杂,就像以我们现在的科技仍然不能攻克新冠病毒、不能精确预测天气、不能有效控制经济形势异常波动一样,任何试图浮于表面、疏于投入就想了解并解决一个复杂问题的傲慢做法,最终都只能接受无情的…

云原生消息队列 Pulsar 浅析

一、前言 Pulsar是一个多租户,高性能的服务间消息解决方案。最初由Yahoo开发,现在由Apache Software Foundation负责。Pulsar是消息队列领域的一匹黑马,其最大优点在于它提供了比Apache Kafka更简单明了、更健壮的一系列操作功能&#xff0c…

当 Knative 遇见 WebAssembly

Knative 是在 Kubernetes 基础之上的 Serverless 计算的技术框架,可以极大简化 Kubernetes 应用的开发与运维体验。在 2022 年 3 月成为 CNCF 孵化项目。Knative 由两个主要部分组成:一个是支持 HTTP 在线应用的 Knative Serving,一个是支持 …

6000字干货分享:数据中台项目管理实践分享

简介 阿里云数据中台是一个包含落地实施方法论、平台产品和技术服务的企业级解决方案。阿里云数据中台以Maxcompute等大数据计算平台为载体,以三个One为理论基础构成数据中台方法论,实现在一个平台里完成数据全生命周期的管理工作。 本文总结了企业级数…

关于程序员的职业操守,从《匠艺整洁之道》谈起

为什么程序员需要职业操守? 行业的壮大 这个问题还得从软件行业的发展说起。软件行业从诞生(1935)至今(2022),已经八十多年的历史了。 在这期间,整个软件行业有了巨大的发展: 从业…

面向长代码序列的 Transformer 模型优化方法,提升长代码场景性能

阿里云机器学习平台PAI与华东师范大学高明教授团队合作在SIGIR2022上发表了结构感知的稀疏注意力Transformer模型SASA,这是面向长代码序列的Transformer模型优化方法,致力于提升长代码场景下的效果和性能。由于self-attention模块的复杂度随序列长度呈次…

支持异构GPU集群的超大规模模型的高效的分布式训练框架Whale

近日,阿里云机器学习PAI关于深度学习模型高效的分布式训练框架的论文《 Whale: Efficient Giant Model Training over Heterogeneous GPUs 》被计算机系统领域国际顶级学术会议USENIX ATC22接收。 Whale是阿里云机器学习PAI平台自研的分布式训练框架,开…

深度揭秘阿里云函数计算异步任务能力

在上篇文章《解密函数计算异步任务能力之「任务的状态及生命周期管理」》中,我们介绍了任务系统的状态管理,并介绍了用户应如何根据需求,对任务状态信息进行实时的查询等操作。在本篇中我们将会进一步走进函数计算异步任务,介绍异…

月费 19 美元的 GitHub Copilot 企业版上线,你乐意买单吗?

近日,微软旗下的 GitHub 发布了 Copilot 企业版,推出了一个名为“Copilot for Business”的新计划。每个用户每月仅需 19 美元就能享受企业级服务。简单来说,支付月费的用户将享有简单的许可管理,管理员可以为其团队启用 GitHub C…

设计稳定的微服务系统时不得不考虑的场景

我们的生产环境经常会出现一些不稳定的情况,如: 大促时瞬间洪峰流量导致系统超出最大负载,load 飙高,系统崩溃导致用户无法下单“黑马”热点商品击穿缓存,DB 被打垮,挤占正常流量调用端被不稳定服务拖垮&a…

千万级可观测数据采集器 - iLogtail代码完整开源

2022年6月29日,阿里云iLogtail开源后迎来首次重大更新,正式发布完整功能的iLogtail社区版。本次更新开源全部C核心代码,该版本在内核能力上首次对齐企业版,开发者可以构建出与企业版性能相当的iLogtail云原生可观测性数据采集器。…

科普达人丨漫画图解什么是 eRDMA?

在一个领先的阿里云数据中心里,数百台服务器(也就是大型的计算机)在疯狂工作和通信,他们正在合力完成一个大型的大数据处理任务,每台服务器领到自己的小任务,算完之后,得把结果相互同步&#xf…

聚焦科技创新产业升级 中国联通和腾讯签署新战略合作协议

12月20日,中国联通和腾讯在“2022中国联通合作伙伴大会”上签署新一轮战略合作协议。双方将充分发挥资源和技术优势,聚焦科技创新、产业升级、网络安全等进行全方位合作,为数实融合高质量发展开辟新路径、提供新引擎,助力千行百业…

科普达人丨漫画图解 SGX 加密计算黑科技

01 从一场朋友圈的“赛富”说起 最近,小明买基金赚了不少钱,开始膨胀了,开始在朋友圈里晒豪车、晒爱马仕。小红表示不服,“最近买基金还能赚钱?肯定是P图凡尔赛。还是我买币赚得多。”炒鞋达人小孟就更不服&#xff0…

SysOM 案例解析:消失的内存都去哪了 !

在《AK47 所向披靡,内存泄漏一网打尽》一文中,我们分享了slab 内存泄漏的排查方式和工具,这次我们分享一种更加隐秘且更难排查的"内存泄漏"案例。 一、 问题现象 客户收到系统告警,K8S 集群某些节点 used 内存持续升高…

Windows 上玩转最新的 Android 13,微软悄悄在 GitHub 上官宣了!

整理 | 屠敏出品 | CSDN(ID:CSDNnews)操作系统领域有两大霸主,一个是移动端的 Android,一个自然是桌面端的 Windows。当有一天,两者在同一套系统上碰撞,将会擦除怎样的火花?想必不少…

Serverless 时代下微服务应用全托管解决方案

Serverless 时代下微服务发展与挑战 早期业务规模比较简单,大多团队开发采用单体应用,已经能够很好地满足团队的业务需求,并且能够快速迭代。但随着业务规模的不断增长,系统变得越来越复杂,单体应用逐渐无法满足线上生…

关于接口测试自动化的总结与思考

序 近期看到阿里云性能测试 PTS 接口测试开启免费公测,本着以和大家交流如何实现高效的接口测试为出发点,本文包含了我在接口测试领域的一些方法和心得,希望大家一起讨论和分享,内容包括但不仅限于: 服务端接口测试介…

最新Forrester Wave云计算报告:阿里云位居中国领导者、全球强劲者象限

近日,国际权威机构Forrester连续发布2022年全球和中国云计算市场Forrester Wave报告,在中国市场上,阿里云位居领导者象限,在市场表现、战略两大维度的评测中获评全项最高分;在全球报告中,阿里云位居强劲者象…

大促场景下,如何做好网关高可用防护

618 大促正在如火如荼进行中。《618大促来袭,浅谈如何做好大促备战》一文介绍了全方位保障大促高可用的方法论和技术手段,本文继续围绕网关,深入探讨大促场景下,如何做好网关高可用防护,将从以下几点逐一展开介绍&…