×

olap引擎

olap引擎(olap是什么,给详细介绍一下!)

admin admin 发表于2023-11-22 15:37:33 浏览33 评论0

抢沙发发表评论

本文目录

olap是什么,给详细介绍一下!

联机分析处理,英文名称为On-Line Analysis Processing,简写为OLAP。  随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到现在的兆兆(T)字节和千兆兆(P)字节,同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行数据分析和信息综合,关系数据库系统已不能全部满足这一要求。操作型应用和分析型应用,特别是在性能上难以两全,人们常常在关系数据库中放宽了对冗余的限制,引入了统计及综合数据,但这些统计综合数据的应用逻辑是分散而杂乱的、非系统化的,因此分析功能有限,不灵活,维护困难。在国外,不少软件厂商采取了发展其前端产品来弥补关系数据库管理系统支持的不足,他们通过专门的数据综合引擎,辅之以更加直观的数据访问界面,力图统一分散的公共应用逻辑,在短时间内响应非数据处理专业人员的复杂查询要求。1993年,E.F.Codd(关系数据库之父)将这类技术定义为“联机分析处理”。

如何建立oracle olap

  一. Oracle OLAP 组件 说明  有关Oracle 的所有组件的说明,参考:  Oracle8i/9i/10g/11g 组件(Components) 说明  联机分析处理OLAP(On-Line Analytical Processing), 也称DSS决策支持系统。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。  OLAP是Oracle数据库企业版的一个多维分析引擎,采用oracle数据库来存储OLAP数据和元数据。  在OLAP中,语句的执行量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。  更多内容参考:  OracleOLAP 与 OLTP 介绍  在添加OLAP 组件的情况下,如果我们做32到64位的DB迁移,都会需要重建OLAP 组件,否则就会导致大量的无效对象的存在。 而这个重建工作又需要近40分钟,所以是个很耗时间的过程。  Oracle OLAP是Oracle企业版的一个可选件,由于将OLAP引擎完全集成进了Oracle数据库,所以,所有数据和元数据都是从Oracle数据库内部进行存储和管理的,以提供高度可伸缩性、强健的管理环境及工业级可用性和安全性。  1.1 OLAP 组件  可以使用如下SQL 查看OLAP组件的状态和版本信息:  SQL》 column comp_name format a35  SQL》 col version for a15  SQL》 set wrap off  --Oracle11g:  SQL》 select comp_name, version, statusfrom dba_registry where comp_name like ’%OLAP%’;  COMP_NAME VERSION STATUS  -------------------------------------------------- ----------------------  OLAP Analytic Workspace 11.2.0.3.0 INVALID  Oracle OLAP API 11.2.0.3.0 VALID  OLAP Catalog 11.2.0.3.0 VALID  --Oracle 10g:  SYS@ wangou 》 select comp_name, version,status from dba_registry where comp_name like ’%OLAP%’;  COMP_NAME VERSION STATUS  -------------------------------------------------- ----------------------  OLAP Analytic Workspace 10.2.0.5.0 VALID  Oracle OLAP API 10.2.0.5.0 VALID  OLAP Catalog 10.2.0.5.0 VALID  Oracle OLAP主要包括以下组件:  (1)OLAP Analytic Engine  Oracle的OLAP分析引擎是一个基于多维模型的MOLAP引擎,运行在Oracle内核中,因此拥有良好的性能。  (2)Analytic Workspace  分析工作区中实际存储多维模型的数据。一个Analytic Workspace存储为一个关系表,分析工作区中的不同对象存储为表中的一行(LOB格式)。分析工作区甚至可以存储在分区表中,以提供更好的并发性能。  (3)OLAP DML  OLAP DML是Analytic Workspace的原始操作语言,包括关于Analytic Workspace的数据定义语言(DDL)和数据操作语言(DML)。对于Analytic Workspace的所有操作方式,比如GUI工具,java和SQL等方式,最终都要转化为Oracle DML语言。  (4)SQL Interface to OLAP  提供使用SQL操作AnalyticWorkspace的接口,该接口使用PL/SQL实现。  (5)Analytic Workspace Java API  提供使用Java操作AnalyticWorkspace的接口。在GUI工具Analytic Workspace Manager中使用的就是该接口。  (6)OLAP API  Oracle OLAP的一个Java编程接口,支持OracleBI Bean。  1.2 Oracle OLAP的两个客户端工具:  (1)Analytic Workspace Manager  这是Oracle提供的一个操作AnalyticWorkspace的一个图形工具。使用该工具可以快速的完成诸如定义数据的逻辑多维模型、创建多维数据到关系数据的映射、装载和聚合数据等任务。  (2)OLAP Worksheet  OLAP Worksheet提供了操作Analytic Workspace的一个交互式环境。有点类似于Oracle数据库的SQLPLUS工具。  1.3 Active Catalog View(活动目录视图)  Active CatalogView,活动目录视图,是Oracle为OLAP用户提供的一系列动态视图,用于提供分析工作区(Analytic Workspace)中的对象信息。Analytic workspace是用户session和Oracle OLAP引擎交互所必须的接口,也是dimension,cube的对象的容器。  在Oracle OLAP中,Analytic workspace的概念有点类似与数据库中的schema,也是一组相关对象的集合。但是Analytic workspace会使用一个名为aw$name的table来实际的存储analyticworkspace中的对象 (dimension,cube,level,attribute等)。有时候,我们可能需要将一个analytic workspace从一个系统迁移到另外一个系统,也可能需要将一个analytic workspace的内容迁移到另外一个analytic workspace中,利用Analytic Workspace Manager可以在图形界面下完成该任务,首先将一个aw导出为EIF文件,然后将EIF导入到另外一个aw即可。  OLAP 多维模型中的一些主要对象,如dimension(维度),measure(度量),cube(数据立方体),hierarchy(层 次),level(层),attribute(属性)等,都有对应的活动目录视图,根据视图的名字基本可以判断该视图中的内容,Oracle10g所有的 活动目录视图都以ALL_OLAP2_AW开头:  (1) ALL_OLAP2_AWS  (2) ALL_OLAP2_AW_ATTRIBUTES  (3) ALL_OLAP2_AW_CATALOGS  (4) ALL_OLAP2_AW_CATALOG_MEASURES  (5) ALL_OLAP2_AW_CUBES  (6) ALL_OLAP2_AW_CUBE_AGG_LVL  (7) ALL_OLAP2_AW_CUBE_AGG_MEAS  (8) ALL_OLAP2_AW_AGG_OP  (9) ALL_OLAP2_AW_CUBE_AGG_SPECS  (10) ALL_OLAP2_AW_CUBE_DIM_USES  (11) ALL_OLAP2_AW_CUBE_MEASURES  (12) ALL_OLAP2_AW_DIMENSIONS  (13) ALL_OLAP2_AW_DIM_HIER_LVL_ORD  (14) ALL_OLAP2_AW_DIM_LEVELS  (15) ALL_OLAP2_AW_PHYS_OBJ  (16) ALL_OLAP2_AW_PHYS_OBJ_PROP  除了活动目录视图,Oracle也提供了几个动态性能视图,用于展示OLAP对象的一些统计信息,这些DynamicPerformance View都以V$AW开头:  (1) v$aw_aggregate_op  (2) v$aw_allocate_op  (3) v$aw_calc  (4) v$aw_longops  (5) v$aw_olap  (6) v$aw_session_info  以上理论知识转自ningoo的blog:    ORACLE_HOME=your_oracle_home  ORACLE_SID=your_db_sid  PATH=$ORACLE_HOME/bin:$PATH  sqlplus /nolog  SQL》 conn /as sysdba  SQL》 @?/olap/admin/olap.sql SYSAUX TEMP;  --这个脚本需要30+分钟  三. 验证无效对象和组件状态  SQL》 select count(*) from dba_invalid_objects;  COUNT(*)  ----------  67  如果有无效对象,使用如下脚本编译:  SQL》 @?/rdbms/admin/utlrp.sql  SQL》 col comp_id for a15  SQL》 col version for a15  SQL》 col comp_name for a30  SQL》 select comp_id,comp_name,version,status from dba_registry;  COMP_ID COMP_NAME VERSION STATUS  --------------------------------------------- --------------- -----------------  EM Oracle Enterprise Manager 11.2.0.3.0 VALID  AMD OLAP Catalog 11.2.0.3.0 VALID  SDO Spatial 11.2.0.3.0 VALID  ORDIM Oracle Multimedia 11.2.0.3.0 INVALID  XDB Oracle XML Database 11.2.0.3.0 INVALID  CONTEXT Oracle Text 11.2.0.3.0 VALID  ODM Oracle Data Mining 11.2.0.3.0 VALID  EXF Oracle Expression Filter 11.2.0.3.0 VALID  RUL Oracle Rules Manager 11.2.0.3.0 VALID  OWM Oracle Workspace Manager 11.2.0.3.0 VALID  CATALOG Oracle Database Catalog Views 11.2.0.3.0 VALID  COMP_ID COMP_NAME VERSION STATUS  --------------------------------------------- --------------- -----------------  CATPROC Oracle Database Packages and T11.2.0.3.0 INVALID  JAVAVM JServer JAVA Virtual Machine 11.2.0.3.0 VALID  XML Oracle XDK 11.2.0.3.0 VALID  CATJAVA Oracle Database Java Packages 11.2.0.3.0 VALID  APS OLAP Analytic Workspace 11.2.0.3.0 INVALID  XOQ Oracle OLAP API 11.2.0.3.0 VALID  17 rows selected.