数仓建模理论与设计

1.什么是数据建模


数据建模就是基于对于业务的理解,将各种数据进行整合和关联,并最终使得这些数据可用性、可读性增强,让使用方法快速的获取到自己关系的有价值的信息并及时的作出相应,为公司带来效益。


2.为什么要建模


        数据建模是一套方法论,主要对数据的存储和整合做一些指导,强调从各个角度合理的存储数据。

有合适的数据模型,带来的好处:

1、查询使用性能提升

2、用户效率提高,改善用户体验

3、提升数据质量

因此大数据系统需要数据模型方法来更好的组织和存储,以便在性能,成本,效率和质量之间取得平衡。


3.建模常用工具


PowerDesigner:

 Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使开发时间缩短和使系统设计更优化。

      power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。

ER/Studio:

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

Datablau(数语科技)DDM:

        国内商业版数据建模工具。由前Erwin全球研发团队打造。性价比高,所需建模功能齐全;支持完整的二次开发API,对接内部系统;且同样具备浮动许可证的服务。支持对关系型、NoSQL、ERP数据源的数据模型自动抽取。可视化ER图的方式设计数据库。支持应用数据标准到数据库设计。支持多人协作的数据建模跨部门共享数据模型。支持周期性监控实际数据库与数据模型的一致性,管理数据库中文界面全新设计,更适合国内企业现状和使用习惯。


4.业务系统和数据仓库建模的区别


        在业务系统中,通常面对业务数据库的读写,目前采用三范式3NF模型存储数据。

        而在数据仓库的建模过程中,由于主要是数据的批量读取操作,但是事务并不是我们所关心的,主要是关注数据的整合以及查询处理性能,因此会采用其他建模方法,以Kimball维度建模最为经典。


5.Kimball和Inmon架构


Inmon架构:

        辐射状企业信息工厂(CIF) 方法由Bill Inmon及业界人士倡导的。在这个环境下,数据从操作性数据源中获取,在ETL系统中处理,将这一过程称为数据获取,从这一过程中获得的原子数据保存在满足第三范式的数据库中,这种规范化的原子数据的仓库被称为CIF架构下的企业级数据仓库(EDW)。

        与Kimball方法相似,CIF强调企业数据协调与集成,但CIF认为要利用规范化的EDW承担这一角色,而Kimball架构强调具有一致性维度的企业总线的重要作用。

  Inmon企业级数据仓库的分析数据库通常以部门为中心(而不是围绕业务过程来组织),而且包含汇总数据,并不是原子级别数据,如果ETL过程中数据所应用的业务规则超越了基本概要,如部门改名了或者其他的类似计算,要将分析数据库与EDW原子数据联系起来将变得很困难。

Kimball架构ÿ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数仓是为了支持数据仓库的设计和构,从而实现对数据的有效管理和分析。以下是数仓的一般实施细则: 1. 需求收集和分析:与相关的业务部门和利益相关者合作,收集数据仓库的需求,并进行详细的需求分析。了解业务流程、数据来源和数据需求,确保数仓型能够满足业务需求。 2. 数据源分析:对数据源进行详细的分析,了解数据的结构、关系和含义。对于每个数据源,确定其与其他数据源的关联关系和集成方式。 3. 方法选择:根据需求和数据源分析的结果,选择合适的方法。常见的方法包括维度(如星型型、雪花型)和规范化(如第三范式)等。 4. 实体识别和关系定义:根据业务需求和数据源分析,确定数仓中的实体(如产品、客户、订单等),并定义它们之间的关系。这可以使用实体关系图、实体属性列表等方式进行描述。 5. 维度:对事实表和维度表进行设计。事实表包含业务度量(如销售金额、数量等)和外键(与维度表关联),而维度表包含维度属性(如时间、地理位置、产品等)。这可以使用维度设计工具(如星型型工具)进行。 6. 规范化:根据第三范式原则,将数据分解为多个规范化表。每个表代表一个实体或关系,具有唯一标识符和属性。这可以使用实体关系图和关系式进行描述。 7. 数据粒度定义:定义事实表和维度表的数据粒度,即数据的最小可分析单元。这有助于确定数据聚合和查询的粒度,并支持不同层级的分析。 8. 层次结构设计:对维度表中的属性进行层次结构的设计,以支持分层分析。例如,时间维度可以按照年、季度、月份等进行层次划分。 9. 元数据管理:对数仓中的各个表、字段和关系进行元数据管理,以支持数据的理解、发现和文档化。这可以使用元数据管理工具或元数据仓库来实现。 10. 数据仓库架构设计:根据具体情况,设计数据仓库的架构,包括物理架构(如服务器、存储等)、ETL流程和工作流程等。确保数据仓库的可扩展性、性能和可靠性。 11. 型验证和优化:对立的数据仓库型进行验证和优化,包括合理性检查、性能测试和数据一致性验证等。根据验证结果进行必要的调整和改进。 12. 实施和部署:根据设计和验证的结果,实施数据仓库型,并将其部署到生产环境中。确保数据的准确性、完整性和安全性。 以上是数仓的一般实施细则,具体的实施过程可能会因组织和项目的需求而有所不同。在实施过程中,需要与相关的业务部门和技术团队密切合作,确保数仓能够满足业务需求,并具备良好的性能和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值