Concept-第16章翻译

本文介绍了业务智能领域的核心概念和技术,包括数据仓库的设计原理、ETL流程、并行执行、位图索引、物化视图等关键技术。此外,还探讨了OLAP功能和数据挖掘在业务智能中的应用。

16        业务智能

这篇文章描述了在业务智能方面的一些基础概念

 

这篇文章主要包含下面的内容:

*数据仓库和业务智能的介绍

*抽取,转换,以及加载的概述

*数据仓库的物化视图的介绍

*在数据仓库中的位图索引的介绍

*并行执行的概述

*分析型SQL概述

*OLAP功能概述

*数据挖掘概述

 

数据仓库和业务智能的介绍

一个数据仓库是一个关系型数据库,这个数据库是设计用来查询和分析而不是为了事务的处理。数据仓库包含得自事务数据中的历史数据,但是数据仓库也能够包含一些来自其他数据源的数据。数据仓库将分析数据负载和事务处理负载分离,并且同时还能将来自多个数据源的数据融合一个整体。

除了关系型数据库,数据仓库环境包括抽取,传输,转换,以及加载(即ETL)方案,一个联机的分析处理(OLAP)引擎,客户分析工具,以及其他那些管理收集数据并且将数据递送到业务用户手中的过程的应用。

 

数据仓库的特征

介绍数据仓库的一般都会引用William Inmon阐明的一个数据仓库应该具备的特征

*面向主题的

*统一的

*永久的

*历史的

 

面向主题的

数据仓库是设计用来帮助分析数据的。例如;为了了解关于公司的销售情况,你需要创建一个以销售数据为中心的数据仓库。使用这个数据仓库,你能够回答象“去年在这销售方面谁是我们最好的客户”的问题。因为数据库仓库的定义是根据主题来创建的,在上面的例子中是销售为主题,从而使数据仓库是面向主题的。

 

统一的

完整性是和面向主题紧密结合的。数据仓库必须将来自不同的数据源的数据整和成为一个统一的格式。他们必须解决这样象命名冲突以及度量单位之间不一致的问题。当解决这些问题之后,数据仓库就可以说是统一的。

 

永久的

永久意味着:一旦进入数据仓库,数据不应该改变。这样做是合乎逻辑的因为一个数据仓库的目的就是使用户分析过去发生了什么。

 

历史的

为了能够发现在业务上的趋势,分析师们需要大量的数据。这个和联机事务处理(OLTP)系统完全相反,在OLTP中由于性能需求要求历史数据必须归档。一个数据仓库只关注在时间上数据的变化,所以数据仓库是历史的。

典型地,数据从一个或者多个联机事务处理(OLTP)数据库中流到一个基于每月,每周,每天基础上的数据仓库中去。数据在被加载到数据仓库中去之前需要存放在中转文件中,并且进行正常的处理的。数据仓库的容量一般在十GB到几TB之间。通常,大部分数据是被存放在一些少量的非常大的事实表中。

 

数据仓库和联机事务处理系统(OLTP)之间的不同

数据仓库和OLTP系统有非常不同的需求。下面是一些在典型的数据仓库和OLTP系统之间的不同:

负载

数据仓库是设计用来即席查询(ad hoc query)的需要。你可能预先不知道你的数据仓库的负载,所以数据仓库设计时需要考虑许多可能的查询操作来进行优化。

OLTP系统只支持预定义的操作。你的应用程序可能被有针对性的优化或者被设计为支持这些操作的。

 

数据变更

数据仓库使用批量数据更新的技术的ETL处理方式来周期地更新数据仓库中的数据。数据仓库的终端用户不能直接地更新数据。

OLTP系统中,终端用户经常性的对数据库执行单独的数据修改语句。OLTP数据库总是是实时的,并且反映每个业务事务当前的状态。

 

模式设计

数据仓库经常使用反范式模式或者部分反范式模式来优化查询性能。

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

 

典型操作

一个典型的数据仓库查询扫描成千或者成数百万的数量级的记录。例如;“查询上个月所有客户的总销售量”。

一个典型的OLTP操作只需要访问少量的记录。例如;“为一个客户获取当前的订单”。

 

历史数据

数据仓库通常存储许多个月,或者许多年的数据。这些数据是用来支持历史分析。

