OBIEE中的快取

2021-09-01 12:12:05 字數 2297 閱讀 6728

from:

biee的快取是基於檔案的,而不是在記憶體中,快取檔案以.tbl為副檔名。快取對於提高查詢效率很有幫助,它可以讓查詢直接從快取檔案中產生結果,而不用訪問資料庫,避免了資料庫查詢和網路傳輸上的時間損耗。但cache也帶來其它問題,如快取管理(如何提高cache命中率?怎樣保持cache的中的資料不會過期?),占用物理資源等。

開啟biee中的快取:nqsconfig.ini配置檔案中,將[cache]部分的enable設定為yes

管理快取

快取的清除

seeding cache:其思想是在終端使用者去跑報表之前,我們先手工或自動去跑報表,讓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中也生成。

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中的快取

biee的快取是基於檔案的,而不是在記憶體中,快取檔案以.tbl為副檔名。快取對於提高查詢效率很有幫助,它可以讓查詢直接從快取檔案中產生結果,而不用訪問資料庫,避免了資料庫查詢和網路傳輸上的時間損耗。但cache也帶來其它問題,如快取管理 如何提高cache命中率?怎樣保持 cache的中的資料不會...

OBIEE中的TOPN分析

topn的意思 在某個系統中,有時候需要根據一定的規則對資料進行排序,並從排序列表中選取出最大或最小的n個資料,這就是乙個top n演算法。實現方式 但是在利用topn進行分析時會存在很多細節問題,例如 如果有重複的資料怎麼處理呢?首先,對沒有重複的資料進行topn分析 該部分的實現是比較簡單的。在...

OBIEE 開啟和關閉OBIEE的SSO登陸認證

一 obiee開啟lightweight sso登陸操作 登入biee所在伺服器作業系統,以離線的方式啟動wlst命令列 1 cd u01 obiee oracle middleware oracle home oracle common common bin 2 執行 wlst.sh 3 wls ...