1.1什么是数据仓库

数据 仓库是一个databas旨在实现商业智能活动:旨在帮助用户了解和增强其组织的绩效。它专为查询和分析而不是事务处理而设计,通常包含从事务数据派生的历史数据,但可以包含来自其他来源的数据。数据仓库将分析工作负载与事务工作负载分开,并使组织能够合并来自多个源的数据。这有助于:

维护历史记录

分析数据以更好地了解业务并改善业务

除了关系数据库之外,数据仓库环境还可以包括提取,传输,转换和加载(ETL)解决方案,统计分析,报告,数据挖掘功能,客户端分析工具以及管理数据收集过程的其他应用程序。 ,将其转化为有用的,可操作的信息,并将其交付给业务用户。

为了实现增强商业智能的目标,数据仓库使用从多个源收集的数据。源数据可能来自内部开发的系统,购买的应用程序,第三方数据聚合器和其他来源。它可能涉及交易,生产,营销,人力资源等。在当今的大数据世界中,数据可能是网站上数十亿次点击,或者来自内置于复杂机器中的传感器的大量数据流。

数据仓库与在线事务处理(OLTP)系统不同。使用数据仓库,您可以将分析工作负载与事务工 因此,数据仓库是非常面向读取的系统。与写入和更新相比,它们具有更高的数据读取量。这样可以实现更好的分析性能,并避免影响您的事务系统。可以优化数据仓库系统,以整合来自多个来源的数据,以实现关键目标:它成为您组织的“单一事实来源”。拥有所有用户可以关注的一致数据源是非常有价值的; 它可以防止许多争议并提高决策效率。

数据仓库通常存储数月或数年的数据以支持历史分析。数据仓库中的数据通常通过来自多个数据源的提取,转换和加载(ETL)过程加载。现代数据仓库正朝着提取,加载,转换(ELT)架构发展,其中所有或大多数数据转换都在托管数据仓库的数据库上执行。重要的是要注意,定义ETL过程是数据仓库设计工作的很大一部分。同样,ETL操作的速度和可靠性是数据仓库启动和运行后的基础。

数据仓库的用户执行通常与时间相关的数据分析。例如,包括去年的销售数据,库存分析以及按产品和客户分类的利润。但是时间关注与否,用户希望他们认为合适的数据“切片和切块”,而设计良好的数据仓库将足够灵活以满足这些需求。用户有时需要高度聚合的数据,有时他们需要深入了解详细信息。更复杂的分析包括趋势分析和数据挖掘,它们使用现有数据来预测趋势或预测未来。数据仓库充当中间件商业智能环境使用的底层引擎,为最终用户提供报告,仪表板和其他界面。

虽然上面的讨论集中在术语“数据仓库”上,但还有两个重要的术语需要提及。这些是数据集市和操作数据存储(ODS)。

数据集市与数据仓库具有相同的作用,但其范围有限。它可以服务于某个特定部门或业务线。数据集市与数据仓库的优势在于,由于其有限的覆盖范围,它可以更快地创建。但是,数据集市也会产生不一致的问题。在数据集市中保持数据和计算定义一致需要严格的纪律。这个问题已被广泛认可,因此数据集市有两种风格。独立数据集市是直接从源数据馈送的数据集市。他们可以变成信息不一致的岛屿。从属数据集市从现有数据仓库提供。依赖数据集市可以避免不一致的问题,但它们要求已经存在企业级数据仓库。

存在操作数据存储以支持日常操作。ODS数据被清理和验证,但它在历史上并不深刻:它可能只是当天的数据。ODS不是支持数据仓库可以处理的历史丰富的查询,而是为数据仓库提供了访问最新数据的位置,这些数据尚未加载到数据仓库中。ODS还可以用作加载数据仓库的源。随着数据仓库加载技术变得更加先进,数据仓库可能不再需要ODS作为加载数据的源。相反,恒定的涓流进给系统可以近乎实时地加载数据仓库。

引入数据仓库的常用方法是参考William Inmon提出的数据仓库的特征:

主题导向

集成