OLTP系统通常是只存储几周或者几个月的数据。OLTP系统根据需要只存储历史数据来成功地满足当前事务的需求。

 

数据仓库体系结构

数据仓库和数据的体系结构是根据一个机构的特定情况来设计的。一般的体系结构如下:

*数据仓库体系结构(基本型)

*数据仓库体系结构(使用中转区)

*数据仓库体系结构(使用中转区和数据集市)

 

数据仓库体系结构(基本型)

16-1显示了一个简单的数据仓库体系结构。终端用户通过数据仓库直接访问来自一些数据源的数据。

16-1 数据仓库体系结构

图中显示了一个数据仓库包含元数据,原始数据,汇总数据。进入数据仓库的数据来自几个数据源(操作型数据库及平面文件)以及来自终端用户(分析,报表,以及挖掘)的数据。

 

16-1中,一个数据仓库中包含来自传统OLTP系统中的元数据和原始数据,以及一个另外的数据种类,汇总数据。汇总数据在数据仓库中是非常有价值的因为这些汇总数据预先计算了需要长时间才能得到的结果。例如;一个典型的数据仓库查询是获取象8月销售情况类似的数据。

oracle中可以使用物化视图来存储汇总数据。

 

数据仓库体系结构(使用中转区)

16-2,用户在将操作型数据放入数据仓库之前需要清理和处理。尽管你可以在数据抽取过程中完成,但是大多数数据仓库是在中转区中进行此类操作。一个中转区能够简化计算汇总数据的过程,并且是一般的数据仓库管理简单化。图16-2 说明这个典型的体系结构:

图中显示了一个数据仓库包含元数据,原始数据,汇总数据。进入数据仓库的数据来自几个数据源(操作型数据库及平面文件)以及来自终端用户(分析,报表,以及挖掘)的数据。来自数据源的操作型数据首先进入一个中转区。

 

数据仓库体系结构(使用中转区和数据集市)

尽管在图16-2中的体系结构是较常见的体系结构,你可能想在你的组织结构中为不同的组自定义你的数据仓库体系结构。

通过加数据集市来为不同的组自定义你的数据仓库体系结构,这些数据集市是为不同的业务而单独设计的数据仓库系统。图16-3 所示的系统中,采购,销售和库存系统是单独分开的。在这个例子中,一个经济分析师可能想对采购和销售的数据进行分析。

 

16-3使用中转区和数据集市的数据仓库体系结构

图中显示了一个数据仓库包含元数据,原始数据,汇总数据。进入数据仓库的数据来自几个数据源(操作型数据库及平面文件)以及来自终端用户(分析,报表,以及挖掘)的数据。来自数据源的操作型数据首先进入一个中转区。

用户数据会根据业务的不同而被分开,比如;销售和采购。

 

抽取,,转换,及加载(ETL)概述

你需要经常地加载你的数据仓库以便数据仓库能够为业务分析提供方便。为了能够这样做,来自一个或者多个的操作型系统中的数据需要被抽取,然后复制到数据仓库中。从源系统中抽取数据并且将数据存放进数据仓库中去的过程一般被称为ETLETL代表抽取,转换,和加载。ETL这个缩写或许太过分简单了,因为它忽略了传输阶段并且暗示着这个过程中的其他每个阶段也是不同的。我们所提的整个过程,包括数据加载,作为ETL。你应该理解ETL是一个广义恶毒过程,不仅仅是这三个定义好的阶段。

ETL的任务和其中的方法已经被大家所熟知,并且ETL技术不仅仅用于数据仓库环境:任何一个企业的IT环境主要是由多个定制的应用程序和数据库系统组成的。数据已经在应用程序和数据库系统之间共享,试图集成应用程序和数据库系统,并且这些不同的系统所反映的也是相同的业务事实。数据共享工作通过类似于我们所说的ETL的机制来实现的。

数据仓库环境和数据共享相似都有交互数据的工作,但是数据仓库还有额外的工作任务就是需要将这些来自许多系统的数据集成,重构以及融合,从而为业务智能提供一个统一的信息平台。除此之外,在数据仓库环境中的数据量是非常大的。

