- 浏览: 348789 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
zy_mensheng:
请问一下 怎么 js没有解析啊 还是钟表图..
调用BIEE提供的web service -
安铁辉:
师兄你很久没更新博客了
Information Dashboard Design读书笔记 -
mojunbin:
很清晰的文章
秒杀相关知识以及技术 -
yanchangjun8102:
楼主你好,我也最近在研究biee的webservice这块,按 ...
调用BIEE提供的web service -
sacredon:
不错,楼主我是看着你的这篇文章写代码调用的BIEE的Web ...
调用BIEE提供的web service
问题:
由于底层事实表的基础上又增加了聚合表,聚合表是利用kettle去定时聚合的。不过很有可能聚合表还没将数据聚合OK时(因为聚合的时间可能比较长),用户已经进行了查询,导致了缓存,以后即使聚合完成了,在不清除缓存的情况,依然查不到最新的数据。
方案一:在用户反馈查询不到最新数据时,手动的利用admin Tool中的cache管理工具,进行清除缓存。
评估:
1,用户反馈才知道要清除缓存。这样带来的用户体验不好。
2,界面上管理还是挺方便的。可以指定清除哪张表,或者全选进行清除,也可以清除某个用户的缓存。
方案二:OBIEE提供了一种事件表(event table)的机制,
该表的结构如下:
create table UET (
UpdateType Integer not null, --一般为1
UpdateTime date DEFAULT SYSDATE not null, --最新的更新时间,必须唯一
DBName char(40) null,
CatalogName varchar(40) null,
SchemaName varchar(40) null,
TableName varchar(40) not null,
Other varchar(80) DEFAULT NULL
);
利用 admin Tool中tool->utilities->oracle BI Event Tables指明BIEE需要轮询的表,这里即为UET,可以为多张。
在ETL过程结束后,向该事件表中插入一条记录,记录那张表的数据进行了更新,OBIEE会每隔一定时间会去Check该表数据,如果检测到某表的updatetime在上次和本次检查时间之间,则purge掉该表的cache。相应事件表里的记录也会被清除掉。在下次查询时候重建cache.
评估:
1,这样就要求kettle聚合完成一张表后,就要像该表写入一行记录。同时还得新建一张表。
2,需要在kettle的聚合的最后加入一条sql执行语句。增加了维护成本。
3,同时时间上还需要等待biee轮询时间到了,数据才会更新。一般biee建议,轮询时间大于10分钟,时间太短,就没必要对某张表做缓存了。所以缓存的更新不是及时的。
4,间隔的轮询,在某种程度上对数据库造成了查询压力。
注:我在本地按照这种方式测试没有成功,要么报:“查询表失败”,要么就报“错误的模式”的错误。网上查了说"错误的模式"要求必须按照odbc 3.5的方式import事件表到rpd中。但是我的import方式就是这个,依然错误。很诡异。试了好几次,不行。很费解。
有一篇网上的文章写得蛮全的,可以参考下:
http://gerardnico.com/wiki/dat/obiee/event_table
方法三:
还可以通过调用nqcmd的方式,发出相关指令。
在windows下有一个odbc client的工具,可以在界面上发出指令。
支持的指令如下:
登录web,在setting->Administration->Issue SQL
Call SAPurgeAllCache(); --Purge all the cache
Call SAPurgeCacheByTable( 'DBName', 'CatName', 'SchName', 'TabName' );
Call SAPurgeCacheByQuery('select lastname, firstname from employee where salary > 100000' );
Call SAPurgeCacheByDatabase( 'DBName' );
在linux下了,没有界面的话,就只能用命令的方式了:
testCleanCache.sql该文件的内容如下:
call SAPurgeCacheByTable('tsamysql','tsa','','tsa_dim_hour')};--表示清除某一张表的缓存
评估:
1,该方式依然需要在kettle的聚合过程结尾,执行该命令
2,与方案二比,无需新建表的支持,而且不用轮询,这样没有对数据的查询压力。
3,及时看到缓存更新的效果
4,需要维护相应的执行脚本,不过只要合理管理,应该还是OK的。可以等几张表聚合完成后,再执行几条命令(几条命令放到一个隶属于同一个聚合任务的文件中),这样可以减少维护成本。
注:该方案在linux和windows都是可行的。在这里有一个小插曲,由于我们为了缓解数据库的访问压力,所以搞了两个presentation service,对应到的dsn分别为tsa,tsa2,对应不同的rpd,rpd的信息基本一致,除了一个指定访问主库,一个指定访问备库。
我当时只调用了更新tsa的缓存,发现没有效果。当时差点放弃了,因为虽然是两个presentation service,但是他们指向的是同一个catalog,当时以为cache的数据是放在OracleBIData的下面,以为只要清除掉之后,大家都应该会更新数据的。当时怀疑,是不是只清除了tsa的缓存,后来还是试了下,就又更新了tsa2--
查阅文档,具体的支持三种粒度清除缓存:
-
SAPurgeCacheByQuery. Purges a cache entry that exactly matches a specified query. For example, using the following query, you would have a query cache entry that retrieves the names of all employees earning more than $100,000:
select lastname, firstname from employee where salary > 100000;
The following call programmatically purges the cache entry associated with this query:
Call SAPurgeCacheByQuery('select lastname, firstname from employee where salary > 100000' );
-
SAPurgeCacheByTable. Purges all cache entries associated with a specified physical table name (fully qualified) for the repository to which the client has connected. This function takes up to four parameters representing the four components (database, catalog, schema and table name proper) of a fully qualified physical table name. For example, you might have a table with the fully qualified name of DBName.CatName.SchName.TabName. To purge the cache entries associated with this table in the physical layer of the Siebel Analytics repository, execute the following call in a script:
Call SAPurgeCacheByTable( 'DBName', 'CatName', 'SchName', 'TabName' );
- Nulls passed as input parameters to SAPurgeCacheByTable serve as wild cards. For example, specifying a database name but leaving the catalog, schema and table names null will direct the function to purge all entries associated with the specified database.
-
Similarly, specifying a table name but leaving database, catalog and schema names null directs the function to purge all cache entries associated with the specified table name. If multiple databases, catalogs or schemas have tables with the specified name, the function will purge all cache entries associated with any of those tables.
CAUTION: Leaving all input parameters null directs the function to purge all cache entries associated with the repository.
- SAPurgeAllCache. Purges all cache entries. The following is an example of this call:
评论
百淘可以玩的比较爽的,认识很多人。但是其实不比上班轻松哦。不能迟到的。哈哈

