首页 > 代码库 > 利用 yEd 软件做元数据管理
利用 yEd 软件做元数据管理
利用 yEd 软件做元数据管理
yEd Diagram editor 是我常用的 flow chart 制图工具, 另外我也用它画 ER 和 use case 图. 总结一下我喜欢 yEd 的原因:
1. 出色的对齐功能
2. 可随意拖动Node, 永远不用担心相连的 Edge 会自动断开连接
3. 每个 Node 都自带一个Label, 加说明文字非常方便
4. 每个 Edge 都自带一个Label, 加说明文字非常方便
今天总结的是一个非常有价值的使用场景, 在数据仓库和大数据平台中, 数据表的关系很复杂,随着平台的不断建设, 到最后想要清楚知道表和表有何关系都非常困难了. 在商业社会中, 有困难是个好事情, 能解决困难就是一个商机, 所以市场上出现了不少元数据管理工具, 卖的都挺贵的, 环境搭建也复杂.
下面介绍一个免费的方案:
使用 yEd 做元数据管理. 元数据管理在理论层面上将, 就是要能分析出节点与节点的关系, 找到某个节点的上游节点/下游节点. yEd 就有这样的功能:
1. Successors 视图, 以层次关系展现选定节点的下游节点
2. Predecessors 视图, 以层次关系展现选定节点的上游节点
3. Neighborhood 视图,, 展现选定节点的相邻节点
4. Find 搜索功能, 比如我们要找某个table, 无疑搜索是最快的方式.
需要说明的是, 这个方案基本只能表级别依赖分析, 不能细化到column粒度.
元数据管理的步骤和技巧:
1. yEd 软件中打开 Successors/Predecessors/Neighborhood 视图
2. 增加节点, 推荐选择 Entity with attribute 类型, 但在 attributes 区并不填写数据表的columns, 而是写一个非常简要的补充说明, 将columns加到节点的Description属性中. 这样做的好处是, 每个表的节点占据的区域很小, 画布显示区能显示更多的表, 更重要的是, 小的Entity节点比较适合Predecessors/Successors视图区展现, 因为 Predecessors/Successors视图不能缩放, 而且每个节点太大的话, 不利用展现复杂的依赖关系. 如果将来 yEd 软件能将节点显示图标化, 就不需要这种曲线救国的方法了.
3. 增加Edge, 注意箭头方向, 箭头方向按照上下游理解较容易, 但也可以做成双向箭头, yEd 都能正确分析出.
4. 当然 Node 也可以代表报表, 可以为数据表和报表设置不同风格的 Node 的外观来区分.
5. 巧用分组功能, 如果数据表或报表太多, 需要分组甚至需要多个子画布. yEd 有两个分组功能, 分别是: (a)使用 BPMN下的Group组件, (b)Grouping菜单的Group命令. 这两个分组的效果是不同, BPMN下的Group组件会新建一个子画布; Grouping菜单的Group命令生成的Group可以折叠成图标,还可以加title. 所以我的作法是, 将分组内容先套一个 BPMN下的Group组件, 然后再套一个Grouping菜单的Group, 这样即可将分组内容在主画布上折叠, 也可以分组内容放置到一个新的子画布上.
ER图画布布局小技巧:
ER 图有时候关系很复杂, 要想布局好还不太容易, 这时候就可以借助 yEd 自动布局功能, 一般选择试试下面两种模式即能得到很好的布局效果:
1. Layout菜单/Hierarchical,
2. Layout菜单/Orthogonal/UML Style即可
利用 yEd 软件做元数据管理