数仓建模—建模工具PdMan

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。

工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。


PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,是PowerDesigner之外,更好的免费的替代方案。他具有颜值高,使用简单的特点。包含数据库建模,灵活自动的自动生成代码模板,自动生成文档等多种开发人员实用的功能。


PDMan已全面升级至CHINER


开始之前我们开始先介绍一下这个工具本身,后面再看怎么使用它以及它的特性,其实CHINER就是PDMan的升级版本,我们可以先看一下界面


这是PDMan 的项目管理界面,我们看到也是分项目管理的,可以选择打开已有的项目

微信图片_20220424220841.png


项目打开后的界面,其实功能还是比较简单的,主要就是模型的设计,包含两块

  1. 表设计
  2. 关系设计

微信图片_20220424220845.png


名称由来


  1. 第一个(公开发行名称):PDMan: Physical Data Model Manager(物理模型管理)
  2. 第二个(内部使用名称):SINOPER: SINO Popular Entity Relation(中国最流行的实体关系图工具),目前该软件发行版,底层很多代码为该词前缀。
  3. 第三个(公开发行名称):CHINER: CHINESE Entity Relation(国产实体关系图工具),为方便国内普及,中文名称为:元数建模,也作:"CHINER[元数建模]"公开使用。


CHINER 的特点

  1. 体系结构重新设计,结构颠覆,但是对原PDMan做到高度兼容。
  2. 精细的界面布局及操作优化,更好看,更简单,更好用。
  3. 增加实用新功能(如导入PowerDesigner等),功能更强大,生态兼容性更好。


功能介绍


因为CHINER 是PDMan 的升级版本,所以我们这里直接介绍CHINER


自带入门参考案例


首页自带两个典型参考案例,方便用户快速了解软件支持的功能以及特性。

微信图片_20220424220850.png


管理对象


数据表及字段


提供简洁直观的数据表以及字段管理及操作,左侧列表支持拖动排序,数据表更多设置支持增加表备注,扩展属性列表,例如提供对Hive的支持,如下图:

微信图片_20220424220855.png


多表关联的视图


视图由多个表结合而成,支持多表以及字段的选择,如下图:

微信图片_20220424220902.png


视图及来源数据表,如下图:



可定制的数据类型及数据域


可扩展的数据类型,并且支持多种数据库方言的适配,如下图:

这个主要是解决拓展性的,也就是我们可以根据扩展不同的数据库进来

微信图片_20220424220907.png


数据域,用于设置同一类具有特定业务含义的数据类型,其实这个是很重要的,我们在做数仓建模的过程中是需要统一字段命名和字段类型,如下图:

微信图片_20220424220911.png微信图片_20220424220915.png


数据标准(字段库)


标准字段库用于解决常用字段记录,方便用户建立数据表时,能够从常用字段库里直接拖入数据表中。 标准字段库可以用户自行添加,也可以从现有数据表中移到标准字段库中,其实这个是很重要的,我们在做数仓建模的过程中是需要统一字段命名和字段类型

如下图所示:

微信图片_20220424220918.png微信图片_20220424220922.png


标准字段库支持导出JSON文件,也支持从JSON文件中导入,以解决共享交流问题。


数据字典(代码映射表)


增加了数据字典支持,用于解决对字段元数据更清晰的解析阐述,如下图:

微信图片_20220424220925.png


数据表字段可以直接关联数据字典,如下图所示:

微信图片_20220424220929.png


项目组织形式(多模块模式以及不分模块模式)


简单项目,不需要分模块,直接分为数据表,视图,关系图,数据字典即可,复杂项目需要折分为一个一个独立的模块,系统对这两种形式均给予支持。 简单模式,如下图:

微信图片_20220424220933.png


分模块形式,如下图:

微信图片_20220424220936.png


关系图


其实当前版本的关系图的可视化相比PDMan 就好看很多了,而且还支持了折线


ER关联关系图


数据实体关联关系图,该关联关系图需要人工手动维护,如下图所示:

微信图片_20220424220942.png


简单的概念模型图


支持简单的概念模型图,概念模型图实体只保存在关系图上,不保持实体对象,如下图所示:

微信图片_20220424220946.png


概念模型图,主要用于快速勾勒系统的关键业务对象关系图,用于快速整体理解数据模型


同一模块多张关系图


同一个模块,可以支持多张多种形式的关系图:

微信图片_20220424220950.png


画布设计界面


分组框及以备注框


分组框,用于对数据表或者实体进行分类,能够更清晰的了解数据表的层次结构,如下图:

微信图片_20220424220954.png


文字以及背景颜色设置


备注框,为普通矩形框,用于对数据表或者业务场景进行解释说明,如下图:

微信图片_20220424221000.png


代码模板


不同数据库方言的DDL


通过代码模板引擎,实现可扩展的数据库方言支持,如下图:

MySQL

微信图片_20220424221004.png

ORACLE