ETL过程中发生了什么?在抽取数据阶段,需要的数据被鉴别出来并且从不同的数据源中抽取出来,这些数据源包括数据库系统和应用系统。通常,准确地鉴别出那些感兴趣的特定的数据子集是不可能的,因此会有一些多余的数据也被抽取出来,所以对相关数据的鉴别工作将在抽取数据工作之后做。依据源系统的容量(例如:操作系统资源),在数据抽取过程中一些数据转换的工作可能会发生。被抽取出来的数据量级会依据源系统和业务需求的不同,小到数KB,大到数GB。两个逻辑上相同的抽取所消耗的时间同样是由源系统和业务需求决定,时间跨越可能为天/小时,分钟甚至接近实时。例如在WEB服务日志文件能够在很短的时间段内很容易地会有数百MB的大小产生。

在抽取数据之后,这些数据将被物理地传输到目标系统中去或者为了更进一步的处理传输到中间系统中去。依据传输所选的方式的不同,一些转换工作也能够在传输阶段被处理掉。例如:一个通过网关直接访问一个远程目标系统的SQL语句可以合并两列数据作为SELECT语句的一部分。

如果在数据加载的过程中有任何的错误发生的话,这个错误将被记录下来并且原来的操作可以继续。

 

可传输的表空间

可传输的表空间是在两个数据库之间移动大量数据最快的方式。你能够在不同的计算机体系结构和不同的操作系统之间传输表空间。

在可传输表空间技术出现之前,最具伸缩性的数据传输机制是原始数据被存储在平面文件中再进行数据移动。这些以前的数据传输机制需要数据从源数据库中导出到平面文件中去,然后在传输之后,这些文件中的数据再被导入到目标数据库中去。而使用表空间传输可以完全跳过这个导出和导入两步。

使用表空间传输技术,oracle数据文件(包含表数据,索引以及几乎每个其他的oracle数据库对象)能够被直接地从一个数据库传输到另一个数据库中去。此外,象导入和导出,可传输的表空间提供一个除了传输数据之外还传输元数据的机制。

在数据仓库中可传输表空间技术最普遍的应用是在这两个方面:数据从一个中转区移动数据仓库中,或者是数据从一个数据仓库移动到一个数据集市中去。

 

表函数

表函数是使用PL/SQLC或者JAVA来实现数据转化工作,提供对数据转化工作的管道化和并行化的支持。象本章前面所讲的在抽取数据过程中是需要使用中间表,这样会使数据在各个传输步骤中出现停留,但使用表函数可以避免这种停留。

一个表函数被定义为一个可以返回结果集的函数。此外,表函数可以将这些记录集作为输入。表函数扩展了数据库的功能如下:

*一个函数可以返回多行记录

*SQL子查询(查询出多行记录的子查询)的结果可以直接传递给表函数

*函数可以将游标作为输入参数

*表函数可以并行执行

*为了更进一步的处理只要表函数被创建的话可以增量地返回结果集。这个称为增量管道。

表函数可以使用本地的PL/SQL接口在PL/SQL中定义,或者使用Oracle Data Cartridge Interface(ODCI)JAVA或者在C中定义。

 

外表

外表让你使用外面的数据作为一张虚拟表,数据库可以直接地并且并行地对其进行查询和连表,而不需要先将外表中的数据导入数据库中去。你能够使用SQLPL/SQL以及JAVA来访问外表。

外表允许在加载阶段和转换阶段可以使用管道化。转换过程能够和加载过程合并在一起并且数据流没有任何的中断。用户也不再需要必须首先将数据存放到数据库中才能在数据库中进行数据处理,比如:数据比较或者数据转换。例如:使用direct-pathINSERT AS SELECT语句结合SELECT一张外表的语句可以实现传统的加载过程中的数据转换功能。图16-4说明一个说明管道化的典型例子。

16-4 管道化数据转换

图中显示了4个维表(商品表,客户表,时间表,以及通道表)与一张名为销售的事实表相连。

 

外表和常规表之间的主要区别是外部组织的表是只读的。外部表上不能进行DML操作(UPDATE/INSERT/DELETE),也不能在外表上创建索引。

外表是对SQL*LOADER的一个补充,并且在在下面的环境中使用是特别有用的:全部外部数据需要与数据库中已有的对象连接并且进行复杂转换的情形;或者外表的数据量很大但数据仅只被用一次的情形。在另一方面,如果需要在中转表中创建索引,使用SQL*LOADER来加载数据是一个更好的选择。如果外部数据需要进行复杂的转换或者外部数据中的部分数据需要更进一步的处理,这样也应先将数据加载到数据库中去。

 

