`
sudongyuan
  • 浏览: 59346 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

OBIEE中的缓存

阅读更多
      BIEE的缓存是基于文件的,而不是在内存中,缓存文件以.tbl为扩展名。缓存对于提高查询效率很有帮助,它可以让查询直接从缓存文件中产生结果,而不用访问数据库,避免了数据库查询和网络传输上的时间损耗。但cache也带来其它问题,如缓存管理(如何提高cache命中率?怎样保持cache的中的数据不会过期?),占用物理资源等。
Cache System Archicture

开启BIEE中的缓存:NQSConfig.ini配置文件中,将[CACHE]部分的ENABLE设置为YES

管理缓存

  • 在NGSConfig.ini中配置缓存大小,缓存条目单体大小,缓存条目数量等信息(参数含义见下文)
  • 在Administration中控制缓存
    • 在Manage > Cache中可以强制刷新缓存(refresh),可以看到NGSConfig的配置信息(show info),以及当前的缓存内容,并且可以对已有缓存进行管理,查看其sql,将其手动清除purge等
    • 在物理层中,可以对单个表设置是否缓存,以及缓存过期时间

    Cache Operations

 

缓存的清除

  • 缓存数目达到MAX_CACHE_ENTRIES定义的数目时,系统会将最久远的cache清除来缓存新的
  • 缓存到了物理表定义的过期时间时,会被清除
  • Cache Manager中手工清除cache

Seeding Cache:其思想是在终端用户去跑报表之前,我们先手工或自动去跑报表,让cache生成于系统之中,之后用户再运行的时候就可以利用到缓存了

  • 通过手工方式去跑报表
  • 通过ibot设置定期运行报表:要在delivers中创建ibot,并且在destination标签页中设置勾选Oracle BI server cache选项
    Seeding Cache
查询没有被缓存的几种情况
  1. 非缓存的SQL。如果SQL中包含Current_Timestamp, Current_Time,Rand, Populate, or a parameter marker,这时查询将不被缓存
  2. Non-cacheable表。如果一个查询相关的物理表在Oracle BI Server资料库中被标记为Non-cacheable,则不会被缓存
  3. 缓存命中。通常情况缓存命中的查询将不会被缓存,除了POPULATE_AGGREGATE_ROLLUP_HITS参数为YES的情况。
  4. Cache本身没被启动。在NQSConfig中ENABLE = YES条件下可以开启缓存
  5. 结果集太大。如果结果集有太多行,超过了MAX_ROWS_PER_CACHE_ENTRY,该条目不会被缓存;如果结果集占用空间太大,超过了MAX_CACHE_ENTRY_SIZE,该条目不会被缓存
  6. Cache中参数设置不合理:如果MAX_CACHE_ENTRY_SIZE比DATA_STORAGE_PATH路径能承受的大小还要大,那就无法缓存了
  7. 查询在presentation server被取消或者查询超时,则不会创建缓存
  8. OracleBI sever是集群的。集群中,查询缓存存在本地,而不会被传播,比如在节点1产生查询,缓存被存到该节点,而不会在节点2中也生成。

NQSconfig.ini文件中Cache相关的参数:

  1. Cache默认是开启的(ENABLE=YES),但在开发环境中可以将其关闭以提高效率
  2. 通过DATA_STORAGE_PATHS参数指定缓存的存放目录以及缓存大小,可以设置多个缓存,以逗号分隔,缓存最大不要超过4GB;在同一磁盘设备上设置多个缓存目录并不能提高性能,通常对每个磁盘设备设置一个缓存目录即可,如果超过一个,磁盘I/O加大会损害性能。
  3. MAX_ROWS_PER_CACHE_ENTRY,设置查询结果集中的最大行数,用来限制查询缓存的存储,如果一个查询超过这个指定值,该查询不会被缓存;为0时无限制
  4. MAX_CACHE_ENTRY_SIZE,设置每个缓存条目的最大值,如果超过该值则不会被缓存(即单个缓存文件的大小)
  5. MAX_CACHE_ENTRIES:设置缓存中被允许的缓存条目最大值(即共有多少缓存文件)。如果达到、超过最大值,系统会将最久远的cache清除来缓存新的。
  6. POPULATE_AGGREGATE_ROLLUP_HITS,该参数用来确定是否合计之前的缓存查询结果集,然后创建一个新缓存查询条目来累积缓存命中率。默认值为NO。把这个参数设置为YES的话,可以提高查询性能,但是会使更多的条目加到缓存中去,增加了缓存压力。比如一个查询语句为sales by region通常我们可以从缓存中sales by district,region解析。但是该参数为YES情况下,sales by region也会以新的条目加入到缓存中去。
  7. USE_ADVANCED_HIT_DETECTION:该参数为缓存命中提供了一个扩展的查询算法,具体算法还不清楚。这个扩展查询算法会影响性能。默认情况下参数设置为NO
  8. MAX_SUEXPR_SEARCH_DEPTH:该参数用来配置命中探测器查询一个不精确匹配查询表达式的深度。该参数默认值为5。如果该参数使用默认值,而查询表达式为sin(cos(tan(abs(round(trunc(profit))))))则不会命中。因为该表达式级别为7。修改参数到7的时候则能命中。
  9. GLOBAL_CACHE_STORAGE_PATH:该参数指定的路径用来存储集群的共享缓存条目。集群的所有节点使用同一个路径。
  10. MAX_GLOBAL_CACHE_ENTRIES:上述路径中保存缓存的最大条目数
  11. CACHE_POLL_SECONDS:每个节点从GLOBAL_CACHE_STORAGE_PATH指定的共享路径中取缓存数据的间隔,单位为秒
  12. CLUSTER_AWARE_CACHE_LOGGING:该参数用来开启集群缓存日志,用来故障处理。默认值为NO
分享到:
评论

相关推荐

    OBIEE缓存机制

    其主要功能在于存储之前查询的结果,当相同的查询再次发生时,OBIEE可以直接从缓存中读取数据,而不是重新查询数据库,从而显著提高了响应速度,减少了对数据库资源的消耗。 ##### 2.1 缓存生成 当用户首次访问...

    obiee11.1.1.7中文帮助文档

    7. **性能优化**:OBIEE 11.1.1.7版本对性能进行了优化,包括缓存机制、并行查询执行等,提升了大数据量下的查询速度。 8. **移动支持**:此版本还支持移动设备,用户可以通过手机或平板电脑访问OBIEE,随时随地...

    obiee11.1.1.7官方中文帮助手册

    6. **性能优化**:OBIEE提供了多种性能优化策略,如缓存管理、分析查询优化和物理表设计调整,以提高查询响应速度。 7. **集成与互操作性**:OBIEE可以与其他Oracle产品(如Siebel CRM、E-Business Suite)以及非...

    OBIEE学习总结之入门(PDF)-study.pdf

    此外,缓存的启用与关闭也可以在此文件中设置,例如通过设置ENABLE参数为YES或NO来开启或关闭缓存功能。修改此文件后需要重启BIServer才能生效。 instanceconfig.xml文件位于SADATADIR\web\config文件夹下,该文件...

    OBIEE基础实例

    在OBIEE中,主要涉及以下几个关键知识点: 1. **数据建模**: OBIEE使用Rapid Warehouse Builder (RWB) 进行数据建模。这包括创建物理层、业务模型和映射层。在物理层,我们连接到数据源,如数据库表或视图。在业务...

    OBIEE学习总结之入门

    - **Web Analysis (WA)**:OBIEE的网页分析工具,允许用户在浏览器中创建动态查询和分析。 - **Answers**:答案组件提供了报表和分析的交互式环境,用户可以自定义视图、过滤和排序数据。 - **Dashboard**:仪表...

    obiee 学习资料

    这个压缩包中的资源将覆盖以上各个层面的知识,为初学者提供全面的学习路径,帮助他们逐步掌握OBIEE的使用,从而在商业智能领域中游刃有余。通过深入学习和实践,你将能够利用OBIEE的强大功能,为企业提供洞察力,...

    obiee11g常见问题集

    在Oracle Business Intelligence Enterprise Edition (OBIEE) 11g的日常开发中,开发者经常会遇到各种挑战。以下是对这些常见问题的详细解答: 1. **下钻逻辑维实现**:在OBIEE中,下钻逻辑可以通过创建层次结构和...

    obiee常见问题及答案

    Oracle Business Intelligence ...以上问题解答提供了对OBIEE使用过程中可能遇到的常见问题的解决思路,但具体实施可能需要根据实际环境和版本进行调整。在实际操作中,还应参考Oracle的官方文档或寻求技术支持帮助。

    OBIEE MapViewer 地图数据管理 gis展示

    - **定义地图层**:在“管理 -> 地图数据管理”中选择添加新的地图层,OBIEE 会自动获取所选数据源中的地图层信息。这些信息对应 Map Builder 中的“Themes”,并且数据会被存储在 `USER_SDO_THEMES` 表中。 - **...

    Oracle_OBIEE_12c__Tuning_Guide_-_v3.pdf

    4. 调优OBIEE组件,包括Oracle BI Presentation Services、BI服务器、Java Host、调度器组件,以及如何垂直扩展(包括XSA缓存)。 5. 针对数据库参数的调优。 下面详细介绍文档中的关键知识点: 1. 对于操作系统...

    OBIEE 11g 报表发布JAVA源代码(发布文件包括图,表)

    在这个场景中,我们关注的是使用JAVA源代码来发布OBIEE 11g报表,这涉及到报表自动化和集成开发的过程。 1. **JAVA API for OBIEE** - OBIEE 11g 提供了一套Java API,名为 Oracle BI Presentation Services ...

    OBIEE 12c 数据级安全权限控制指南

    - **使用缓存**:选中“使用高速缓存”选项,以在缓存中存储值。 ##### 4. 在应用角色中调用目标变量 - **选择应用角色**:在应用角色页面中选择想要使用数据级权限管理的角色。 - **设置权限**:在权限对话框中,...

    OBIEE11g官方中文帮助手册

    以下将详细解析 OBIEE 11.1.1.6 官方中文帮助手册中的关键知识点。 1. **系统架构** - **元数据层**: OBIEE 构建在元数据层上,它定义了数据源、业务概念、度量和维度。RDF (Repository Data Foundation) 存储元...

    OBIEE10G NQSConfig.INI的参数详解

    `MAX_ROWS_PER_CACHE_ENTRY`限制了缓存条目的最大行数,`MAX_CACHE_ENTRY_SIZE`限制单个缓存文件大小,而`MAX_CACHE_ENTRIES`设置了缓存中允许的最大条目数量。当达到这个上限,系统会清除最早的缓存以容纳新的数据...

    【转】OBIEE11g支持的平台和操作系统

    **Oracle Business Intelligence Enterprise Edition (OBIEE) ...在实际操作中,确保遵循Oracle的官方文档和最佳实践,以获得稳定、高效和安全的OBIEE环境。通过持续学习和监控,可以进一步提升系统的性能和用户体验。

    obiee_example

    - 分区和缓存策略:学习如何优化Repository以提高性能,例如通过设置分区策略和缓存策略。 4. **Installing the Sample Schemas and Establishing a Database Connection** 在这部分,用户将学习如何设置示例模式...

Global site tag (gtag.js) - Google Analytics