数据仓库的相关概念和发展历程

2022年12月8日
数据仓库的相关概念和发展历程插图

本文出自明月工作室:https://www.freebytes.net/it/bigdata/datahouse-info-development.html

一、什么是数据仓库?

数据仓库用作中央存储库,信息来自一个或多个数据源。数据从事务系统和其他关系数据库流入数据仓库。数据仓库一般仅用于执行查询和分析,并且通常包含大量历史数据。

二、数据仓库的意义

数据仓库将来自不同来源的信息合并到一个综合数据库中,为企业所有级别的决策制定过程,提供所有类型数据支撑的战略集合,主要是用于数据挖掘和数据分析,以建立数据沙盘为基础,为消灭消息孤岛和支持决策为目的而创建的。

三、数据仓库的类型

1. 企业数据仓库(EDW):

企业数据仓库 (EDW) 是一个集中式仓库。它为整个企业提供决策支持服务。它提供了一种用于组织和表示数据的统一方法。它还提供根据主题对数据进行分类的能力,并根据这些部门提供访问权限。

2. 运营数据存储:

当数据仓库和 OLTP 系统都不支持组织报告需求时,操作数据存储(也称为 ODS)只不过是所需的数据存储。在ODS中,数据仓库是实时刷新的。因此,它被广泛用于日常活动,例如存储员工的记录。

3. 数据集市:

数据集市是数据仓库的一个子集。它专为特定业务线而设计,例如销售、财务、销售或财务。在独立的数据集市中,数据可以直接从来源收集。

四、数据仓库的发展阶段

早些时候,组织开始使用相对简单的数据仓库。然而,随着时间的推移,开始使用更复杂的数据仓库。

  1. 离线操作数据库:

在这个阶段,数据只是从一个操作系统复制到另一个服务器。这样,复制数据的加载、处理和报告不会影响操作系统的性能。 

     2. 离线数据仓库:

数据仓库中的数据定期从操作数据库更新,并进行分门别类的处理。Datawarehouse 中的数据被映射和转换以满足 Datawarehouse 目标。

     3. 实时数据仓库:

在此阶段,每当操作数据库中发生任何事务时,都会更新数据仓库。例如,航空公司或铁路订票系统。

从业务角度上讲,发展阶段为:

  1. 简单报表阶段:

这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。

      2. 数据集市阶段:

这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。

      3. 数据仓库阶段:

这个阶段,主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数据仓库生成对对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。

五、数据仓库的组成部分

1、数据库

整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。

2、数据抽取工具

把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。

对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成 COBOL 程序、MVS 作业控制语言(JCL)、UNIX 脚本、和 SQL 语句等,以访问不同的数据。

数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。

3、元数据     

描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类,技术元数据和商业元数据。

技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库时用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。

商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;

