首页 > 其他分享 >数据中台选型必读(四):要想中台建的好,数据模型得做好

数据中台选型必读(四):要想中台建的好,数据模型得做好

时间:2022-11-09 20:31:12浏览次数:40  
标签:台建 ODS 复用 查询 选型 DWD 数据 数据模型

在数据中台构建之前,分析师经常发现自己没有可以复用的数据集,不得不使用原始数据依次进行数据的清洗、加工、计算指标。

图0.png 重复进行原始数据的清洗加工

由于业务部门的分析师大多是非技术出身,写的SQL可能比较差,多层嵌套对后台的计算和调度资源消耗非常大,造成队列阻塞,影响其他数仓任务,导致开发不满。

开发可能会取消分析师的原始数据读取权限,如果想取数,需要单独和开发沟通。

那么这会严重影响分析师的工作效率,分析师会抱怨开发提供的数据不完善、速度慢,一个需求经常要等一周甚至半个月。

以上场景矛盾的根源在于数据模型无法复用。数据开发是烟囱式的,每次遇到新的需求,都从原始数据重新计算,非常耗时且浪费资源。

01“好”的数据模型是啥样?

在这里,我们先区分业务系统中的数据模型和数仓中的数据模型的不同(如下表)。

图1.png 表1数据模型的不同

数据中台的数据模型是整合数仓的数据模型得到的,我们需要重点关注如何诊断当前数仓中数据模型的问题以及如何搭建数据中台可复用的数据模型。

回忆背景篇中关于数仓的分层设计,我们知道当前主流数仓分成以下4个层级:

图2.png 数仓基础架构图

下面的两张表是基于元数据中心提供的血缘信息,分别统计大数据平台上正在运行任务和即席查询。

图3.png 表2:各层表状态统计

即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。

图4.png 表3:各层查询数量统计

表2中有2547张未识别分层的表,占总表的40%,它们基本没办法复用。

在已识别分层的读表任务中,ODS : DWD : DWS : ADS的读取任务分别是1072 : 545 : 187 : 433,直接读取ODS层任务占这四层任务总和的47.9%,这说明有大量任务都是基于原始数据加工,中间模型复用性很差。

在已识别的分层的查询中,表2中ODS : DWD : DWS : ADS的命中查询分别是892 : 1008 : 152 : 305,有37.8%的查询直接命中ODS层原始数据,说明 DWD、DWS、ADS 层数据建设缺失严重。

尤其是ADS和DWS,查询越底层的表,就会导致查询扫描的数据量会越大,查询时间会越长,查询的资源消耗也越大,使用数据的人满意度会降低。

进一步对ODS层被读取的704张表进行分解,发现有382张表的下游产出是DWS,ADS,尤其是ADS达到了323张表,占ODS 层表的比例45.8%,说明有大量ODS层表被进行物理深加工。

通过上面的分析,我们似乎已经找到了理想数据模型设计具备的要素:可复用、够完善、守规范。

图5.png 那么,如何具体地度量这三个要素呢?

02复用度

数据中台数据模型设计的核心是实现模型的复用与共享。

通过元数据中心的数据血缘图,可以看到,一个比较差的模型设计,自下而上是一条线。而一个理想的数据模型设计,它应该是交织的发散型结构。

图6.png 好坏模型对比

复用度可用模型引用系数衡量:引用系数越高,数据模型的复用性越好。

模型引用系数=被读取模型直接产出下游模型的数量

比如一张DWD层表被5张 DWS 层表引用,这张DWD层表的引用系数就是 5,如果把所有DWD层表(有下游表的)引用系数取平均值,则为DWD层表平均模型引用系数;从经验上看,一般低于2比较差,3以上相对比较好。 一种提升数据模型复用度且提升响应速度的策略,是在数据源和数据使用之间增加缓存层。缓存层中存放复用度较高的数据模型,以及这些数据模型所携带的数据。

分析师或业务人员根据需求查询数据时,如果是常用的数据模型,便不必再进行从源数据中取数、清洗、拼接等重复动作,从缓存中直接导入数据模型即可,大大提升复用数据模型的前端响应速度。

图7.png 缓存层策略

03完善度

衡量DWD层是否完善,需要确认ODS层有多少表被 DWS/ADS/DM 层引用。

如果DWD以上的层引用的越多,就说明更多的任务是基于原始数据进行深度聚合计算的,明细数据没有积累,无法被复用,数据清洗、标准化、集成存在重复开发。

因此,可以用跨层引用率指标衡量DWD的完善度。

跨层引用率=ODS层直接被DWS,ADS,DM层引用的表数量/所有活跃的ODS层表。

跨层引用率越低越好,因为在数据中台模型设计规范中,不允许出现跨层引用,ODS 层数据只能被DWD引用。

针对DWS/ADS/DM层完善度,主要看汇总数据能直接满足多少查询需求(也就是用汇总层数据的查询比例衡量)。

如果汇总数据无法满足需求,使用数据的人就必须使用明细数据,甚至是原始数据。

