【总结】数据建模调研与设计

news2024/11/16 3:20:22

一、数据建模背景和目的

1.1 数据建模任务背景

a. xxxx 中台新增数据建模模块,对标行业最佳实践,补齐数据中台短板。
b. 以往的数据建模,包括数仓模型的设计、数仓模型的落地,都是通过第三方的工具,例如DBwaver、Navicat等数据库管理工具操作模型落地的,但是实际上数据建模仍是有一整台数据建设的流程,需要单独提供了数据建模的模块;

1.2 行业调研

(1) 阿里dataworks

数据建模产品文档:数据建模
阿里的数据建模场景是收费的:https://nav-cn-hangzhou.data.aliyun.com/homepage#/
**一句话评价:**阿里的数据建模是目前最为详细的建模方案,也是最为细致的。

(2). 亿信华辰

没有专门的数据建模模块;
一句话评价:无

(3). 华为

华为数据治理中心DataArts Studio
参考连接:https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0609.html
有对应的"数据架构组件"-> "模型设计"有对应的"关系建模"和“维度建模”。
一句话评价:但是让然比较弱;

(4). 百度EDAP

https://cloud.baidu.com/doc/EDAP/s/Ekhd8cx5h
一句话评价::百度数据管理与分析平台EDAP弱化了“数据建模”, 本质上数据建模的内容,只有主题和元数据DDL的建设;

(5). 字节

大数据研发治理套件 DataLeap
https://www.volcengine.com/docs/6260/149801
一句话评价:弱化了数据建模,是铜鼓"数据指标",引入部分建模的思想;

二、XXX数据建模设计

2.1总体流程设计

如下是dataworks的智能数据建模模块
请添加图片描述
阿里dataworks的完整的数据建模的架构图
请添加图片描述

xx数据中台-数据建模流程架构图

请添加图片描述