表压缩

你能够通过压缩堆表来节省磁盘空间。堆表中你应该考虑表压缩的一个典型的类型是分区表。

为了减少磁盘的使用和内存的使用(特别地,缓存区),你可以在数据库中以压缩的形式来存储表和分区表。这样会对只读的操作提供更好的性能。表压缩也可以提高查询性能。但是表压缩也会增加CPU的消耗

如果存在大量冗余数据时需要使用表压缩,比如:有许多外键的表。你应该避免压缩那些会经常性更新或者经常性的做DML操作的表。尽管被压缩的表或者分区表是可更新的,但是更新这些被压缩过的表会有额外的开销,这样一些更新比较频繁的表不适合做压缩表因为会引起一些空间被浪费。

 

数据变化捕捉

数据变化捕捉可以有效地鉴别出并且捕捉到oracle 关系表中被添加,更新,或者被删除的数据,并且使这些数据可以被应用系统获取并使用。

经常,数据仓库需要从一个或者多个数据源数据库中抽取有关的数据,然后这些数据传输到数据仓库中去供分析用。数据变化捕捉很快地鉴别和处理那些已经被修改的数据,而不是全部的表,并且使被修改的数据供分析使用。

数据变化捕捉不依赖于在数据库外部的中间的平面文件来中转数据。数据变化捕捉是捕捉那些由对用户表的INSERTUPDATEDELETE操作所产生的变更数据。这些变更数据然后被存储在称为变更表的数据库对象中,并且变更数据根据可控的方式来提供给有需要的应用程序。

 

数据仓库中的物化视图的概述

在数据仓库中用来改进性能的一个技术是创建汇总数据。汇总数据是一种聚集视图,通过在执行之前预先计算好成本较高的连表和聚集操作并且将这些计算好的结果存储在数据库中一张表中来改进查询性能。例如:你能够创建一张表来包含按地区和按商品的汇总销售数据。

在本章中或者在数据仓库中汇总或者聚集数据在oracle中是通过一个称为物化视图的方案对象来创建的。物化视图能够执行许多功能,比如:改进查询性能或者提供数据复制。

在物化视图出现以前,需要使用汇总信息的用户需要花费许多时间和精力去手动创建汇总数据,鉴别需要汇总哪些数据,对这些汇总数据进行索引,更新汇总数据,并且将汇总数据提供给需要使用的人。汇总数据管理使数据库管理员的负担减轻,并且使用户不需要关心汇总数据有关的细节。数据库管理员创建起到汇总数据的作用的一个或者多个物化视图。用户在明细级查询表和视图。

oracle数据库服务器中查询重写机制自动地重写查询SQL语句以便于使用汇总表。这个机制减少了从查询中返回结果的响应时间。在数据仓库中的物化视图对于终端用户或者数据库应用程序来说是透明的。

尽管物化视图机制通常通过查询重写来访问的,但是一个终端用户或者应用程序能够构建一些能够直接访问汇总数据的查询。但是,需要认真考虑的事项应该是用户是否允许构检查询来直接访问汇总数据,因为对汇总数据的任何变更将会影响所有相关的查询。

为了帮助用户在用户模式下的许多可能的物化视图中选择物化视图,oracleDBMS_ADVISOR包中提供了一些物化视图分析和建议函数和存储过程的集合。这些函数被称为SQL 访问顾问,并且可以在PL/SQL程序中调用。SQL访问顾问可以根据假设或者用户定义的工作负载或者从SQL缓存中获得的负载信息来建议是否使用物化视图。你可以在oracle企业管理器中或者通过调用dbms_ADVISOR包来运行SQL访问顾问。

 

在数据仓库中的位图索引

位图索引是在数据仓库中被广泛使用的。数据仓库环境中有大量的数据,并且执行的都是即席查询,但是并发DML事务比较的少。对于这样的应用,位图索引提供下面的功能:

*减少大数据量级别的即席查询的响应时间

*与其他索引技术相比较减少存储空间的需求

*即使在硬件上只有相对少的CPU数量或者是只有少量内存也能获取比较好的性能

*在并行的DML操作和并行加载期间便于维护