汇总数据查询比例=DWS/ADS/DM层的有效查询/所有有效查询。

汇总数据查询比例越高,说明上层的数据建设越完善,对于使用数据的人来说,查询速度变快、性能提升。

04规范度

规范度其实没有特别明确的量化指标,主要根据数据表命名或归属主题域是否正确等情景,进行定性判断。

图8.png 表2:各层表状态统计

例如,在表2中,有超过40%的表都没有分层信息,在数据模型设计中,这显然不规范。

除了确定表有没有分层,还要看它有没有归属到正确的主题域(例如交易域)。如果没有归属主题域,就很难找到这张表,也无法复用。

其次,我们需要看表的命名。一个规范的表命名应该包括主题域、分层、表是全量快照,还是增量等信息。

除此之外,如果在表A中用户ID的命名是UserID,在表B中用户ID命名是ID,就会对使用者造成困扰,这到底是不是一个表。

因此,我们要求相同的字段在不同的模型中,它的命名必须是一致的。

05我们进行一个简短的总结:

要想得到一个“好”的数据模型,首先,我们可以统计未规范表的数量(可仿照表2),诊断数据模型现状。

然后,制订一些针对性的改进计划,例如把这些不规范命名的表消灭掉,把主题域覆盖的表比例提高到90%以上。

在进行一段时间的模型重构和优化后,再拿着这些指标去评估是否有所改善。

很多数据开发在向上级汇报工作时,喜欢用重构了多少模型说明工作成果,很多老板会想,这些重构到底对数据建设有多少帮助?有没有一些量化的指标可以衡量?

因此,我们需要着重考虑是否真的改善了?以及如何证明真的改善了,而不是强调优化了多少模型。

假设当前我们已经对数仓中的数据模型做好评估和改进了,那么,我们需要怎么做才能让它变成一个数据中台呢?下一篇文章我们继续讨论。

如果喜欢麦聪的文章,记得点赞、收藏加关注嗷;关注+私信可获得超好用的数据中台产品安装包。

标签:台建,ODS,复用,查询,选型,DWD,数据,数据模型
From: https://blog.51cto.com/u_12208051/5838743

相关文章

  • 热更新技术探讨,该如何选型
    为了照顾萌新童鞋,最开始还是对热更新的概念做一个通俗易懂的介绍。热更新用通俗的讲就是软件不通过应用商店的软件版本更新审核,直接通过应用自行下载的软件数据更新的行为。......
  • HM-RocketMQ2.1【案例介绍、技术选型】
    1案例介绍1.1业务分析模拟电商网站购物场景中的【下单】和【支付】业务1.1.1下单用户请求订单系统下单订单系统通过RPC调用订单服务下单订单服务调用优惠券服务......
  • 数据中台选型前必读:到底什么企业适合上数据中台?
    数据中台虽然已经在口碑上跌下神坛,甚至一些企业开始拆中台。但是,笔者在客户咨询过程中经常遇到一种情况,企业仍然喜欢打着“数据中台”的名义沟通项目需求,但背后的需求很多时......
  • 机械视觉之硬件选型
    一,相机选型1.1.面阵相机和镜头选型已知:被检测物体大小为A×B,要求能够分辨率小于C,工作距离为D[1]相机选型步骤:(1).相机的最低分辨率=(A×B)/(C×C),(2).相机在选型时,......
  • 前端大数据可视化02-数据可视化前端技术选型
    数据可视化解决方案前端数据可视化解决方案如下:底层引擎SkiaSkia 是Chrome和Android的底层2D绘图引擎,具体可参考百度百科,Skia采用C++编程,由于它位于浏览器......
  • IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践
    1、引言在《IM消息ID技术专题》系列文章的前几篇中,我们已经深切体会到消息ID在分布式IM聊天系统中的重要性以及技术实现难度,各种消息ID生成算法及实现虽然各有优势,但受制......
  • 数据库—数据模型
    一、两大类数据模型1、概念模型     也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。2、逻辑模型和物理模型逻辑模型主要包括网状模型、层次......
  • GDT放电管选型温馨提示-优恩
    ​GDT放电管选型主要有以下几点需要注意。一、GDT放电管的续流电压只有几十伏,在供电电路中不能单独使用GDT放电管。由于电源电路的工作电压大于GDT放电管的续流电压,GDT放电......
  • 职业健康综合服务平台建设方案分享之周口陶粒
    我国是世界上劳动人口最多的国家,坚持以劳动者的职业健康为中心,保障广大劳动者的职业健康权益,既是全民健康的基础,也是实现全面小康的前提,我国当前的职业健康形势依然严峻,其......
  • 90V瞬态电压抑制(TVS)二极管选型及型号选用
    TVS二极管选型过程中,涉及到的主要参数有:工作峰值反向电压、击穿电压、钳位电压、峰值脉冲电流、峰值脉冲功率、测试电流、漏电流、封装形式。其中,TVS的工作峰值反向电压是第......