微信图片_20220424221008.png

SQLServer

微信图片_20220424221011.png


扩展属性支持类似Hive

微信图片_20220424221015.png


JavaBean代码生成

微信图片_20220424221020.png


可定制化可编辑的代码模板引擎

代码模板引擎基于doT.js构建,如下图:

微信图片_20220424221025.png


提供代码预览编辑,以便能够及时预览代码模板的效果,如下图:


微信图片_20220424221824.png

生态对接-导入


数据库逆向


连接数据库,逆向解析数据库,支持数据库中文注释的解析。 连接数据库,如下图:

微信图片_20220424221831.png


解析数据列表清单,如下图:

微信图片_20220424221835.png


解析数据表结果,如下图:

微信图片_20220424221838.png


导入PDMan文件


支持PDMan的导入,支持数据表,关系图,数据域的高度还原。 导入列表选择,如下图:

微信图片_20220424221844.png


导入后结果,如下图:

微信图片_20220424221848.png


PDMan原始情况,如下图:

微信图片_20220424221852.png


导入PowerDesigner文件


导入PowerDesigner,支持数据表,数据域的高度还原(不支持关系图还原),如下图:

微信图片_20220424221856.png


数据表选择,如下图:

微信图片_20220424221900.png


最终导入后结果,如下图:

微信图片_20220424221904.png


生态对接-导出


导出DDL


导出DDL,用于解决一次性导出指定数据表,针对指定数据库方言的导出,如下图:

微信图片_20220424221908.png


导出WORD文档及模板可定制


将当前数据表,关系图,数据字典导出至WORD文档,如下图:

微信图片_20220424221911.png


导出结果,如下图:

微信图片_20220424221914.png微信图片_20220424221918.png


关系图导出图片


实现将当前画布的关系图,导出为PNG图片。


全局搜索及定位


字段及关键字,数据字典等的全局搜索,如下图:

微信图片_20220424221922.png


更多特性


多语言

中文,如下图:

微信图片_20220424221838.png


英文,如下图:

微信图片_20220424221844.png


语言设置,如下图:

微信图片_20220424221932.png



新建表默认初始化字段

微信图片_20220424221936.png


表编辑一次性设置多个数据域

微信图片_20220424221939.png


总结

  1. PDMan(CHINER) 是一款优秀的国产开源软件,能满足我们在建模过程中80%的需求;
  2. PDMan 本身上手简单,学习成本低;

 3.下一节我们从头开始使用PDMan设计一个模型;

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
4月前
|
分布式计算 关系型数据库 MySQL
实时数仓 Hologres产品使用合集之要将CTAS映射到其他工具或系统中,该怎么操作
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
4月前
|
存储 SQL 分布式计算
离线数仓(五)【数据仓库建模】(4)
离线数仓(五)【数据仓库建模】
|
4月前
|
SQL 存储 关系型数据库
离线数仓(五)【数据仓库建模】(1)
离线数仓(五)【数据仓库建模】
离线数仓(五)【数据仓库建模】(1)
|
4月前
|
SQL 存储 关系型数据库
技术心得记录:数仓建模方法之范式建模、ER实体建模、维度建模
技术心得记录:数仓建模方法之范式建模、ER实体建模、维度建模
96 0
|
5月前
|
存储 数据挖掘 大数据
大数据数仓建模基础理论【维度表、事实表、数仓分层及示例】
数据仓库建模是组织和设计数据以支持数据分析的过程,包括ER模型和维度建模。ER模型通过实体和关系描述数据结构,遵循三范式减少冗余。维度建模,特别是Kimball方法,用于数据仓库设计,便于分析和报告。事实表存储业务度量,如销售数据,分为累积、快照、事务和周期性快照类型。维度表提供描述性信息,如时间、产品、地点和客户详情。数仓通常分层为ODS(源数据)、DWD(明细数据)、DIM(公共维度)、DWS(数据汇总)和ADS(应用数据),以优化数据管理、质量、查询性能和适应性。
离线数仓(五)【数据仓库建模】(3)
离线数仓(五)【数据仓库建模】
|
4月前
|
存储 SQL JSON
离线数仓(五)【数据仓库建模】(2)
离线数仓(五)【数据仓库建模】
|
5月前
|
存储 数据可视化 前端开发
数仓常用分层与维度建模
本文介绍了数据仓库的分层结构和维度建模。数仓通常分为ODS、DIM、DWD、DWS和ADS五层,各层负责不同的数据处理阶段。维度建模是数据组织方法,包括星型和雪花模型。星型模型简单直观,查询性能高,适合简单查询;雪花模型则通过规范化减少冗余,提高数据一致性和结构复杂性,但可能影响查询效率。选择模型需根据业务需求和数据复杂性来定。
|
存储 数据挖掘 关系型数据库
数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表
数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表
|
5月前
|
数据挖掘 数据库
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
253 0

热门文章

最新文章