使用传统的B树索引结构为一个大表创建索引会在磁盘空间方面消耗比较多因为这些索引所占用的空间是表中数据所占空间大小的几倍。位图索引所占用的空间是表中被索引的数据所占用的空间的一小部分。

一个索引会提供指向包含数据键值的数据行的指针。一个常规的索引存储了与每个键值的行记录相关的一系列的rowids列表。在位图索引中,使用一个位图来替换使用一系列的rowids列表。

在位图中的每一位与一个可能的rowid相对应,并且如果一个位被设置,就意味着该位对应rowid的行包含有键值。有一个映射函数将位的位置转换为实际的rowid,这样位图索引能够提供和常规索引相同的功能。如果不同的键值数量比较的少,那么位图索引将会节省存储空间。

位图索引对于那些在WHERE条件中有很多条件的查询来说是很有效的。那些满足部分条件但没有满足所有条件的的行记录在表被访问之前已经被过滤出去。这样就加快了响应时间,并且提高是很显著的。比如在性别列上创建位图是一个好选择因为该列上可能的键值比较的少。

使用位图索引和使用传统的索引一样,位图索引可以结合并行查询和并行DML操作一起工作。位图索引也支持并行的地创建索位图引和复合位图索引。

 

并行执行的概述

oracle数据库并行运行一个SQL语句时,多进程同时一起合作工作来运行一个SQL语句。通过将一个进程运行一个语句的工作负荷分配给多个进程运行,这样oracle运行一个语句比单独运行该语句更快。这个叫并行执行或者并行处理。

动态地并行执行减少了在一般和决策支持系统和数据仓库有关的大型数据库上数据量大的操作的响应时间。均衡多数据系统,集群系统以及大型的集群系统可以通过并行执行可以获取最大的性能优势,因为语句的处理可以被分配到一个单独的oracle系统中的多个CPU上运行。你也可以在一定的联机事务处理以及混合系统上采取并行查询。

并行是指将一个任务分解以便在多个进程能够在同时做一个工作的部分来替代一个查询中所有的工作都由一个进程来完成。比如:12个进程处理一年内的12个月来替带由一个进程来处理这12个月。使用并行在性能上是比较高的。

并行执行能够帮助系统优化系统硬件资源的使用。如果你系统的CPU和磁盘控制器已经有比较重的负荷,你需要减轻系统的负载或者增加在使用并行执行之前增加硬件资源来改进性能。

一些任务不适合使用并行执行。例如:许多OLTP操作操作是相对比较快的,在仅有的几秒种或者不到一秒即可完成,如果在这种情形下采用并行执行所需要的额外开销相对于整体的执行时间来说比较大。

 

并行执行是如何工作的?

当没有使用并行执行时,一个单独的服务进程顺序执行一个SQL语句中所有的需要处理的任务。比如:为了执行一个全表扫描(比如:select * from emp),一个进程执行所有的操作,如图:16-5

16-5 顺序执行全表扫描

16-6 说明多个并行执行服务器执行对表EMP的扫描。这张表被动态地分解(动态分区)为负载单元(即粒度)并且每个粒度被一个并行执行服务器所读取。每个粒度是由并行执行协调器所产生的。每个粒度是存放表EMP的一组物理数据块。粒度和执行服务器之间的对应短系不是静止的,而是在执行期间动态决定的。当一个执行服务器完成了表EMP相应粒度中的记录行读取时,如果还有粒度没有读,这样并行协调服务器将分配另一个粒度给该执行服务器。就这样继续直到所有的粒度都被读完,换句话说,也就是直到整张表EMP都被读完。并行执行服务器将结果发送给并行执行协调器,并行执行协调器将所有结果汇总为全表扫描的结果。

16-6 并行全表扫描

 

对于一个SQL查询的执行计划,并行执行协调器将在SQL查询中的每个操作进行分解,并且然后集成由并行执行服务器执行操作所产生的部分结果。分配给一个单独操作的并行执行服务器的数量对于这个操作来说叫并行度。在同样的SQL语句中的多个操作都会有相同的并行度。

 

分析型SQL概述

在数据库中oracle为执行分析操作有许多SQL功能。这些操作包括排名,移动平均值,积累求和,百分比,以及周期比较等等。尽管这些计算以前的语句也能实现,但是新语法提供了更好的性能。

这部分主要讨论:

*用于聚集计算的SQL

*用于分析计算的SQL

