数仓建模—建模工具PdMan(CHINER)介绍
数据仓库系列文章(持续更新)
- 数仓架构发展史
- 数仓建模方法论
- 数仓建模分层理论
- 数仓建模—宽表的设计
- 数仓建模—指标体系
- 数据仓库之拉链表
- 数仓—数据集成
- 数仓—数据集市
- 数仓—商业智能系统
- 数仓—埋点设计与管理
- 数仓—ID Mapping
- 数仓—OneID
- 数仓—AARRR海盗模型
- 数仓—总线矩阵
- 数仓—数据安全
- 数仓—数据质量
- 数仓—数仓建模和业务建模
工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。
PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,是PowerDesigner之外,更好的免费的替代方案。他具有颜值高,使用简单的特点。包含数据库建模,灵活自动的自动生成代码模板,自动生成文档等多种开发人员实用的功能。
PDMan已全面升级至CHINER
开始之前我们开始先介绍一下这个工具本身,后面再看怎么使用它以及它的特性,其实CHINER就是PDMan的升级版本,我们可以先看一下界面
这是PDMan 的项目管理界面,我们看到也是分项目管理的,可以选择打开已有的项目

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

名称由来
- 第一个(公开发行名称):PDMan: Physical Data Model Manager(物理模型管理)
- 第二个(内部使用名称):SINOPER: SINO Popular Entity Relation(中国最流行的实体关系图工具),目前该软件发行版,底层很多代码为该词前缀。
- 第三个(公开发行名称):CHINER: CHINESE Entity Relation(国产实体关系图工具),为方便国内普及,中文名称为:元数建模,也作:"CHINER[元数建模]"公开使用。
CHINER 的特点
- 体系结构重新设计,结构颠覆,但是对原PDMan做到高度兼容。
- 精细的界面布局及操作优化,更好看,更简单,更好用。
- 增加实用新功能(如导入PowerDesigner等),功能更强大,生态兼容性更好。
功能介绍
因为CHINER 是PDMan 的升级版本,所以我们这里直接介绍CHINER
自带入门参考案例
首页自带两个典型参考案例,方便用户快速了解软件支持的功能以及特性。

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

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

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

可定制的数据类型及数据域
可扩展的数据类型,并且支持多种数据库方言的适配,如下图:
这个主要是解决拓展性的,也就是我们可以根据扩展不同的数据库进来

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

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

标准字段库支持导出JSON文件,也支持从JSON文件中导入,以解决共享交流问题。
数据字典(代码映射表)
增加了数据字典支持,用于解决对字段元数据更清晰的解析阐述,如下图:

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

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

分模块形式,如下图:

关系图
其实当前版本的关系图的可视化相比PDMan 就好看很多了,而且还支持了折线
ER关联关系图
数据实体关联关系图,该关联关系图需要人工手动维护,如下图所示:

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

概念模型图,主要用于快速勾勒系统的关键业务对象关系图,用于快速整体理解数据模型。
同一模块多张关系图
同一个模块,可以支持多张多种形式的关系图:

画布设计界面
分组框及以备注框
分组框,用于对数据表或者实体进行分类,能够更清晰的了解数据表的层次结构,如下图:

文字以及背景颜色设置
备注框,为普通矩形框,用于对数据表或者业务场景进行解释说明,如下图:

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

ORACLE

SQLServer

扩展属性支持类似Hive

JavaBean代码生成

可定制化可编辑的代码模板引擎
代码模板引擎基于doT.js构建,如下图:

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

生态对接-导入
数据库逆向
连接数据库,逆向解析数据库,支持数据库中文注释的解析。 连接数据库,如下图:

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

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

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

导入后结果,如下图:

PDMan原始情况,如下图:

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

数据表选择,如下图:

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

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

导出WORD文档及模板可定制
将当前数据表,关系图,数据字典导出至WORD文档,如下图:

导出结果,如下图:

关系图导出图片
实现将当前画布的关系图,导出为PNG图片。
全局搜索及定位
字段及关键字,数据字典等的全局搜索,如下图:

更多特性
多语言
中文,如下图:

英文,如下图:

语言设置,如下图:

新建表默认初始化字段

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