发表评论
-
Information Dashboard Design读书笔记
2013-06-20 18:34 2107第一章: Everybody wants a ... -
BIEE之timestamp问题
2012-12-12 21:13 1926最近在做一个需求, ... -
timeTunnel的学习
2012-09-25 19:26 2775采集数据(通过TT的cli ... -
数据挖掘之归一化
2012-09-24 21:10 3557在阅读数据模型的文章中,经常看到针对特征维度进行归一化处理。 ... -
BIEE 界面DIY
2012-09-06 21:49 2271改图片和css不需要重启服务,但要注意清除IE缓存。l在C:\ ... -
BIEE登录问题排查及集群搭建
2012-07-01 21:08 3199背景: BIEE服务器虽然搞了两台,但是只是作为冷备。大部 ... -
BIEE10g集群配置
2012-07-01 21:08 0mark 下。后续补上。 -
OBIEE的ibot配置
2012-02-14 15:30 1853http://prolynxuk.com/blog/?p=28 ... -
聚集导航的设计和实现之读书笔记
2012-01-31 15:47 1880关于聚集导航的技术,最近读了一本很不错了书籍《Masterin ... -
调用BIEE提供的web service
2011-11-17 15:33 9185门户项目中准备用web service获取现有的制作好的报表 ... -
biee清除缓存脚本
2011-10-10 22:55 3716前面文章 http://jianchen.iteye.com ... -
OBIEE 变量
2011-08-29 21:34 1236biee的变量分类以及在各个组件的引用方法: 这 ... -
OBIEE Data model Best Pratices
2011-08-28 22:31 1411Data Model Best Practices 1, ... -
性能测试 and BIEE(二)
2011-08-28 20:29 1916测量以及监控 (measing and monito ... -
性能测试 and BIEE(一)
2011-08-28 20:19 3727目标: 1. 性 ... -
部署普及型BI关键成功因素
2011-08-15 16:24 1097部署普及型BIwhat is it?传 ... -
BIEE缓存设置
2011-08-14 18:22 35551,BI server cache OracleBI\ser ... -
【转】据仓库设计的三级数据模型
2011-08-13 17:33 1823所谓数据模型,就是� ... -
聚集导航出错
2011-07-25 19:35 1012今天遇到一件很奇怪的� ... -
kettle的源代码svn地址
2011-07-06 15:51 2989网上一开始搜索到的地址 svn://source.pen ...
相关推荐
### OBIEE缓存机制详解 #### 一、引言 在现代数据分析环境中,Oracle Business Intelligence Enterprise Edition (OBIEE) 是一个强大的工具,用于处理大量数据并提供深入的业务洞察。然而,在实际操作过程中,用户...
智能缓存服务则提升了系统的响应速度,通过在内存中存储常用数据来减少对数据库的直接访问。集群和多进程设计增强了系统的可伸缩性和高性能,确保即使在处理大量数据时也能保持稳定运行。 Oracle Answers是OBIEE的...
7. **性能优化**:OBIEE 11.1.1.7版本对性能进行了优化,包括缓存机制、并行查询执行等,提升了大数据量下的查询速度。 8. **移动支持**:此版本还支持移动设备,用户可以通过手机或平板电脑访问OBIEE,随时随地...
- **性能优化**:监控系统性能,通过调整查询、缓存策略等提升响应速度。 4. **学习路径** - 理解OBIEE的基础概念和组件。 - 学习如何使用RPD设计数据模型。 - 掌握Answers和Web Analysis的使用,创建自定义...
【OBIEE完全安装向导】是一篇关于Oracle Business Intelligence Enterprise Edition (OBIEE)的详细安装指南。OBIEE是Oracle公司的一款企业级商业智能平台,它提供了数据分析、报表和仪表盘等功能,帮助企业进行决策...
9. **性能优化**: 通过使用缓存、索引和优化查询来提升OBIEE的性能。理解如何有效地设计分析和使用缓存策略是提高系统效率的关键。 10. **培训和社区**: 对于初学者,Oracle提供官方文档、在线教程和社区支持,帮助...
### Cognos与OBIEE产品功能对比报告 #### 第一章:概述 本文档旨在对IBM公司的商业智能(BI)工具Cognos与Oracle公司的BI工具OBIEE(Oracle Business Intelligence Enterprise Edition)进行深入的功能对比。随着...
- **操作系统参数**:调整操作系统参数如内存分配、调度策略、文件系统缓存等,以优化OBIEE运行环境。 - **Oracle WebLogic Server参数**:WebLogic是OBIEE的应用服务器,优化其JVM内存分配、线程池大小、日志级别...
《深入解析OBIEE 11g:从基础到进阶》 一、OBIEE 11g概览 Oracle Business Intelligence Enterprise Edition (OBIEE) 11g是Oracle公司推出的一款全面的企业级商业智能平台,它集成了数据分析、报告、仪表板和数据...
Oracle Business Intelligence Enterprise Edition (OBIEE) 是一款强大的商业智能平台,用于数据分析和报表生成。这个资料文档集合包含了丰富的信息,对于想要深入了解或提升OBIEE技能的人来说是宝贵的资源。 "BI....
根据提供的文档信息,我们可以推断出这是一份关于Oracle Business Intelligence (OBIEE) BI Apps产品的指南。尽管文档中重复的信息较多,我们仍然可以从现有的文本中提取一些关键的知识点。 ### Oracle Business ...
obiee demo, 实例帮你学习OBIEE
OBIEE(Oracle Business Intelligence Enterprise Edition)是甲骨文公司提供的一套企业级商业智能解决方案,它集成了数据仓库、数据挖掘、OLAP分析、报表和仪表盘等功能。本篇《OBIEE学习总结之入门(PDF)》提供了对...
6. **性能优化**:OBIEE提供了多种性能优化策略,如缓存管理、分析查询优化和物理表设计调整,以提高查询响应速度。 7. **集成与互操作性**:OBIEE可以与其他Oracle产品(如Siebel CRM、E-Business Suite)以及非...
### OBIEE 12C 在 Windows 系统上的安装指南 #### 一、概述 Oracle Business Intelligence Enterprise Edition (OBIEE) 是一款强大的商业智能工具,它为企业提供了丰富的数据分析和可视化功能。本文将详细介绍如何...
5. **缓存与性能优化**:了解如何配置缓存策略,提高OBIEE的响应速度,同时学习性能监控和调优技术。 三、技巧篇: 1. **高级分析**:利用高级分析特性,如预测分析、关联规则和聚类,进行数据挖掘和预测。 2. **...
### OBIEE11.1.1.5(64位)备份与还原知识点 #### 1. 备份原理 在《伊泰集团BIEE备份、还原管理V1.0》文档中,提到了OBIEE11.1.1.5备份的核心原理,主要包括两个关键部分: - **主资料存储库文件(RPD)备份**:RPD...
OBIEE中文帮助,BIEE中文帮助,非常难得