数据建模主流程说明:

  1. 进入XXX数据中台的"数据建模"模块;
    a. 进入数据建模页面
  2. 点击,数仓规划->业务分类
    创建数据分类,(参考:创建业务分类)
    业务分类创建完成后,您可在创建维度表、明细表、汇总表、应用表时关联对应的业务分类,也可在维度建模页面,通过业务数据视角查看表分类详情。
  3. 构建数仓分层
    在页面的数仓规划 -》 数仓分层菜单下,执行如下操作:
    a. 创建数据分层
    完成1中的步骤之后,开始在“数仓规划"-》 "数仓分层”中添加自动的划分层,但是系统已经默认为你创建了5层(ODS层、DIM层、DWD层、DWS层、ADS层),可以满足绝大部分的场景和需求,如您存在部分需要个性化处理的场景,可以自定义创建分层;(参考: 创建数仓分层);
    b. 查看并管理数仓分层
    i. 查看数据分层预览
    ii. 查看数据分层详情
    iii. 修改数据分层详情
    iv. 删除数据分层
  4. 构建数据域、业务过程、数据集市、主题域
    a. 点击“公共层”->"数据域"菜单,操作数据域;
    i. 新建数据域
    ii. 查看、修改、删除数据域
    b. 点击“公共层”-> “业务过程"菜单,新建业务过程;
    i. 新建“业务过程”,新建页面可以选择所属的的“业务域”;
    c. 点击“应用层” -> “数据集市"菜单,新建数据集市;
    i. 新建数据集市;新建一级(或n级)数据集市,可以选择所属业务分类,参考第2步;
    ii. 管理数据集市;可以查看、修改、维护数据集市下的所有"主题域”;
    d. 点击“应用层” -> “主题域"菜单,新建主题域;
    i. 新建主题域(切记:主题域用于将数据集市按照分析视角进行划分,通常是联系较为紧密的数据主题的集合); 选择该主题所属的"数据集市”,参考上一步的"数据集市”;
  5. 构建配置数据标准
    a. 在"数据建模" -> “数据标准"菜单下,分别构建字段标准、标准代码、度量单位、命名词典;
    b. 以上建立完之后,其中 ,“字段标准”,“标准代码” 可以分别在"维度建模” -> "发布与管理表"中关联使用,(参考:发布与管理表 );“度量单位” 可以在第6步中的“数据指标”的“配置计算逻辑”中国使用;"命名词典"可以在"数仓分层"的“配置及使用数仓分层检查器”中进行配置检查,用来检查表、指标等命名是否规范;
  6. 维度建模
    a. 在前面已经创建了公共层和应用层分别执行了数仓分层,并且已经创了数据域、数据集市的前提下,执行创建维度;(维度是您观察业务状况的视角);
    b. 创建维度表
    i. 例如,命名为dim_开头的表,商品货物维度表dim_shop_goods; 此处可以选择该维度表关联的维度(可选);
    ii. 完成维度表创建之后,仍需为表配置字段管理、关联关系、分区设置等内容;
    c. 创建明细表
    i. 例如,命名为dwd_开头的表,销售表dwd_sales_details; 创建工程中,可以选择数仓分层,业务分类、业务过程等,用来限定该明细表的归属;
    ii. 完成创建明细表后,仍需为表配置字段管理、关联关系、分区设置等内容;
    d. 创建汇总表
    i. 例如,命名为dws_开头的表,店铺一天的销售额表dws_day_single_good_sales; 创建工程中,可以选择数仓分层,业务分类、业务过程等,用来限定该表的归属;
    ii. 完成创建表后,仍需为表配置字段管理、关联关系、分区设置等内容;
    e. 创建应用表
    i. 例如,命名为ads_开头的表,销售表ads_year_beijing_good_sales; 创建工程中,可以选择数仓分层,业务分类、业务过程等,用来限定该表的归属;
    ii. 完成创建表后,仍需为表配置字段管理、关联关系、分区设置等内容;
    f. 发布与管理表
    i. 模型创建成功后,您需为维度表、明细表、汇总表、应用表配置字段管理、关联关系、分区管理等配置,完成后将表进行发布;
    ii. 字段管理:添加表字段。一共有三种方式,分别是:
    1. 从已有的表/视图中创建
    2. 从指标导入
    3. 代码模式
      iii. 字段管理:设置表字段属性。可以在管理字段属性时候,设置字段的关联字段标准、关联标准代码(注意:该部分是前面的数据标准里面定义的内容)。
      iv. 发布表;即将逻辑设计的数据模型映射到对应的物力引擎上;相当于将ddl建表语句真正执行,例如生成真实的doris和hive表;
      v. 查看发布状态:发布成功、发布失败、发布中;
  7. 数据指标
    a. 创建原子指标
    i. 创建原子指标,同时配置计算逻辑;
    ii. 配置计算逻辑时,需选择特定的明细表或者维度表,并指定表的特定字段名称,指定单位,从而实现特定的实际计算;
    b. 创建修饰词
    c. 创建时间周期
    d. 创建派生指标
    i. 创建单个派生指标。过程:① 选择构成派生指标的原子指标、修饰词、时间周期;②生成派生指标
    ii. 批量创建派生指标。遇上类似:https://help.aliyun.com/document_detail/276966.html
    e. 派生指标应用:可以在"维度建模"的“汇总表”和“应用表”中引用该指标,从而后续的业务查询,OLAP分析,数据分发等提供基础。

2.2 数据建模详细流程设计

数据建模主流程主要设计四个子模块:数仓规划、数据标准、维度建模、数据指标。这四个模块构成了数据建模的核心。
主要在于设计,提供专门区域,从数据分层、业务分类、数据域、业务过程、数据集市、主题域进行设计;其实主要通过如下这个:思维导图+阿里dataworks的建模产品文档= 一个XX中台的产品文档
其实主要的设计可以参考阿里的dataworks的数据建模模块,链接:数据建模;
其实有一个疑问,数据建模与数据资产的关系?

数据建模之一:数仓规划

  1. 数仓规划:负责对数据分层、业务分类、数据域、业务过程、数据集市、主题域进行设计;
    数仓分层:

请添加图片描述
业务分类:
请添加图片描述

公共层下的“数据域”
请添加图片描述

“公共层下”的“业务过程”
请添加图片描述

"应用层"下的“数据集市”
请添加图片描述

“应用层”下的“主题域”
请添加图片描述
请添加图片描述

数据建模之二:数据标准

略;

数仓建模之三:维度建模

