数据仓库系列文章(持续更新)

  1. 数仓架构发展史
  2. 数仓建模方法论
  3. 数仓建模分层理论
  4. 数仓建模—宽表的设计
  5. 数仓建模—指标体系
  6. 数据仓库之拉链表
  7. 数仓—数据集成
  8. 数仓—数据集市
  9. 数仓—商业智能系统
  10. 数仓—埋点设计与管理
  11. 数仓—ID Mapping
  12. 数仓—OneID
  13. 数仓—AARRR海盗模型
  14. 数仓—总线矩阵
  15. 数仓—数据安全
  16. 数仓—数据质量
  17. 数仓—数仓建模和业务建模

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

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

PDMan已全面升级至CHINER

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

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

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

  1. 表设计
  2. 关系设计

名称由来

  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

自带入门参考案例

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

管理对象

数据表及字段

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

多表关联的视图

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

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

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

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

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

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

数据标准(字段库)

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

如下图所示:

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

数据字典(代码映射表)

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

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

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

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

分模块形式,如下图:

关系图

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

ER关联关系图

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

简单的概念模型图

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

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

同一模块多张关系图

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

画布设计界面

分组框及以备注框

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

文字以及背景颜色设置

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

代码模板

不同数据库方言的DDL

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

MySQL

ORACLE

SQLServer

扩展属性支持类似Hive

JavaBean代码生成

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

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

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

生态对接-导入

数据库逆向

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

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

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

导入PDMan文件

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

导入后结果,如下图:

PDMan原始情况,如下图:

导入PowerDesigner文件

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

数据表选择,如下图:

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

生态对接-导出

导出DDL

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

导出WORD文档及模板可定制

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

导出结果,如下图:

关系图导出图片

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

全局搜索及定位

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

更多特性

多语言

中文,如下图:

英文,如下图:

语言设置,如下图:

新建表默认初始化字段

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

总结

  1. PDMan(CHINER) 是一款优秀的国产开源软件,能满足我们在建模过程中80%的需求;
  2. PDMan 本身上手简单,学习成本低;
  3. 下一节我们从头开始使用PDMan设计一个模型;

数仓建模—建模工具PdMan(CHINER)介绍的更多相关文章

  1. hive数仓客户端界面工具

    1.Hive的官网上介绍了三个可以在Windows中通过JDBC连接HiveServer2的图形界面工具,包括:SQuirrel SQL Client.Oracle SQL Developer以及Db ...

  2. 数仓建模—ID Mapping

    早晨起床的时候,发现自己尿分叉,我没有多想,简单洗洗就匆忙出门.路过早餐店,我看到师傅熟练的拉扯一小块面团,拉至细长条,然后放入油锅中,不一会功夫,一根屎黄色的油条便出锅了,卖相不错.我在想,小到炸屎 ...

  3. 数仓建设中最常用模型--Kimball维度建模详解

    数仓建模首推书籍<数据仓库工具箱:维度建模权威指南>,本篇文章参考此书而作.文章首发公众号:五分钟学大数据,公众号中发送"维度建模"即可获取此书籍第三版电子书 先来介绍 ...

  4. 数仓建模—OneID

    今天是我在上海租房的小区被封的第三天,由于我的大意,没有屯吃的,外卖今天完全点不到了,中午的时候我找到了一包快过期的肉松饼,才补充了1000焦耳的能量.但是中午去做核酸的时候,我感觉走路有点不稳,我看 ...

  5. 【3D动画建模设计工具】Maxon Cinema 4D Studio for Mac 20.0

    图标 Icon   软件介绍 Description Maxon Cinema 4D Studio R20 ,是由德国公司Maxon Computer一款适用于macOS系统的3D动画建模设计工具,是 ...

  6. 数仓1.4 |业务数仓搭建| 拉链表| Presto

    电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金 ...

  7. HAWQ取代传统数仓实践(十九)——OLAP

    一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允 ...

  8. 基于MaxCompute的数仓数据质量管理

    声明 本文中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导. 参考文献 <大数据之路——阿里巴巴大数据实践>——阿里巴巴数据技术及产品部 著. 背景及目的 数据对一个企业来说已 ...

  9. 基于Hive进行数仓建设的资源元数据信息统计:Hive篇

    在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...

随机推荐

  1. xss平台搭建

    1. xss平台搭建 l 将xss平台源码放置在网站目录下 l 进入MySQL管理界面中的phpMyAdmin界面,新建一个XSS平台的数据库 l 修改XSS源码文件目录下的config.php中的数 ...

  2. 安装配置Snort和barnyard2

    1.安装依赖包 yum install –y gcc flex bison zlib* libpcap* tcpdump gcc-c++ zlib* libdnet libdnet-devel pcr ...

  3. 06分频计数器之LED闪烁1

    一设计功能是:让LED灯每1秒亮一次,再灭一秒,闪烁时间周期为2秒. 二分频的介绍: (一)设计方式:IP核和自己动手写. (二)对于分频的构成:一个是计数器,还有时钟翻转.方法一是计满整个周期,一半 ...

  4. 接口(interface)与抽象类(abstract class)两者的异同

    首先说明一下,JDK1.8以后接口可以有默认方法和静态方法以及私有方法. 一.概念: 接口(interface):是抽象类的变体,其中所有的方法都是抽象的且不能有方法体,而且只能定义 static f ...

  5. 半吊子菜鸟学Web开发6 -- Vscode开发环境配置

    1vscode上手一周不到,终于弄出点门路,终于弄清楚了点vscode的设置是什么样子的了....哭 2就我这两天的使用来看,一般vscode默认只让打开一个文件夹,然后在你打开的文件夹里面自动生成 ...

  6. pyinstaller打包Django项目

    系统:ubuntu18.04 / Centos 7自带Python3.61.安装pip3     apt-get install -y python3-pip     pip3 install --u ...

  7. spring-boot-learning 缓存之redis

    什么是BSD协议: BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版". BSD开源协议是一个给于使用者 ...

  8. 并发包下常见的同步工具类(CountDownLatch,CyclicBarrier,Semaphore)

    在实际开发中,碰上CPU密集且执行时间非常耗时的任务,通常我们会选择将该任务进行分割,以多线程方式同时执行若干个子任务,等这些子任务都执行完后再将所得的结果进行合并.这正是著名的map-reduce思 ...

  9. CAS和CAP代表的作用

    CAS(自旋锁):https://www.jianshu.com/p/ab2c8fce878b CAP原则:https://baike.baidu.com/item/CAP原则/5712863?fr= ...

  10. 学习Jenkins(二)

    一:持续集成的概念: 总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 二:安装部署 ...