数据仓库架构、组件和图表概念
数据仓库概念
数据仓库的基本概念是为公司提供一个单一的真实版本,以用于决策和预测。数据仓库是一个信息系统,包含来自单个或多个来源的历史和累积数据。数据仓库概念简化了组织的报告和分析过程。
数据仓库的特点
数据仓库概念具有以下特点
- 面向主题
- 集成
- 时变性
- 非易失性
面向主题
数据仓库是面向主题的,因为它提供的是关于某个主题的信息,而不是公司的日常运营。这些主题可以是销售、营销、分销等。
数据仓库从不关注日常运营。相反,它侧重于数据建模和分析以支持**决策**。它还通过排除无助于支持决策过程的数据,围绕特定主题提供简单而简洁的视图。
集成
在数据仓库中,集成意味着为来自不同数据库的所有相似数据建立一个共同的度量单位。数据还需要以通用和普遍接受的方式存储在数据仓库中。
数据仓库是通过集成来自各种来源(如大型机、关系数据库、平面文件等)的数据而开发的。此外,它必须保持一致的命名约定、格式和编码。
这种集成有助于有效的数据分析。必须确保命名约定、属性度量、编码结构等的一致性。考虑以下示例
在上述示例中,有三个不同的应用程序,标记为 A、B 和 C。这些应用程序中存储的信息是性别、日期和余额。但是,每个应用程序的数据存储方式都不同。
- 在应用程序 A 中,性别字段存储逻辑值,如 M 或 F
- 在应用程序 B 中,性别字段是数值,
- 在应用程序 C 中,性别字段以字符值的形式存储。
- 日期和余额的情况也一样。
然而,经过转换和清洗过程后,所有这些数据都以通用格式存储在数据仓库中。
时变性
与操作性系统相比,数据仓库的时间范围相当广泛。数据仓库中收集的数据与特定时期相关联,并从历史角度提供信息。它包含一个时间元素,无论是显式的还是隐式的。
数据仓库数据显示时间变化的一个地方是在记录键的结构中。DW 中包含的每个主键都应该隐式或显式地包含一个时间元素。例如,日、周、月等。
时间变化的另一个方面是,一旦数据插入到数据仓库中,就不能更新或更改。
非易失性
数据仓库也是非易失性的,这意味着当新数据输入时,旧数据不会被删除。
数据是只读的,并定期刷新。这也有助于分析历史数据并了解发生了什么以及何时发生。它不需要事务处理、恢复和并发控制机制。
在操作应用程序环境中执行的删除、更新和插入等活动在数据仓库环境中被省略。数据仓库中只执行两种类型的数据操作
- 数据加载
- 数据访问
以下是应用程序和数据仓库之间的一些主要区别
操作性应用程序 | 数据仓库 |
---|---|
必须编写复杂的程序,以确保数据升级过程保持最终产品的高度完整性。 | 不会发生此类问题,因为不执行数据更新。 |
数据以规范化形式放置,以确保最小冗余。 | 数据不以规范化形式存储。 |
支持事务、数据恢复、回滚和解决死锁等问题的技术非常复杂。 | 它在技术方面提供了相对的简单性。 |
数据仓库架构
由于数据仓库是一个包含来自多个来源的历史和累积信息系统,因此**数据仓库架构**很复杂。构建数据仓库层有 3 种方法:单层、两层和三层。数据仓库的 3 层架构解释如下。
单层架构
单层的目标是最小化存储的数据量。这个目标是为了消除数据冗余。这种架构在实践中不常使用。
两层架构
两层架构是数据仓库层之一,它将物理可用来源和数据仓库分开。这种架构不可扩展,也不支持大量最终用户。由于网络限制,它也存在连接问题。
三层数据仓库架构
这是最广泛使用的数据仓库架构。
它由顶层、中间层和底层组成。
- 底层:数据仓库的数据库作为底层。它通常是一个关系数据库系统。数据通过后端工具进行清洗、转换并加载到此层。
- 中间层:数据仓库中的中间层是使用 ROLAP 或 MOLAP 模型实现的 OLAP 服务器。对于用户而言,此应用程序层呈现数据库的抽象视图。此层还充当最终用户和数据库之间的媒介。
- 顶层:顶层是前端客户端层。顶层是您连接并从数据仓库获取数据的工具和 API。它可以是查询工具、报告工具、受管查询工具、分析工具和数据挖掘工具。
数据仓库组件
我们将通过如下图所示的图表来学习数据仓库组件和数据仓库架构
数据仓库基于 RDBMS 服务器,它是一个中央信息存储库,周围环绕着一些关键的数据仓库组件,以使整个环境功能化、可管理和可访问。
数据仓库主要有五个组成部分
数据仓库数据库
中央数据库是数据仓库环境的基础。此数据库在 RDBMS 技术上实现。尽管如此,这种实现受到传统 RDBMS 系统针对事务数据库处理而非数据仓库优化的事实的限制。例如,即席查询、多表连接、聚合是资源密集型且会降低性能。
因此,使用如下列出的替代数据库方法-
- 在数据仓库中,关系数据库并行部署以实现可扩展性。并行关系数据库还允许在各种多处理器配置或大规模并行处理器上使用共享内存或无共享模型。
- 使用新的索引结构来绕过关系表扫描并提高速度。
- 使用多维数据库 (MDDB) 来克服关系数据仓库模型造成的任何限制。示例:Oracle 的 Essbase。
数据源获取、采集、清理和转换工具 (ETL)
数据源获取、转换和迁移工具用于执行所有转换、汇总以及将数据转换为数据仓库中统一格式所需的所有更改。它们也称为提取、转换和加载 (ETL) 工具。
其功能包括
- 根据法规要求匿名化数据。
- 从操作数据库中消除不需要的数据,以加载到数据仓库中。
- 搜索和替换来自不同来源的数据的通用名称和定义。
- 计算摘要和派生数据
- 在数据丢失的情况下,用默认值填充它们。
- 对来自多个数据源的重复数据进行去重。
这些提取、转换和加载工具可能会生成 cron 作业、后台作业、Cobol 程序、shell 脚本等,这些作业会定期更新数据仓库中的数据。这些工具还有助于维护元数据。
这些ETL 工具必须应对数据库和数据异构性的挑战。
元数据
元数据这个名称暗示了一些高层次的数据仓库概念。然而,它非常简单。元数据是关于数据的数据,它定义了数据仓库。它用于构建、维护和管理数据仓库。
在数据仓库架构中,元数据扮演着重要的角色,因为它指定了数据仓库数据的来源、用途、值和特征。它还定义了数据如何更改和处理。它与数据仓库紧密相连。
例如,销售数据库中的一行可能包含
4030 KJ732 299.90
在查阅元数据之前,这些数据毫无意义,元数据会告诉我们它是
- 型号:4030
- 销售代理 ID:KJ732
- 总销售额 299.90 美元
因此,元数据是将数据转化为知识的基本要素。
元数据有助于回答以下问题
- 数据仓库包含哪些表、属性和键?
- 数据来自哪里?
- 数据重新加载了多少次?
- 清洗时应用了哪些转换?
元数据可分为以下几类
- 技术元数据:这种元数据包含有关数据仓库的信息,供数据仓库设计人员和管理员使用。
- 业务元数据:这种元数据包含详细信息,使最终用户能够轻松理解存储在数据仓库中的信息。
查询工具
数据仓库的主要目标之一是为企业提供信息以制定战略决策。查询工具允许用户与数据仓库系统交互。
这些工具分为四种不同的类别
- 查询和报告工具
- 应用程序开发工具
- 数据挖掘工具
- OLAP 工具
1. 查询和报告工具
查询和报告工具可进一步细分为
- 报告工具
- 受管查询工具
报告工具
报告工具可进一步细分为生产报告工具和桌面报告编写器。
- 报告编写器:这类报告工具是为最终用户分析而设计的工具。
- 生产报告:这类工具允许组织生成定期运营报告。它还支持高容量的批处理作业,如打印和计算。一些流行的报告工具包括 Brio、Business Objects、Oracle、PowerSoft、SAS Institute。
受管查询工具
这种访问工具通过在用户和数据库之间插入元层来帮助最终用户解决数据库和 SQL 以及数据库结构中的障碍。
2. 应用程序开发工具
有时,内置的图形和分析工具无法满足组织的分析需求。在这种情况下,可以使用应用程序开发工具开发自定义报告。
3. 数据挖掘工具
数据挖掘是通过挖掘大量数据来发现有意义的新相关性、模式和趋势的过程。数据挖掘工具用于使此过程自动化。
4. OLAP 工具
这些工具基于多维数据库的概念。它允许用户使用精心设计和复杂的多维视图来分析数据。
数据仓库总线架构
数据仓库总线决定了数据在仓库中的流动。数据在数据仓库中的流动可分为流入、上流、下流、流出和元流。
在设计数据总线时,需要考虑跨数据市集的共享维度和事实。
数据市集
数据市集是一个访问层,用于将数据提供给用户。它被视为大型数据仓库的一个选项,因为它构建所需的时间和金钱更少。然而,数据市集没有标准定义,因人而异。
简单来说,数据市集是数据仓库的子公司。数据市集用于为特定用户组创建数据分区。
数据市集可以在与数据仓库相同的数据库中创建,也可以在物理上独立的数据库中创建。
数据仓库架构最佳实践
要设计数据仓库架构,您需要遵循以下最佳实践
- 使用针对信息检索进行优化的数据仓库模型,可以是维度模式、非规范化或混合方法。
- 在数据仓库中选择合适的设计方法,如自上而下和自下而上方法
- 需要确保数据处理快速准确。同时,您应该采用一种将数据整合为单一事实来源的方法。
- 仔细设计数据仓库的数据采集和清洗过程。
- 设计允许数据仓库组件之间共享元数据的元数据架构
- 当信息检索需求接近数据抽象金字塔底部时,或者当需要访问多个操作源时,考虑实施 ODS 模型。
- 应确保数据模型是集成的,而不仅仅是合并的。在这种情况下,应考虑 3NF 数据模型。它也是获取 ETL 和数据清洗工具的理想选择
摘要
- 数据仓库是一个信息系统,包含来自单个或多个来源的历史和累积数据。这些来源可以是传统数据仓库、云数据仓库或虚拟数据仓库。
- 数据仓库是面向主题的,因为它提供的是关于主题的信息,而不是组织的日常运营。
- 在数据仓库中,集成意味着为来自不同数据库的所有相似数据建立一个共同的度量单位
- 数据仓库也是非易失性的,这意味着当新数据输入时,旧数据不会被删除。
- 数据仓库具有时变性,因为数据仓库中的数据具有较长的保质期。
- 数据仓库架构主要有 5 个组件:1) 数据库 2) ETL 工具 3) 元数据 4) 查询工具 5) 数据市集
- 查询工具主要分为四类:1. 查询和报告工具,2. 应用程序开发工具,3. 数据挖掘工具 4. OLAP 工具
- 数据源获取、转换和迁移工具用于执行所有转换和汇总。
- 在数据仓库架构中,元数据扮演着重要的角色,因为它指定了数据仓库数据的来源、用途、值和特征。