非易失

时间变化

主题导向

数据仓库旨在帮助您分析数据。例如,要了解有关公司销售数据的更多信息,您可以构建专注于销售的数据仓库。使用此数据仓库,您可以回答诸如“去年谁是我们这个项目的最佳客户?”之类的问题。或“明年谁有可能成为我们最好的客户?” 这种按主题定义数据仓库的能力,在这种情况下是销售,使数据仓库面向主题。

集成

整合与学科定位密切相关。数据仓库必须将来自不同来源的数据放入一致的格式。他们必须解决诸如命名冲突和计量单位之间的不一致之类的问题。当他们实现这一目标时,他们被认为是整合的。

非易失

非易失性意味着, 一旦进入数据仓库,数据就不应该改变。这是合乎逻辑的,因为数据仓库的目的是使您能够分析发生的情况。

时间变化

数据仓库专注于随时间的变化是术语时变的意思。为了发现趋势并识别业务中隐藏的模式和关系,分析师需要大量数据。这与在线事务处理(OLTP)系统形成鲜明对比,后者的性能要求要求将历史数据移动到存档。

1.1.1数据仓库的主要特征

凯数据仓库的特征如下:

数据的结构简化了访问和高速查询性能。

最终用户是时间敏感的,并且渴望思考速度的响应时间。

使用大量历史数据。

查询通常会检索大量数据,可能是数千行。

预定义和即席查询都很常见。

数据加载涉及多个源和转换。

通常,具有高数据吞吐量的快速查询性能是成功数据仓库的关键。

1.2对比OLTP和数据仓库环境
OLTP系统和数据仓库之间存在重要差异。系统类型之间的一个主要区别是数据仓库不仅仅是第三范式(3NF),这是OLTP环境中常见的一种数据规范化。

数据仓库和OLTP系统有着非常不同的要求。以下是典型数据仓库和OLTP系统之间差异的一些示例:

工作量

数据仓库旨在适应即席查询和数据分析。您可能不会提前知道数据仓库的工作负载,因此应优化数据仓库以便在各种可能的查询和分析操作中良好运行。

OLTP系统仅支持预定义的操作。您的应用程序可能经过专门调整或设计为仅支持这些操作。

数据修改

ETL过程(每晚或每周运行)使用批量数据修改技术定期更新数据仓库。数据仓库的最终用户不会直接更新数据仓库,除非使用分析工具(如数据挖掘)来预测相关概率,将客户分配到细分市场并开发客户档案。

在OLTP系统中,最终用户会定期向数据库发出单独的数据修改语句。OLTP数据库始终是最新的,并反映每个业务事务的当前状态。

架构设计

数据仓库通常使用部分非规范化模式来优化查询和分析性能。

OLTP系统通常使用完全规范化的模式来优化更新/插入/删除性能,并保证数据的一致性。

典型的操作

典型的数据仓库查询扫描数千或数百万行。例如,“查找上个月所有客户的总销售额”。

典型的OLTP操作只访问少数记录。例如,“检索此客户的当前订单”。

历史数据

数据仓库通常存储数月或数年的数据。这是为了支持历史分析和报告。

OLTP系统通常只存储数周或数月的数据。OLTP系统仅根据需要存储历史数据,以成功满足当前事务的要求。

1.3通用数据仓库任务
作为一个O.racle数据仓库管理员或设计人员,您可以期望参与以下任务:

配置Oracle数据库以用作数据仓库

设计数据仓库

将数据库和数据仓库软件升级到新版本

管理模式对象,例如表,索引和物化视图

管理用户和安全性

开发用于提取,转换和加载(ETL)过程的例程

根据数据仓库中的数据创建报告

备份数据仓库并在必要时执行恢复

监控数据仓库的性能并根据需要采取预防或纠正措施

在中小型数据仓库环境中,您可能是执行这些任务的唯一人员。在大型企业环境中,作业通常分为几个DBA和设计人员,每个人都有自己的专长,例如数据库安全性或数据库调优

猜你喜欢

转载自blog.51cto.com/9100067/2341427