取消
搜索历史
热搜词
原创
活动
产业创新
转型理念
ENI专访
当前位置:首页 >文章发布 > 正文
数据建模的几大原则及七种工具
来源:大数据推荐杂谈  作者: 佚名 2022-04-28 14:22:53
数据模型是在业务需求分析之后,数据仓库工作开始时的第一步。良好的数据模型可以帮助我们更好地存储数据,更有效率地获取数据,保证数据间的一致性。

模型是对现实事物的反映和抽象,能帮助我们更好地了解客观世界。数据模型定义了数据之间关系和结构,使得我们可以有规律地获取想要的数据。例如,在一个超市里,商品的布局都有特定的规范,商品摆放的位置是按照消费者的购买习惯以及人流走向进行摆放的。

数据模型的作用

数据模型是在业务需求分析之后,数据仓库工作开始时的第一步。良好的数据模型可以帮助我们更好地存储数据,更有效率地获取数据,保证数据间的一致性。

数据建模的原则

模型设计的基本原则

(1)高内聚和低耦合

一个逻辑和物理模型由哪些记录和字段组成,应该遵循最基本的软件设计方法论中的高内聚和低耦合原则。主要从数据业务特性和访问特性两个角度来考虑:将业务相近或者相关的数据、粒度相同数据设计为一个逻辑或者物理模型;将高概率同时访问的数据放一起,将低概率同时访问的数据分开存储。

(2)核心模型与扩展模型分离

建立核心模型与扩展模型体系,核心模型包括的字段支持常用核心的业务,扩展模型包括的字段支持个性化或是少量应用的需要。在必须让核心模型与扩展模型做关联时,不能让扩展字段过度侵入核心模型,以免破坏了核心模型的架构简洁性与可维护性。

(3)公共处理逻辑下沉及单一

底层公用的处理逻辑应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑在多处同时存在。

(4)成本与性能平衡,适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。

(5)数据可回滚,处理逻辑不变,在不同时间多次运行数据的结果需确定不变。

(6)一致性,相同的字段在不同表中的字段名必须相同。

(7)命名清晰可理解,表命名规范需清晰、一致,表命名需易于下游的理解和使用。

(8)补充说明:一个模型无法满足所有的需求。需合理选择数据模型的建模方式。通常,设计顺序依次为:概念模型->逻辑模型->物理模型。

维度表设计要点:

维度是维度建模的基础和灵魂。在维度建模中,将度量称为"事实",将环境描述为"维度",维度是用于分析事实所需要的多样环境。维度所包含的表示维度的列,称为维度属性。维度属性是查询约束条件、分组和报表标签生成的基本来源,是数据易用性的关键。

维度的作用一般是查询约束、分类汇总以及排序等。维度的设计过程就是确定维度属性的过程,如何生成维度属性,以及所生成的维度属性的优劣,决定了维度使用的方便性,成为数据仓库易用性的关键。正如Kimball所说的,数据仓库的能力直接与维度属性的质量和深度成正比。

在整个设计过程中,应当遵循下面一些原则:

  • 维度属性尽量丰富,为数据使用打下基础。
  • 给出详实的、富有意义的文字描述。
  • 沉淀通用维度属性,为建立一致性维度做好铺垫。
  • 严格区分事实与维度,通过使用场景进行区分。

事实表设计要点:

事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和与业务过程有关的度量。在设计过程中,可以选择不同类型的事实表,它们有各自的适用场景。

\

在整个设计过程中,应当遵循下面一些原则:

  • 选择一种适合的事实表类型。
  • 事实尽可能完整,包含整个业务过程的全部事实。
  • 确保每一个事实度量都是一致性,反复计算都会得到相同的结果。尽量记录一些“原子”事实,而不是加工后的结果。
  • 可适当做些”维度退化属性”,提高事实表的查询性能。
  • 为提高聚合性能,可适度做些上卷汇聚事实表。

建模工具

1、PowerDesigner

PowerDesigner是目前数据建模业界的领头羊。功能包括:完整的集成模型,和面向包含IT为中心的、非IT为中心的差异化建模诉求。

支持非常强大的元数据信息库和各种不同格式的输出。PowerDesigner拥有一个优雅且人性化的界面,非常易懂的帮助文档,快速帮助用户解决专业问题。

\

2、ER/Studio

ER/Studio 是一个支持多平台环境的直观数据建模工具,并且本地集成了用于处理大数据平台,例如-MongoDB和Hadoop Hive。

它能够进行正向和逆向工程,并且拥有“比较合并”功能,能够输出例如XML、PNG、JPEG等格式文档。内建自动执行任务功能支持当前流行数据库平台。ER/Studio功能非常强大,拥有直观的界面和很好的用户支持特别易于马上开始工作。

\

3、Sparx Enterprise Architect

Enterprise Architect是一个拥有丰富功能的数据建模工具。自诩是高性价比的明智之选。Enterprise Architect帮助企业用户快速建立强大的可维护的系统,而且很容易在共享项目中扩展到大型的协作团队中去。

Enterprise Architect 同样有动态运行模拟模型的能力,用以验证模型和更加正确和深入的理解原来商业系统运作的方式。

\

4、CA ERwin

ERwin 也是业界领先的数据建模解决方案,能够为用户提供一个简单而优雅的界面同时处理复杂的数据环境问题。Erwin的解决方案提提供敏捷模型,同时元数据可以放在普通的数据库中进行处理,这样就能够保证数据的一致性和安全性。Erwin支持高度自定义的数据类型、APIs,允许自动执行宏语言等等。Erwin还建有一个很活跃的用户讨论社区,使得用户之间可以分享知识和各种经验。

\

5、IBM InfoSphere Data Architect

InfoSphere 是一个很创新的、运行在开源平台-Eclipse上的数据建模工具。Infopshere主要聚焦于一下三个主要的特性:高效、简洁、高度集成。

InfoSphere能够帮助商业用户建立逻辑、物理模型图,并且之后能非常方便的在各种不同的应用和系统中进行使用。InfoSphere是一个端到端的解决方案,可以快速高效地用在建立、部署、更新数据模型。同时为非常简易的集成了IBM的其他相关产品。

\

6、Visio

Visio 是Office 软件系列中的负责绘制流程图和示意图的软件,是一款便于IT和商务人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。同时它也可以用来数据库建模。

打开visio 2010,文件—>新建—>数据库—>数据库模型图。建立数据库模型图之后,菜单栏多出一个菜单项"数据库"。

\

7、Excel Mapping

通过我们最熟悉的Excel进行维护数据模型、血缘关系和元数据管理,话不多说,直接上图:

\

免责声明:本文系网络转载,版权归原作者所有。本文所用图片、文字如涉及作品版权问题,请联系删除!本文内容为原作者观点,并不代表本网站观点。
编辑:刘灵如
活动 直播间  | CIO智行社

分享到微信 ×

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。