创建维度:https://help.aliyun.com/document_detail/451744.html
维度建模视角:
请添加图片描述

创建维度:
请添加图片描述

创建维度表
创建的维度表可以选择所属的哪一个维度。
请添加图片描述

创建明细表
请添加图片描述

创建汇总表
请添加图片描述

创建应用表
请添加图片描述

发布与管理表
可以做成ddl的形式
也可以做成画板的方式:https://help.aliyun.com/document_detail/300004.html

数仓建模之四:数据指标

已有,参考阿里https://help.aliyun.com/document_detail/276031.html

三、建模效果评价与总结

  1. 能够在xx数据中台的建模模块,完成数据模型的设计(维度建模)->数仓分层->映射创建表物理引擎(HIVE/DORIS);从而不需要借助于外部的第三方工具(navicat、资产标记、维度关系画图软件),即可以完成全部的工作;
  2. 借助该部分工作,可以将业务过程、数据域、主题域、数据集市、数仓分层等同步到数据资产中,方便做搜索;

问题补充:

  1. 补充数据模型的整体流程图;
  2. 数据标准怎样融合在数据模型里面;
  3. 数据指标怎么融合进来;

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

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

相关文章

SOFA Weekly|SOFA 大事记、Layotto 社区会议回顾与预告、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…

【信息安全案例】——应用软件安全(学习笔记)

📖 前言:随着应用软件日益增多,与我们的生活深度绑定,应用软件的安全性问题愈发凸显。针对恶意代码、代码漏洞等安全风险,必须加强安全意识,采取有效措施进行防范。合理有效的安全措施能够确保用户的信息安…

(数字图像处理MATLAB+Python)第九章图像形态学运算-第一、二节:形态学基础和二值形态学运算

文章目录 一:形态学基础(1)结构元素(2)程序 二:二值形态学的基础运算(1)基本形态变换A:膨胀运算①:概述②:示例③:程序 B:…

CleanMyMac X4.13.4中文版下载及使用教程

随着Mac电脑的广泛普及,越来越多的用户开始关注如何保持自己电脑的快速运行。众所周知,Mac电脑的性能和稳定性得到了广泛认可。但是,随着使用时间的增加和数据的增加,任何电脑都可能变得缓慢和难以使用。为了解决这一问题&#xf…

2-《Java进阶》

2-《Java进阶》 一. java多线程(非常重要)1.1. 线程java多线程实现方式主要有:1.继承Thread 2.实现Runnable3.实现CallableRunnable 与 Callable的区别:1.2. 线程的状态有哪些?1.3. 线程的状态转换及控制1.4. Java如何…

SeaweedFs使用-通过http接口实现文件操作

通过http接口实现文件操作 SeaweedFs可通过filer的http接口/master中的http接口来进行文件上传 1.通过master的接口进行上传文件 通过各种方式进行请求接口:http://localhost:9333/submit, ip和端口号是master服务的信息。此接口通过post请求方式将文件的二进制流…

3-《安卓基础》

3-《安卓基础》 1.Android系统架构2.四大组件1Activity1.1 生命周期1.2. Activity四种启动模式1.3.Activity任务栈的概念1.3.Activity的显示启动和隐示启动1.4.scheme使用场景,协议格式,如何使用?1.5.activty间传递数据的方式1.6.跨进程启动A…

网络安全-kail linux渗透测试(基础篇)

渗透测试是一个非常广的课程,我们首先要做的是在某个方向精通,再在其他方面也要有涉猎。 大部分的漏洞是国外挖掘的。 一、推荐研究书籍: Metasploit浚透测试指南》肯尼(行业经典) 诸葛建伟翻译 《Metasloit渗透测试魔鬼训练营》诸葛建伟…

运用pyecharts制作可视化大屏(代码展示及效果图-动图)

一、Matplotlib绘图 折线图 import matplotlib.pyplot as plt # 调用画图库 plt.rcParams[font.sans-serif] [SimHei] # 设置成可以显示中文,字体为黑体 plt.figure(figsize(12,8)) # 调整图片尺寸 x [周一,周二,周三,周四,周五,周六,周日] # 设置x轴数据 y [401…

物联网网络通讯知识