*用于建模的SQL

 

用于聚集计算的SQL

聚集计算是数据仓库中饭的基本功能。为了在数据仓库系统中改进聚集计算的性能,oraclegroup by 短语进行了扩展,使查询和报表生成更简单更快。对group by语句的扩展有些可以使你能够:

*从最明细的数据开始聚集汇总,即可以在低层汇总的基础上再次进行汇总

*尽可能地在一个SQL语句中计算所有可能的组合汇总

*使用一个SQL语句获取旋转表所需要的信息

这些扩展功能让用户可以使用group by语句来获取感兴趣的汇总数据。这个允许用户无需使用CUBE操作就可以进行多维分析。完全计算一个立方体带来很重的系统负载,所以使用积聚计算来替换立方体计算可以大大地提高性能。使用CUBEROLLUP,以及聚集计算产生一个单独的结果集,等价于使用UNION ALL将不同的聚集计算的结果进行合并之后的结果集。

为了进一步增强性能 ,这些扩展可以并行执行:多个进程同时运行语句。并行执行使聚集计算更为高效,提高了数据库的性能和可伸缩性。

在决策支持系统中一个关键的概念是多维分析:其含义是指从各种维度组合中来观察一个企业。我们使用维这个术语来带指分析问题中使用的不同的角度。最常用的维度是时间,地域,产品,部门,渠道等,但维度的定义会根据企业的特点的变化来定义的,所以总结出的维度是无止境的。与维度值的一个特定的集合相关的事件和实体通常被成为事实。这些事实可能是销售数量,或者是金额,以及利润,客户数量,或者任何值得跟踪的信息都可以作为事实。

以下是一些多维请求的例子:

*按照产品维度以及各种层次的地域维度(从国家到区域)对1999年到2000年的销售进行聚集计算;

*创建一个旋转表在南美洲各个地区1999年到2000年之间的通过展示成本来分析企业运行情况。包括所有可能的子汇总信息;

*列出在2000年在亚洲汽车产品销售收入的前10个销售代表,并且按照佣金排序。

上述请求都包括多维度。许多多维度的问题都需要从时间,地域或者预算维度来汇总数据并且比较数据。

 

用于分析计算的SQL

Oracle有一套分析型函数,提供了高级的SQL分析处理能力。这些分析函数让你能够:

*排名以及百分数

*移动窗口计算

*滞后/提前分析

*首位/未位分析

*线性回归统计

排名函数包括累积分布(cumulative distribution),百分比排名(percent rank),以及 N-tile 函数。移动窗口计算让你能够进行移动和积累的汇总,比如:求和和求平均值。滞后/提前分析让你能够在数据行之间建立关联以便你能够进行同期分析。首位/未位分析让你能够在排好序的组中找到第一个或者最后一个值。

其他的特征包括case表达式。Case表达殖在许多情形下提供有用的if-than逻辑。

为了能够增强性能,分析函数可以被并行执行:多进程能够同时运行这些语句。这些能力可以使计算更加容易并且更加高效,从而增强数据库的性能,可伸缩性以及易用性

 

用于建模的SQL

OracleMODEL语句对SQL计算能力更加强大更加灵活。使用MODEL语句,你可以根据查询出来的结果集来创建多维的数组,并且对这个数组应用公式来计算新的值。这些公式可以是基本的计算,也可以是使用递归运行的联立方程。对于某些应用来说,model语句可以代替在PC机上的电子制表软件。在SQL语句中的model语句增强了oracle的可伸缩性,可管理性以及协作能力和安全性。核心的查询引擎可以处理大数据量。通过在数据库中定义和执行建模,用户可以避免在数据库和独立的建模环境之间传输大量的数据集。模型可以在工作组之间共享,确保对于所有的应用都能够获得一致的数据。当模型可以共享时,对于模型的访问也可以使用oracle的安全特性来精确的控制。使用model语句的丰富的功能可以增强所有类型的应用系统。

 

OLTP功能概述

Oracle    OLTPoracle关系型数据库提供了只有在多维数据库中才会有的查询性能和计算能力。除此之外,OLTP也提供一个JAVA OLTP接口,为用户开发适合于为internet  环境的分析应用程序。与其他的OLTPRDBMS技术不同,OLTP是一个不需要将数据从关系数据存储中移动到多维数据存储的多维数据库。而是一个具有OLTP特性的关系型数据库。结果,oracle具有多维数据库功能的同时,也具有一般数据库所具有的可伸缩性,可访问性,安全性,可管理性,以及高可用性。Java OLTP的接口,是为开发基于internet的分析应用程序所设计的,提供了高效的数据访问能力。

 

