数据库应用程序有两种主要类型:在线事务处理(online transactional processing,OLTP)和数据仓库,数据仓库包括在线分析处理(online analytical processing,OLAP)和数据挖掘应用程序。DB2 9 同时适用于这两种应用程序。OLTP 系统与业务智能(Business Intelligence,BI)数据仓库系统的区别是什么?区别在于访问数据的典型查询。
OLTP 系统可能是一个 Web 订购系统,可以通过 Web 执行交易(比如购买产品)。这些应用程序的特征是进行细粒度的单行查询,可能更新少量的记录。与之相反,BI 类型的查询执行大型的表扫描,因为它们尝试在大量数据中寻找数据模式。如果要求您汇总西部地区的所有销售,这就是仓库查询。
简单地说,OLTP 是简短的查询,而 BI 是对大量数据进行搜索和汇总以便进行报告。当然,实际情况不只如此,但是现在您知道这么多就够了。
包含操作性数据 (运行企业的日常交易的数据)的系统是 OLTP 系统。但是,这些系统包含企业分析师用来了解企业运营情况的信息。例如,他们可以查看某一时间段内在某个地区销售出了哪些产品。这有助于识别异常情况或对未来的销售进行规划。
但是,如果分析师直接访问操作性(OLTP)数据来进行报告和其他 BI 活动,就会有几个问题:
- 他们可能没有查询操作性数据库的专业经验。一般来说,有查询操作性数据库的专业经验的程序员会负责全职地维护数据库及其应用程序。
- 性能对于许多操作性数据库来说非常重要,比如用来处理银行事务的数据库。这些系统不能应付用户对操作性数据存储进行特殊的查询。例如,考虑在线支付帐单的情况。在选择 OK 时,处理支付常常只需要花费几秒。现在,假设一个银行分析师试图查明某个现有的顾客群花费了多少钱。这个分析师运行一个非常复杂的查询,导致您的银行事务现在要花费 30 秒才能完成!显然,这样的性能是不可接受的(这可不是分析师希望的结果)。因此,操作性数据存储和报告性数据存储(包括 OLAP 数据库)一般是分开的。
但是,在过去几年里,报告性数据存储已经倾向于变得具有伪操作性和及时性。这种存储称为操作数据存储(ODS)或活跃数据 仓库。例如,考虑电信行业的情况。ODS 在这些电信运营公司中很流行,因为他们需要尽可能快地识别出恶意欠费的情况。DB2 是少数几种同时适合操作性和报告性工作负载的数据库。
- 操作性数据一般没有采用最适合业务分析师使用的格式。与原始的事务数据相比,按照产品、地区和季节汇总的销售数据对于分析师要有用得多。
数据仓库 解决了这些问题。在数据仓库中可以存储信息性数据 —— 这些数据是从操作性数据中提取出来的,然后为帮助最终用户决策进行了转换和清理。例如,数据仓库工具可能会复制操作性数据库中的所有销售数据,执行计算来汇总数据,并将汇总的数据写入一个与操作性数据库分开的数据库中。最终用户可以查询这个独立的数据库(仓库),而不会影响 OLTP 数据库。
用于数据仓库的 DB2 产品
DB2 是为帮助实现业务智能化而设计的。DB2 不但是世界上可伸缩性最好的数据库,它还有一套健壮的业务智能化功能。DB2 有两个 Data Warehouse Editions(DB2 DWE),以低廉的价格提供一整套数据仓库工具。这些工具的一部分可以在 DB2 DWE 之外单独购买,其他工具只能通过 DB2 DWE 包获得。DB2 DWE 分为 Base 和 Enterprise 两个版本。
DB2 DWE 是在强大的 DB2 Enterprise 9 产品上构建的并扩展了它的功能,提高了数据仓库和分析特性的性能和易用性,帮助进行实时探察和决策的用户获得需要的信息。DB2 DWE 特性包括用于仓库管理、分析应用程序开发、OLAP、数据挖掘以及超大型数据库(VLDB)查询和资源管理的工具。
DB2 DW Enterprise Edition 中包含的产品有:
DB2 Enterprise
DB2 Data Partitioning 特性
这个特性允许在单一服务器上或者跨服务器集群对数据库进行分区。DB2 Data Partitioning 为企业提供了支持超大型数据库(这是数据仓库环境中的常见情况)所需的可伸缩性,并可以处理涉及复杂工作负载和高并行性的管理任务。这个特性可以在 DB2 DWE 产品之外单独购买。
DB2 Data Warehouse Edition Design Studio
DWE Design Studio 是通过包含和扩展一些基于 Eclipse 的 Rational Data Architect(RDA)建模功能形成的,这是一个针对 BI 解决方案的开发环境。Design Studio 将以下任务集成在一个统一的图形化环境中:物理数据建模(RDA)、DB2 基于 SQL 的仓库构造、OLAP 多维数据集建模和数据挖掘建模。
这个设计工具使设计人员能够连接源数据库和目标数据库、对物理数据模型进行反向工程、构建 DB2 基于 SQL 的数据流和挖掘流、设置 OLAP 多维数据集以及准备将应用程序部署到运行时系统上。因为它是基于 Eclipse 框架的,这个工具看起来与 DB2 Developer Workbench 相似。
SQL Warehousing Tool
为了支持端到端业务智能化解决方案,DB2 DWE 提供了用于仓库构建和维护的基础设施,包括用于应用程序设计、部署、执行和管理的工具。
SQL Warehousing Tool 解决了 DB2 数据仓库环境中的数据集成问题。用户可以对高层操作的逻辑流进行建模,这会产生组织在执行计划中的代码单元。这个工具提供一个元数据系统和 IDE 来创建、编辑和管理这些流,还提供一个能够理解源图并将它转换为优化的 SQL 代码的代码生成系统。当流的开发完成时,这个系统的第二个部分就要发挥作用了:将生成的代码以及相关联的工件打包成一个数据仓库应用程序,这个应用程序可以部署在各种目标运行时系统中。
数据仓库应用程序开发人员和架构师可以使用 Design Studio 来创建:
- 源和目标数据库和表的物理数据模型。
- 代表数据通过转换步骤进入目标数据库中的转移过程的数据流。例如:
- SQL 数据流,它们使用 DB2 仓库构建操作的 SQL 处理功能对来自关系表、平面文件等来源的数据进行处理
- 挖掘流,它们将关键的数据挖掘操作集成到基于 SQL 的模型中
- 将可选的 DataStage ETL 作业作为子流集成的 SQL 数据流
- 控制流,它们决定一组相关数据流的次序并为执行这些数据流定义处理规则。
- 部署包,它们包含构成完整应用程序的所有文件和参数,可以进行安装和执行。
可以使用 DB2 Data Warehouse Edition 作为运行引擎,使用 IBM WebSphere® Application Server 软件提供控制和调度功能,从而执行和管理控制流。WebSphere Application Server 为数据仓库应用程序提供运行时部署环境。管理员可以从 Web 客户计算机运行基于浏览器的 Data Warehouse Edition Administration Console 来访问 WebSphere。
DB2 Data Warehouse Edition Administration Console
DB2 DWE Administration Console 是一个用于管理和监视 BI 应用程序的基于 Web 的应用程序。安装在 WebSphere Application Server 上之后,DWE Administration Console 使用 Web 客户机访问和部署在 DWE 中建模和设计的数据仓库应用程序。这个控制台使用 WebSphere 安全模型,使用户能够以管理员、经理和操作员的角色从统一的控制台页面执行各种管理任务。这个控制台支持 5 类功能:
- DWE Common:创建数据源并为 OLAP 和挖掘启用数据库。
- SQL Warehousing:部署、调度和监视在 Design Studio 中创建的数据仓库应用程序。访问与进程相关联的统计数据和日志并排除运行时故障。
- OLAP:导入和导出多维数据集模型、使用 OLAP 优化器并显示多维数据集模型的元数据内容,比如它的表、联结、度量和属性。
- Mining:查看、导出、更新和删除挖掘数据库中的模型。还可以将挖掘模型导入到数据库中以及将模型装载进缓存中。这个挖掘可视化工具可以提供挖掘模型的图形化表示。
- Alphablox:启动本机的 Alphablox Administration 工具。
DB2 Data Warehouse Edition OLAP Acceleration
以前称为 DB2 Cube Views。通过使用 DWE Design Studio 和 Administration Console 中的 OLAP 功能,用户可以创建、操作、优化、部署、导入或导出多维数据集模型、多维数据集和在 OLAP 分析中使用的其他元数据对象。DWE Design Studio 提供了容易使用的向导和窗口来帮助用户处理 OLAP 元数据。
DB2 Data Warehouse Edition Data Mining
通过使用 DB2 DWE 数据挖掘特性,可以发现数据中隐藏的关系,而不需要将数据导出到特殊的数据挖掘计算机上或者借助于少量数据样本。DB2 DWE 为一些建模操作提供了 DB2 扩展:市场篮分析、市场分割、分析等等。
DB2 Data Warehouse Edition Data Visualization Feature
用来显示创建的挖掘模型。
DB2 Alphablox analytics
DB2 Alphablox 提供了快速创建基于 Web 的定制应用程序的能力,使应用程序能够适应公司的基础设施并能够为公司防火墙内外的用户服务。用 DB2 Alphablox 构建的应用程序在标准 Web 浏览器中运行,允许从客户计算机执行实时的高度可定制的多维分析。DB2 Alphablox 与 DWE Cube Views 紧密集成,DWE Cube Views 提供常用的元数据并为 Alphablox 多维分析进行数据库优化。
DB2 Data Warehouse Edition Query Workload Management Feature
DB2 Query Patroller 是 DWE 的查询工作负载管理特性。这个产品也可以在 DB2 DWE 包之外单独购买。DB2 Query Patroller 是一个强大的查询管理系统,可以使用它以下面的方式前瞻性地动态控制 DB2 数据库的查询流:
- 为不同规模的查询定义不同的查询类,从而更好地在查询之间分享系统资源并防止较小的查询被大型查询阻断。
- 给某些用户提交的查询设置高优先级,让这些查询可以更早地运行。
- 自动地识别大型查询,这样就可以取消它们或者将它们调度到低谷时间段运行。
- 跟踪和取消长时间运行的查询。
DB2 Query Patroller 的特性使您能够控制数据库的查询负载,让小型查询和高优先级的查询可以快速运行,并让系统资源得到高效利用。
还可以收集和分析关于已经完成的查询的信息,从而判断查询、高负载用户以及常用表和索引中的趋势。管理员可以使用 DB2 Query Patroller:
- 在系统级和用户级设置资源使用策略。
- 通过取消或重新调度那些影响数据库性能的查询,动态地监视和管理系统的资源使用。
- 生成有助于识别数据库使用情况趋势的报告,比如访问了哪些对象以及哪些用户和用户组产生的工作负载最大。
- 查询提交者可以使用 DB2 Query Patroller 监视他们提交的查询;存储查询结果供以后检索或重用,这实际上可以避免提交重复的查询;设置各种首选项来优化他们的查询提交,比如在查询完成时是否希望接收电子邮件通知。