OLTP数据转换到OLAP数据仓库
转换 OLTP 数据使其在 OLAP 系统中提供可接受的性能,这种转换需要执行下列过程:
必须能够将特定项目(产品、顾客、职员)的全部相关信息从多个 OLTP 系统合并到一个 OLAP 系统。合并过程必须解决不同 OLTP 系统间的编码差别问题。例如,一个系统可能为每个职员指派一个 ID,而其它系统没有职员 ID。合并过程必须能够匹配两个系统中的常用职员数据,这多半可通过比较职员姓名和地址实现。合并过程还必须能够将各 OLTP 系统中使用不同数据类型存储的数据转换成在某个 OLAP 系统中使用的单一数据类型。您也必须选择 OLTP 系统中的哪些列与 OLAP 系统无关,并将这些列排除在合并过程外。
为 OLAP 系统提供输入数据的系统并不局限于传统的、位于中央位置的 OLTP 系统。重要的信息可以存储在多个遗留位置上,有些情况下甚至可以在文件共享上存储相对较小的数据源,如 Microsoft® Excel 电子表格。
将 OLTP 数据合并到数据仓库中后,便提供了一个清理数据的机会。您可能会发现不同的 OLTP 系统以不同的方式拼写项目,或者合并过程可能没有覆盖以前不知道的拼写错误。还可能发现其它的不一致,例如同一商店、职员或顾客的地址不同。在可以将数据装载到数据仓库中供 OLAP 系统使用之前,必须找出这些不一致。
OLTP 数据记录所有的事务详细信息。OLAP 查询通常需要汇总数据或是已以某种方式聚合的数据。例如,如果数据库只包含显示每种产品每天或每小时销售额的汇总行,则查询只用检索过去一年中每种产品的月销售总额,这比必须扫描过去一年中每个事务的详细记录要快得多。
对数据仓库内数据的聚合程度取决于许多设计因素,如 OLAP 查询的速度要求和分析所要求的粒度级。例如,如果将销售额详细信息汇总到每日汇总中,而不是每小时汇总中,OLAP 查询将会运行得更快,但是只有当不需要分析每小时的销售额时才可以这么做。
关系 OLTP 数据的组织方式增加了分析处理的难度且很耗时。当将 OLTP 数据移入数据仓库时,必须对其结构进行转换,使之能够更好地支持决策支持分析。生成数据仓库的过程涉及将存储在关系表中的 OLTP 数据重组为存储在多维数据集中的数据。
转换阶段和数据仓库组件
通过 OLAP 应用程序使数据可用的过程一般经过下列三个阶段:
将数据从 OLTP 或遗留数据源析取到中间存储区域中。
将数据转换为更适合在 OLAP 系统中使用的格式。这涉及数据清理和聚合等操作。
将数据装载到数据仓库或数据集市中。
从 OLTP 和遗留数据源中析取数据并将其转换到仓库服务器中的过程称为 ETL 过程,通常定期运行,如每周一次或每月一次。
一旦将数据装载到数据仓库中,OLAP 系统的一个重要职能便是为决策者提供在数据仓库和数据集市中访问和分析数据的便利。
OLTP 数据库和其它遗留数据源,其内包含的数据必须转换为数据仓库和数据集市中的 OLAP 数据。
组合的数据存储区和对 OLTP 数据进行存储、清理并转换为有用的 OLAP 数据的过程。
仓库服务器是运行包含数据仓库和数据集市数据的关系数据库的计算机,以及运行管理 OLAP 数据的服务器的计算机。
用于查询 OLAP 数据并向企业决策者提供报表和信息的成套工具和应用程序。
不同 OLAP 组件中的数据和应用程序的结构模型。元数据描述 OLTP 数据库中的表、数据仓库和数据集市中的多维数据集这类对象,还记录哪些应用程序引用不同的记录块。