BIEE的缓存是基于文件的,而不是在内存中,缓存文件以.tbl为扩展名。缓存对于提高查询效率很有帮助,它可以让查询直接从缓存文件中产生结果,而不用访问数据库,避免了数据库查询和网络传输上的时间损耗。但cache也带来其它问题,如缓存管理(如何提高cache命中率?怎样保持cache的中的数据不会过期?),占用物理资源等。
开启BIEE中的缓存:NQSConfig.ini配置文件中,将[CACHE]部分的ENABLE设置为YES
管理缓存
-
在NGSConfig.ini中配置缓存大小,缓存条目单体大小,缓存条目数量等信息(参数含义见下文)
- 在Administration中控制缓存
- 在Manage > Cache中可以强制刷新缓存(refresh),可以看到NGSConfig的配置信息(show info),以及当前的缓存内容,并且可以对已有缓存进行管理,查看其sql,将其手动清除purge等
- 在物理层中,可以对单个表设置是否缓存,以及缓存过期时间
缓存的清除
- 缓存数目达到MAX_CACHE_ENTRIES定义的数目时,系统会将最久远的cache清除来缓存新的
- 缓存到了物理表定义的过期时间时,会被清除
- Cache Manager中手工清除cache
Seeding Cache:其思想是在终端用户去跑报表之前,我们先手工或自动去跑报表,让cache生成于系统之中,之后用户再运行的时候就可以利用到缓存了
- 通过手工方式去跑报表
- 通过ibot设置定期运行报表:要在delivers中创建ibot,并且在destination标签页中设置勾选Oracle BI server cache选项
查询没有被缓存的几种情况
- 非缓存的SQL。如果SQL中包含Current_Timestamp, Current_Time,Rand, Populate, or a parameter marker,这时查询将不被缓存
- Non-cacheable表。如果一个查询相关的物理表在Oracle BI Server资料库中被标记为Non-cacheable,则不会被缓存
- 缓存命中。通常情况缓存命中的查询将不会被缓存,除了POPULATE_AGGREGATE_ROLLUP_HITS参数为YES的情况。
- Cache本身没被启动。在NQSConfig中ENABLE = YES条件下可以开启缓存
- 结果集太大。如果结果集有太多行,超过了MAX_ROWS_PER_CACHE_ENTRY,该条目不会被缓存;如果结果集占用空间太大,超过了MAX_CACHE_ENTRY_SIZE,该条目不会被缓存
- Cache中参数设置不合理:如果MAX_CACHE_ENTRY_SIZE比DATA_STORAGE_PATH路径能承受的大小还要大,那就无法缓存了
- 查询在presentation server被取消或者查询超时,则不会创建缓存
- OracleBI sever是集群的。集群中,查询缓存存在本地,而不会被传播,比如在节点1产生查询,缓存被存到该节点,而不会在节点2中也生成。
NQSconfig.ini文件中Cache相关的参数:
- Cache默认是开启的(ENABLE=YES),但在开发环境中可以将其关闭以提高效率
- 通过DATA_STORAGE_PATHS参数指定缓存的存放目录以及缓存大小,可以设置多个缓存,以逗号分隔,缓存最大不要超过4GB;在同一磁盘设备上设置多个缓存目录并不能提高性能,通常对每个磁盘设备设置一个缓存目录即可,如果超过一个,磁盘I/O加大会损害性能。
- MAX_ROWS_PER_CACHE_ENTRY,设置查询结果集中的最大行数,用来限制查询缓存的存储,如果一个查询超过这个指定值,该查询不会被缓存;为0时无限制
- MAX_CACHE_ENTRY_SIZE,设置每个缓存条目的最大值,如果超过该值则不会被缓存(即单个缓存文件的大小)
- MAX_CACHE_ENTRIES:设置缓存中被允许的缓存条目最大值(即共有多少缓存文件)。如果达到、超过最大值,系统会将最久远的cache清除来缓存新的。
- POPULATE_AGGREGATE_ROLLUP_HITS,该参数用来确定是否合计之前的缓存查询结果集,然后创建一个新缓存查询条目来累积缓存命中率。默认值为NO。把这个参数设置为YES的话,可以提高查询性能,但是会使更多的条目加到缓存中去,增加了缓存压力。比如一个查询语句为sales by region通常我们可以从缓存中sales by district,region解析。但是该参数为YES情况下,sales by region也会以新的条目加入到缓存中去。
- USE_ADVANCED_HIT_DETECTION:该参数为缓存命中提供了一个扩展的查询算法,具体算法还不清楚。这个扩展查询算法会影响性能。默认情况下参数设置为NO
- MAX_SUEXPR_SEARCH_DEPTH:该参数用来配置命中探测器查询一个不精确匹配查询表达式的深度。该参数默认值为5。如果该参数使用默认值,而查询表达式为sin(cos(tan(abs(round(trunc(profit))))))则不会命中。因为该表达式级别为7。修改参数到7的时候则能命中。
- GLOBAL_CACHE_STORAGE_PATH:该参数指定的路径用来存储集群的共享缓存条目。集群的所有节点使用同一个路径。
- MAX_GLOBAL_CACHE_ENTRIES:上述路径中保存缓存的最大条目数
- CACHE_POLL_SECONDS:每个节点从GLOBAL_CACHE_STORAGE_PATH指定的共享路径中取缓存数据的间隔,单位为秒
- CLUSTER_AWARE_CACHE_LOGGING:该参数用来开启集群缓存日志,用来故障处理。默认值为NO
分享到:
相关推荐
其主要功能在于存储之前查询的结果,当相同的查询再次发生时,OBIEE可以直接从缓存中读取数据,而不是重新查询数据库,从而显著提高了响应速度,减少了对数据库资源的消耗。 ##### 2.1 缓存生成 当用户首次访问...
7. **性能优化**:OBIEE 11.1.1.7版本对性能进行了优化,包括缓存机制、并行查询执行等,提升了大数据量下的查询速度。 8. **移动支持**:此版本还支持移动设备,用户可以通过手机或平板电脑访问OBIEE,随时随地...
6. **性能优化**:OBIEE提供了多种性能优化策略,如缓存管理、分析查询优化和物理表设计调整,以提高查询响应速度。 7. **集成与互操作性**:OBIEE可以与其他Oracle产品(如Siebel CRM、E-Business Suite)以及非...
此外,缓存的启用与关闭也可以在此文件中设置,例如通过设置ENABLE参数为YES或NO来开启或关闭缓存功能。修改此文件后需要重启BIServer才能生效。 instanceconfig.xml文件位于SADATADIR\web\config文件夹下,该文件...
在OBIEE中,主要涉及以下几个关键知识点: 1. **数据建模**: OBIEE使用Rapid Warehouse Builder (RWB) 进行数据建模。这包括创建物理层、业务模型和映射层。在物理层,我们连接到数据源,如数据库表或视图。在业务...
- **Web Analysis (WA)**:OBIEE的网页分析工具,允许用户在浏览器中创建动态查询和分析。 - **Answers**:答案组件提供了报表和分析的交互式环境,用户可以自定义视图、过滤和排序数据。 - **Dashboard**:仪表...
这个压缩包中的资源将覆盖以上各个层面的知识,为初学者提供全面的学习路径,帮助他们逐步掌握OBIEE的使用,从而在商业智能领域中游刃有余。通过深入学习和实践,你将能够利用OBIEE的强大功能,为企业提供洞察力,...
在Oracle Business Intelligence Enterprise Edition (OBIEE) 11g的日常开发中,开发者经常会遇到各种挑战。以下是对这些常见问题的详细解答: 1. **下钻逻辑维实现**:在OBIEE中,下钻逻辑可以通过创建层次结构和...
Oracle Business Intelligence ...以上问题解答提供了对OBIEE使用过程中可能遇到的常见问题的解决思路,但具体实施可能需要根据实际环境和版本进行调整。在实际操作中,还应参考Oracle的官方文档或寻求技术支持帮助。
- **定义地图层**:在“管理 -> 地图数据管理”中选择添加新的地图层,OBIEE 会自动获取所选数据源中的地图层信息。这些信息对应 Map Builder 中的“Themes”,并且数据会被存储在 `USER_SDO_THEMES` 表中。 - **...
4. 调优OBIEE组件,包括Oracle BI Presentation Services、BI服务器、Java Host、调度器组件,以及如何垂直扩展(包括XSA缓存)。 5. 针对数据库参数的调优。 下面详细介绍文档中的关键知识点: 1. 对于操作系统...
在这个场景中,我们关注的是使用JAVA源代码来发布OBIEE 11g报表,这涉及到报表自动化和集成开发的过程。 1. **JAVA API for OBIEE** - OBIEE 11g 提供了一套Java API,名为 Oracle BI Presentation Services ...
- **使用缓存**:选中“使用高速缓存”选项,以在缓存中存储值。 ##### 4. 在应用角色中调用目标变量 - **选择应用角色**:在应用角色页面中选择想要使用数据级权限管理的角色。 - **设置权限**:在权限对话框中,...
以下将详细解析 OBIEE 11.1.1.6 官方中文帮助手册中的关键知识点。 1. **系统架构** - **元数据层**: OBIEE 构建在元数据层上,它定义了数据源、业务概念、度量和维度。RDF (Repository Data Foundation) 存储元...
`MAX_ROWS_PER_CACHE_ENTRY`限制了缓存条目的最大行数,`MAX_CACHE_ENTRY_SIZE`限制单个缓存文件大小,而`MAX_CACHE_ENTRIES`设置了缓存中允许的最大条目数量。当达到这个上限,系统会清除最早的缓存以容纳新的数据...
**Oracle Business Intelligence Enterprise Edition (OBIEE) ...在实际操作中,确保遵循Oracle的官方文档和最佳实践,以获得稳定、高效和安全的OBIEE环境。通过持续学习和监控,可以进一步提升系统的性能和用户体验。
- 分区和缓存策略:学习如何优化Repository以提高性能,例如通过设置分区策略和缓存策略。 4. **Installing the Sample Schemas and Establishing a Database Connection** 在这部分,用户将学习如何设置示例模式...