OLTPRDBMS集成的优势

直接在oracle数据库服务器构建一个OLTP系统会有下面的优势:

*可伸缩性

*可用性

*可管理性

*备份和恢复

*安全性

 

可伸缩性

对于一个分析应用系统来说考虑三个方面的快速增长:用户的数量,数据的大小,以及分析的复杂性。分析应用程序会有更多的用户,并且这些用户需要对更多的数据进行访问来执行更多的复杂的分析和进行目标营销。例如:一个电信公司可能需要客户维度来包括更加详细的信息比如:所有的电话号码作为应用程序中的一部分,用来分析客户的通话量。这样就需要维度表中上百万行的的记录以及事实表中非常大的数据量。Oracle可以使用并行执行和分区以及支持先进的硬件和集群来处理非常大的数据量。

 

可用性

使用分区技术可以对表和索引进行分段管理,以便管理操作只影响这些数据结构的一小部分数据。通过对表和索引分区,数据管理处理的时间减少了,因此使数据的不可用时间最小化。可移动表空间技术也支持高可用性。使用可移动表空间技术,大的数据集,包括表和索引,能够被加入到其他数据库中去并且不需要任何处理。这样就极大地加快了数据加载和更新操作。

 

可管理性

Oracle让你精确地控制资源的使用。数据库资源管理器,例如:提供为数据仓库在不同的终端用户集之间分配资源的一种机制。

另一个资源管理设备是进展监控器,进展监控器用来为终端用户和管理员提供长时间运行的操作的状态。Oracle维护描述这些操作完成百分比的统计信息。Oracle企业管理器让你能够查看这些操作的条状图来显示这些操作完成的百分比。其他工具或者任何其他的数据库管理员也可以直接从oracle数据服务端使用系统视图来获取进展信息。

 

备份和恢复

Oracle为备份,复原以及恢复提供了一个基于服务端管理的基础架构,使对大数据量的这些操作更加简单,更加安全。这个基础架构主要的特征是:

*与备份,复原以及恢复操作相关的详细信息由服务器管理存储在恢复资料库中,并且自动地使用作为这些操作的组成部分;

*备份和恢复操作也与分区技术紧密集成。对于单独的分区,当被单独的放置在一个表空间时,那么这个单独的分区将独立与该分区表中的其他分区被单独的备份和恢复;

*oracle使用恢复管理包含了对增量备份和恢复的支持,使这些操作所需的时间与被变更的数据量的大小有关,而与整个数据库的大小无关。

 

安全性

Oracle 的安全特性已经达到美国政府数据库可信度认证的最高等级。Oracle的细粒度访问控制功能可以为OLTP用户实现块级的安全控制。细粒度访问控制功能对查询处理只有很小的负载影响,并且实现高效的集中化的安全管理。

 

数据挖掘的概述

Oracle数据挖掘组件(ODM)将数据挖掘功能嵌入到oracle数据库中。数据将都不会离开数据库---数据,数据准备,数据建模,以及模型评估结果都保存在数据库中。这样就使oracle能够为应用开发者提供一个基础架构来将数据库应用与数据挖掘应用进行无缝地集成。一些典型的例子有:在话务中心,ATMsERM以及业务计划应用。

不需要从数据库中抽取数据到指定的工具中,以及也不需要将结果数据导到数据库中,你能够节省许多时间。除此以外,通过将数据和数据模型放在同一个位置中(数据库中),就不需要将数据模型导出为代码。

建模,测试,评估等数据挖掘函数是由JAVA API提供的。

Oracle数据外决支持以下算法:

*分类(classification)算法,Naive BayesAdaptive Bayes Networks,及 Support Vector MachinesSVM

*回归分析(regression)算法,Support Vector Machines

*聚类(clustering)算法,k-means O-Cluster

*特征抽取算法(feature extraction),Non-Negative Matrix FactorizationNMF

*序列比对与解释(sequence matching and annotation)算法,BLAST

ODM也包括一些特性和性能增强功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值