RTU是什么 RTU英文全称Remote Terminal Units,中文全称为远程终端单元。远程终端设备(RTU)是安装在远程现场的电子设备,用来监视和测量安装在远程现场的传感器和设备。通俗理解就是能够编程的还可以将数据传输到服务器的工具。RTU内部是包含通讯模块的&…

4、详细版易学版TypeScript - 元组 枚举

一、元组(Tuple) 数组&#xff1a;合并了相同类型的对象 const myArr: Array<number> [1, 2, 3]; 元组(Tuple)&#xff1a;合并了不同类型的对象 // 定义元组时就要确定好数据的类型&#xff0c;并一一对应 const tuple: [number, string] [12, "hi"]; // 添…

QT客户端外包开发的特点

QT是一种跨平台的C应用程序开发框架&#xff0c;主要用于开发图形用户界面(GUI)应用程序。它提供了一套丰富的类库和工具&#xff0c;可以帮助开发者快速构建高质量、可扩展、易于维护的应用程序。今天和大家分享一下QT的主要特点和注意的问题&#xff0c;希望对大家有所帮助。…

探索LeetCode【0011】盛最多水的容器(已懂)

目录 0. 题目1. 官方解答一&#xff08;已懂&#xff09;2. 精简解答二&#xff08;已懂&#xff09;3. 正确性解释 0. 题目 题目链接&#xff1a;【0011】盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i,…

From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了

From Java To Kotlin, 空安全、扩展、函数、Lambda 概述&#xff08;Summarize&#xff09; Kotlin 是什么&#xff1f;可以做什么&#xff1f;Android 官方开发语言从Java变为Kotlin,Java 有哪些问题&#xff1f;Kotlin的优点Kotlin 特性&#xff08;Features&#xff09; K…

有名的国外CRM系统有哪些?如何选择?

CRM系统可以帮助企业获得更多地潜在客户&#xff0c;优化销售流程&#xff0c;提高工作效率&#xff0c;增强客户服务水平&#xff0c;是如今企业不可或缺的工具。那么&#xff0c;国外CRM的知名厂商有哪些&#xff1f;下面小编来为大家进行推荐。 Zoho CRM&#xff1a; Zoho…

快手国际化 后端开发面经一面

目录 1.JMM内存模型2.堆怎么管理内存3.垃圾回收算法4.跨代引用问题怎么解决5.垃圾回收器6.CMS回收过程7.G1和CMS区别 1.JMM内存模型 计算机存储结构&#xff0c;从本地磁盘到主存到CPU缓存&#xff0c;也就是从硬盘到内存&#xff0c;到CPU。 问题&#xff1f;和推导出我们需要…

全国节能宣传周知识答题活动

全国节能宣传周知识答题活动 若想在短期内&#xff0c;进行安全生产知识的传播&#xff0c;那么答题无疑是有效方式之一。 答题活动小程序v3.0&#xff0c;基于微信原生小程序云开发实现。主要包含六大功能模块页面&#xff0c;首页、活动规则页、排行榜页、答题页、结果页、…

每日一个MySQL问题: MTS 高并发下主从表空间不一致的问题

简单记录原因&#xff0c;最近我也遇到这样的问题&#xff0c;涉及的知识点其实很多&#xff0c;我也仅仅是简单分析了一下&#xff0c;供参考。模拟版本8.0.28。 一、问题说明和模拟方式 就是主从一个表&#xff0c;主库大约600M&#xff0c;从库大约900M&#xff0c;当然主从…

推荐一个网络安全网站(HTML)

废话不多&#xff0c;直接上链接https://www.hackthissite.org/ 这不是一个新手向的网站&#xff0c;建议有一定基础的同学访问&#xff0c;里面大部分都是黑客实操&#xff0c;对大部分希望学习网络安全并有一定基础的人都可以有较大提升 全区英文&#xff0c;这对各位应该不…

Java面试题汇总(包含算法题及底层知识)

花了很久时间整理了Java领域互联网公司常考的面试题&#xff0c;主要包含六大类: 第一类:Java及Javaweb常考基础题及高级题&#xff0c;包含了很多公司爱问的非常冷门的知识点&#xff0c;很多面试官喜欢通过问非常冷门的知识来判断面试者的基础掌握程度。 第二类:Java虚拟机以…