总结
- PDMan(CHINER) 是一款优秀的国产开源软件,能满足我们在建模过程中80%的需求;
- PDMan 本身上手简单,学习成本低;
- 下一节我们从头开始使用PDMan设计一个模型;
数仓建模—建模工具PdMan(CHINER)介绍的更多相关文章
- hive数仓客户端界面工具
1.Hive的官网上介绍了三个可以在Windows中通过JDBC连接HiveServer2的图形界面工具,包括:SQuirrel SQL Client.Oracle SQL Developer以及Db ...
- 数仓建模—ID Mapping
早晨起床的时候,发现自己尿分叉,我没有多想,简单洗洗就匆忙出门.路过早餐店,我看到师傅熟练的拉扯一小块面团,拉至细长条,然后放入油锅中,不一会功夫,一根屎黄色的油条便出锅了,卖相不错.我在想,小到炸屎 ...
- 数仓建设中最常用模型--Kimball维度建模详解
数仓建模首推书籍<数据仓库工具箱:维度建模权威指南>,本篇文章参考此书而作.文章首发公众号:五分钟学大数据,公众号中发送"维度建模"即可获取此书籍第三版电子书 先来介绍 ...
- 数仓建模—OneID
今天是我在上海租房的小区被封的第三天,由于我的大意,没有屯吃的,外卖今天完全点不到了,中午的时候我找到了一包快过期的肉松饼,才补充了1000焦耳的能量.但是中午去做核酸的时候,我感觉走路有点不稳,我看 ...
- 【3D动画建模设计工具】Maxon Cinema 4D Studio for Mac 20.0
图标 Icon 软件介绍 Description Maxon Cinema 4D Studio R20 ,是由德国公司Maxon Computer一款适用于macOS系统的3D动画建模设计工具,是 ...
- 数仓1.4 |业务数仓搭建| 拉链表| Presto
电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金 ...
- HAWQ取代传统数仓实践(十九)——OLAP
一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允 ...
- 基于MaxCompute的数仓数据质量管理
声明 本文中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导. 参考文献 <大数据之路——阿里巴巴大数据实践>——阿里巴巴数据技术及产品部 著. 背景及目的 数据对一个企业来说已 ...
- 基于Hive进行数仓建设的资源元数据信息统计:Hive篇
在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...
随机推荐
- 通过DP总线实现S7-300/400与SINAMICS S120 通讯
一.DP总线通讯功能概述 S7-300/400与SINAMICS S120 之间通过DP总线可进行周期性及非周期性数据通讯. 使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过P ...
- 简单了解一下pinia的结构
随着 Vue3 的正式转正,Pinia 也渐渐火了起来.所以要更新一下自己的知识树了.这里主要是看看新的状态是什么"形态". 状态的容器还是"reactive" ...
- 玩转SpringBoot之定时任务@Scheduled线程池配置
序言 对于定时任务,在SpringBoot中只需要使用@Scheduled 这个注解就能够满足需求,它的出现也给我们带了很大的方便,我们只要加上该注解,并且根据需求设置好就可以使用定时任务了. 但是, ...
- 洛谷P1091 [NOIP2004 提高组] 合唱队形
本题是一个简单的 LIS(最长上升子序列)问题 只是要求俩次最长上子序列而已 很容易的 首先由于是最长上升子序列 所以朴素法的动态规划表达式为 f[i] = max( f[i] , f[ ...
- 一种优雅的Golang的库插件注册加载机制
一种优雅的Golang的库插件注册加载机制 你好,我是轩脉刃. 最近看到一个内部项目的插件加载机制,非常赞.当然这里说的插件并不是指的golang原生的可以在buildmode中加载指定so文件的那种 ...
- SpringBoot 上传文件大小限制,SizeLimitExceededException: the request was rejected because its size (64042302) exceeds the configured maximum (10485760)
对应的配置属性文件:org.springframework.boot.autoconfigure.web.servlet.MultipartProperties 由于我是yml文件,所以直接这样定义就 ...
- thrift源码分析
1 前言 学习thrift源码主要为了弄清楚几个问题 thrift客户端和服务端的通信流程是如何的 thrift的IDL中给属性加上编号的作用是什么 thrift中require.optional和默 ...
- SqlMapConfig.xml文件详解
SqlMapConfig.xml 是 mybatis 的全局配置文件,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHan ...
- 学习zabbix(二)
超大规模门户网站集群架构: 运维30%的时间都在监控,监控要多维度: 监控(单机监控(系统监控).网络监控.应用监控.分布式监控): 业务监控(业务指标-->流量分析-->舆论监控): 流 ...
- Netty学习摘记 —— 初识编解码器
本文参考 本篇文章是对<Netty In Action>一书第十章"编解码器框架"的学习摘记,主要内容为解码器和编码器 编解码器实际上是一种特殊的ChannelHand ...