元数据为访问数据仓库提供了一个信息目录(informationdirectory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎么得到的、和怎么访问这些数据。是数据仓库运行和维护的中心,数据仓库服务器利用他来存贮和更新数据,用户通过他来了解和访问数据。

4、访问工具

为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具;管理信息系统(EIS)工具;在线分析(OLAP)工具;数据挖掘工具。

5、数据集市(DataMarts)

为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的就是再实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦。

6、数据仓库管理

安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复;存储管理。

信息发布系统:把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于 Web 的信息发布系统是对付多用户访问的最有效方法。

六、数据仓库的特点

 1、面向主题。

数据仓库中的数据是按照一定的主题域进行组织。

主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。而操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离。

2、集成的。

数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。

3、相对稳定的。

数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。

4、反映历史变化。

数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。而操作型数据库主要关心当前某一个时间段内的数据。

七、数据仓库的基本架构

数据仓库的相关概念和发展历程插图

目前主流公司应用比较广泛的大数据数据仓库架构

数据仓库的相关概念和发展历程插图(1)

八、数据仓库的数据来源

数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是 ETL(抽取 Extra, 转化 Transfer, 装载 Load)的过程,ETL 是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持 ETL 的正常和稳定。

九、数据仓库的数据应用

  1. 报表展示
    报表几乎是每个数据仓库的必不可少的一类数据应用,将聚合数据和多维分析数据展示到报表,提供了最为简单和直观的数据。
    即时查询
    理论上数据仓库的所有数据(包括细节数据、聚合数据、多维数据和分析数据)都应该开放即时查询,即时查询提供了足够灵活的数据获取方式,用户可以根据自己的需要查询获取数据。
    2. 数据分析
    数据分析大部分基于构建的业务模型展开,当然也可以使用聚合的数据进行趋势分析、比较分析、相关分析等,而多维数据模型提供了多维分析的数据基础;同时从细节数据中获取一些样本数据进行特定的分析也是较为常见的一种途径。
    3. 数据挖掘
    数据挖掘用一些高级的算法可以让数据展现出各种令人惊讶的结果。数据挖掘可以基于数据仓库中已经构建起来的业务模型展开,但大多数时候数据挖掘会直接从细节数据上入手,而数据仓库为挖掘工具诸如 SAS、SPSS 等提供数据接口。

九、数据仓库、数据集市和操作数据存储

尽管它们执行相似的角色,但数据仓库与数据集市和操作数据存储 (ODS) 不同。数据集市执行与数据仓库相同的功能,但范围更有限——通常是单个部门或业务线。这使得数据集市比数据仓库更容易建立。但是,它们往往会引入不一致,因为在众多数据集市中统一管理和控制数据可能很困难。

ODS 仅支持日常操作,因此他们对历史数据的查看非常有限。尽管它们作为当前数据的来源工作得很好,并且经常被数据仓库使用,但它们不支持历史丰富的查询。

十、数据仓库和 OLTP 系统有很大不同

数据仓库的相关概念和发展历程插图(2)

十一、什么是云数据仓库?

云数据仓库使用云来摄取和存储来自不同数据源的数据。

原始数据仓库是使用本地服务器构建的。这些本地数据仓库今天仍然具有许多优势。在许多情况下,它们可以   提供更好的治理、安全性、数据主权和更好的延迟。但是,本地数据仓库没有那么灵活,它们需要复杂的预测来确定如何扩展数据仓库以满足未来的需求。管理这些数据仓库也可能非常复杂。

另一方面,云数据仓库的一些优势包括:

  1. 对大型或可变计算或存储要求的弹性横向扩展支持
  2. 使用方便
  3. 易于管理
  4. 节约成本

最好的云数据仓库是完全托管和自动驾驶的,确保即使是初学者也只需点击几下即可创建和使用数据仓库。开始迁移到云数据仓库的一种简单方法是在符合数据主权和安全要求的数据中心防火墙后面运行本地云数据仓库。

十二、什么是现代数据仓库?

无论他们是 IT、数据工程、业务分析还是数据科学团队的一部分,组织中的不同用户对数据仓库都有不同的需求。

现代数据架构通过提供一种管理所有数据类型、工作负载和分析的方法来满足这些不同的需求。它由架构模式和必要的组件集成在一起,以符合行业最佳实践。现代数据仓库包括:

一个融合数据库,可简化所有数据类型的管理并提供不同的数据使用方式。

  1. 自助数据摄取和转换服务
  2. 支持 SQL、机器学习、图形和空间处理
  3. 多种分析选项,无需移动即可轻松使用数据
  4. 用于简单配置、扩展和管理的自动化管理

十三、数据湖

组织使用数据湖和数据仓库来处理来自各种来源的大量数据。何时使用一种或另一种的选择取决于组织打算如何处理数据。下面描述了如何最好地使用它们:

数据湖存储大量不同的、未经过滤的数据,以供以后用于特定目的。来自业务线应用程序、移动应用程序、社交媒体、物联网设备等的数据被捕获为数据湖中的原始数据。各种数据集的结构、完整性、选择和格式是在分析时由进行分析的人得出的。当组织需要低成本存储来自多个来源的未格式化、非结构化数据并打算在未来用于某种目的时,数据湖可能是正确的选择。

数据仓库专门用于分析数据。数据仓库中的分析处理是对已准备好进行分析的数据执行的——收集、上下文化和转换——目的是生成基于分析的见解。数据仓库还擅长处理来自各种来源的大量数据。当组织需要高级数据分析或利用来自整个企业的多个来源的历史数据进行分析时,数据仓库可能是正确的选择。

十四、准备区

在构建数据仓库时,数据源位于一服务器上,数据仓库在另一服务器端,数据源Server端访问频繁,并且数据量大,需要不断更新。

因此可以建立准备区数据库,将数据抽取到准备区中,并基于准备区中的数据进行处理。

这样处理的好处是防止了在原OLTP系统中中频繁访问,进行数据运算或排序等操作。例如我们可以按照天将数据抽取到准备区中,基于数据准备区,我们将进行数据的转换,整合,将不同数据源的数据进行一致性处理。数据准备区中将存在原始抽取表,一些转换中间表和临时表以及ETL日志表等。