如何设计企业数据仓库

如何设计企业数据仓库

在您的公司中,可能有数百个数据源、多种数据库和数据类型。这种情况下,设计一个用户友好的数据仓库将是非常困难和复杂的。此外,可能存在数百个你不知道来源的excel文件。

在本文中,将给出一些可以应用于数据仓库的“最佳实践”。系统的性能也会受到硬件和软件环境的影响。因此必须独立于数据仓库设计做出决策。

一个设计良好的数据仓库,可以列出几个主题。

  1. 数据仓库的主题领域应该是什么?
  2. 数据仓库的模型规则应该是什么?
  3. 数据库对象的数据库约束应该是什么?
  4. 数据流的调度时间应该是多少?
  5. 需要哪种数据集市?
  6. 是否需要运营数据源? 

这里我们先来讨论前三个。

数据仓库的主题领域应该是什么?

企业数据仓库模型必须具有自己的数据建模结构。它不能是数据源的简单副本。在许多业务数据应用程序中可能会有许多复制的数据。因此,在数据仓库建模之前,必须先定义公司的业务数据类型,以便能够在建模之前首先定义数据仓库的主要领域。主题区域的定义为数据仓库提供了通用模型,这意味着该模型是独立于数据源的。通过这种通用建模实践,可以将不同的数据源和不同的数据类型合并到相同的表或主题区域中。

主题领域可能是什么?它们可以是:

  • 财务:发票,欺诈案件或任何其他ERP生成的财务信息。
  • 广告活动和服务:你的产品活动或特别服务提供给你的客户。
  • 销售:您的公司卖什么?订单管理数据可以在此主题区域中建模。
  • 客户:您的主要客户信息。或者它可以包括任何类型的新客户,返回的客户交易信息。
  • 仓库:如果您有库存管理,则还必须包括仓库信息。

根据行业,可以增加示例。必须知道需要使用所有这些数据进行哪种类型的分析。

此外,应该有诸如“聚会”和“地址”之类的通用主题领域,这些主题领域广泛用于各行业。这些主题领域是最灵活的,你可以带来任何类型的数据源。例如,如果数据仓库有Party主题区域,那么您可以将员工、客户、供应商信息和团队信息放到“Party”主题区域。

数据仓库的模型规则应该是什么?

如果业务数据的很大,那么最好的方式就是将设计分为两部分。 

  1. 关系数据源(RDS):与用户界面隔离。
  2. 维度数据源(DDS):专门用于用户和报表界面。

上述方法还提供了灵活管理企业数据仓库的能力。

首先,业务数据可以保存在关系模型中。这使源提取,数据格式转换以及将数据加载到RDS模型变得更加容易。这就是为什么RDS模型不应该是非规范化模型的原因。

RDS是数据仓库的规范化数据层。一般规则可以定义为:

  1. 数据仓库应生成自己的键值,称为代理键。 
  2. rds层应保留代理键和自然键(源系统键字段)之间的关系,但是在用户界面的其他层中,不必将其转移到其他层。 

可以有5种类型的表 

链接表它将历史信息保留在两个主题之间,包含开始日期和结束日期信息
链接类型表它保留“链接表”的关系类型,例如,客户的地址可以是客户的家庭或办公室地址
查询表简单的定义表。订单类型,付款类型,地址类型,区域等。查找表可以是缓慢更改的维度类型1或类型2。类型1仅保留记录的当前状态,类型2保留数据更改的版本。
交易表这些表仅保留交易信息,例如订单交易
主数据表它们是公司范围内最重要的信息,例如客户群,地址群等。
层级表数据仓库中可以有分层数据。 
  1. 由于数据仓库模型被设计更加通用,因此表可以具有不同类型的数据源。数据仓库可将数据源列表保留在库存表中。并在ETL流程中使用该信息。 
  2. 该模型应可以命名。它应该包括主题区域的缩写,链接表,交易表或查询表等的表类型以及表的特定定义。 
  3. 该模型还应该包括一个标准的日历主题区域,以便在所有数据仓库中通用。

数据库对象的数据库约束应该是什么?

数据仓库系统的设计是为了优化报告性能,因此应该针对读取数据进行优化。

如果有许多源系统和数千个表,那么加载时间对于报表的准备时间将非常关键。为了快速加载表,表上不应有索引。 

某些业务表可能具有数百万/数十亿条记录。这些数据可以按时间或基于关键字段进行分区。

代理键应以数字数据类型定义。它还减少了数据仓库生命周期中表的数据大小。

为了处理处理后的数据,还可以设计一个回收机制。在日常事务传输中,如果存在基于定义的转换规则的未处理数据,则可以将数据保存在回收表中以便以后分析。 

免责声明:凡未注明来源或者来源为网络的信息均转自其它平台,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。网站只负责对文章进行整理、排版、编辑,不承担任何法律责任。若有侵权或异议请联系我们删除,谢谢。

发表评论

您的电子邮箱地址不会被公开。