轉(zhuǎn)帖|行業(yè)資訊|編輯:陳俊吉|2016-06-22 10:25:20.000|閱讀 1085 次
概述:本文將詳細解讀如何利用Cognos來減少后臺的響應(yīng)時間,從而提升客戶的操作體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
我們知道,對于BI(Business Intelligence商業(yè)智能的縮寫,下同)系統(tǒng)而言,前端訪問后臺系統(tǒng)的整體響應(yīng)時間是影響業(yè)務(wù)用戶實際體驗的重要指標。如果響應(yīng)時間太長(一般而言超過10秒),即使前端的圖形界面再眩再好看,也會嚴重打擊最終用戶對BI系統(tǒng)的使用興趣。因此,BI系統(tǒng)的客戶體驗差往往是我們很多分析系統(tǒng)項目實施失敗的重要原因之一。
為了應(yīng)對這一挑戰(zhàn),從版本 10.1.0 中開始提供了基于Java增強查詢執(zhí)行模式(Dynamic Query Mode,簡稱DQM,也就是動態(tài)查詢模式),同時仍保留對主要數(shù)據(jù)源的本地訪問權(quán)限。通過改進后的查詢執(zhí)行,動態(tài)查詢模式提供了主要的查詢優(yōu)化,可處理查詢復(fù)雜性和數(shù)據(jù)量。它還提供了增強的查詢功能(如內(nèi)存緩存),該功能可在保留用戶安全權(quán)限的同時針對查詢計劃。
IBM Cognos 動態(tài)查詢模式簡介
Dynamic Query Mode是IBM Cognos BI一種增強的基于Java的查詢模式,提供以下主要功能:
查詢優(yōu)化
查詢的優(yōu)化通過嚴格查詢規(guī)劃規(guī)則的高級應(yīng)用實現(xiàn)。這些規(guī)劃規(guī)則納入了下一代規(guī)劃方法,該方法更精簡且能夠提高質(zhì)量和執(zhí)行查詢的速度。查詢規(guī)劃流程本質(zhì)上也經(jīng)過優(yōu)化,以更好地利用元數(shù)據(jù)和表達式緩存,包括提供更高應(yīng)用程序吞吐量的規(guī)劃緩存。
通過平衡的本地處理工具實現(xiàn)性能提升
Dynamic Query Mode制定智能的、基于規(guī)則和系統(tǒng)負載的決策,其中部分查詢應(yīng)當(dāng)在應(yīng)用程序服務(wù)器本地執(zhí)行,而不是在數(shù)據(jù)庫服務(wù)器中遠程執(zhí)行。這確保用戶擁最高級的功能,不管基礎(chǔ)數(shù)據(jù)源是否支持商務(wù)智能報表的意圖。此外,Dynamic Query Mode包含一個細粒度元數(shù)據(jù)和單元數(shù)據(jù)緩存(即一個trickle fed)以及一個比以前更高的緩存命中率。另外,被發(fā)送到遠程數(shù)據(jù)源的查詢由執(zhí)行層根據(jù)緩存內(nèi)容和高級空值抑制邏輯進行進一步優(yōu)化。
安全感知的緩存
當(dāng)連接到安全的元數(shù)據(jù)源時,Dynamic QueryMode下提供的緩存邏輯能夠在每個用戶訪問數(shù)據(jù)源時確定安全的元數(shù)據(jù)源。然后該信息用于優(yōu)化內(nèi)存使用率和內(nèi)部表示該用戶的數(shù)據(jù)源元數(shù)據(jù)的安全視圖。也可以設(shè)置安全性,這樣就可以共享整個 OLAP 維度,提供緩存重用和性能效益。
利用 64 位處理的新數(shù)據(jù)接口
Dynamic Query Mode 是一個完全支持 64 位的數(shù)據(jù)訪問環(huán)境。它允許使用 64 位數(shù)據(jù)源驅(qū)動程序,且可以利用 64 位滿足查詢處理、元數(shù)據(jù)緩存和數(shù)據(jù)緩存的空間。
易于維護和查詢可視化
Query Visualization 能夠讓系統(tǒng)管理員分析 Dynamic QueryMode生成的查詢,并可視化地看到其處理方式。這些可視化包括來自查詢執(zhí)行的基于成本的信息。該信息允許快速識別模型和查詢優(yōu)化,應(yīng)用該優(yōu)化的目的是達到更好的性能。
技術(shù)架構(gòu)解析
傳統(tǒng)的兼容查詢模式的架構(gòu)圖如下所示:

如上圖所示,查詢模式架構(gòu)包括多個層。當(dāng)從QueryStudio、Report Studio、AnalysisStudio、Cognos Workspace、CognosWorkspace Advanced之一、Cognos Viewer或 IBM Cognos Software Development Kit (SDK) 等客戶端模塊收到報表請求時,該請求首先會由 Query Planning 層處理。
Query Planning 層的上部是 Query Framework (QFW)。QFW 會檢查報表請求并確定它是否包含一個或多個請求,且應(yīng)當(dāng)在這里處理查詢。針對 SAPBW,比如 Oracle Essbase 和 IBMCubing Services 類型的數(shù)據(jù)源的 OLAP 式查詢,會轉(zhuǎn)到 OLAP 查詢規(guī)劃器。針對 IBM DB2、Oracle、Teradata 類數(shù)據(jù)源的關(guān)系型查詢會轉(zhuǎn)到關(guān)系型查詢規(guī)劃器。Dimensionally Modeled Relational (DMR) 式的查詢會轉(zhuǎn)到 DMR 查詢規(guī)劃器。
每個查詢規(guī)劃器會生成適當(dāng)?shù)牟樵冋Z言,并將請求發(fā)送到其各自的查詢執(zhí)行層。對于 OLAP,查詢規(guī)劃器生成一個 MDX (MultidimensionalExpressions) 查詢并將其發(fā)送到多維數(shù)據(jù)服務(wù)(MDDS);對于關(guān)系型查詢,它生成 SQL 并將其發(fā)送到通用數(shù)據(jù)訪問(UDA)模塊。對于 DMR,首先處理一個多維數(shù)據(jù)集構(gòu)建請求,這會創(chuàng)建和加載一個臨時多維數(shù)據(jù)集,然后生成一個新 OLAP 式的查詢,發(fā)送該查詢并針對該臨時多維數(shù)據(jù)集處理此查詢。架構(gòu)的最低層表示IBM Cognos BI 支持的單個數(shù)據(jù)源類型和數(shù)據(jù)源。通過 MDDS 或 UDA 處理的查詢會被轉(zhuǎn)化成一種數(shù)據(jù)源理解的查詢語言慣用語,然后使用一個直接專用接口或通過 ODBC 或 XMLA 等通用接口發(fā)送到數(shù)據(jù)源。
最新的動態(tài)查詢模式的架構(gòu)圖如下所示:

從上圖看,雖然支持非常類似的請求流,動態(tài)查詢模式的架構(gòu)大大不同于兼容查詢模式。頂部的客戶端層顯示一個系統(tǒng)管理客戶端,它與查詢模式交互來顯示指標和統(tǒng)計并更改配置設(shè)置,比如運行查詢?nèi)罩尽?/p>
規(guī)劃層被整合到一個名為 TransformationLayer 的層中。轉(zhuǎn)換層本身不實現(xiàn)任何查詢規(guī)劃邏輯,它僅僅提供一個用于查詢轉(zhuǎn)換的執(zhí)行環(huán)境,這些轉(zhuǎn)換存放在名為轉(zhuǎn)換庫的獨立庫中。這是為了將規(guī)劃邏輯與規(guī)劃層分離開來。轉(zhuǎn)換庫為所有受支持的 OLAP 查詢提供查詢規(guī)劃邏輯,且在兼容查詢模式下支持查詢框架提供的所有功能。
在兼容查詢模式下Execution Layer 提供類似的查詢執(zhí)行功能給 MDDS 和 UDA,但是也是整合到單一模式中。它可以獨立于查詢或目標數(shù)據(jù)源的類型執(zhí)行任何查詢請求,且能夠在單一環(huán)境中執(zhí)行 SQL、MDX 和 XML。這部分地通過混合結(jié)果集(HResult)格式實現(xiàn),該格式允許內(nèi)存中的單個查詢結(jié)果同時以 OLAP 型(帶有軸、維度和單元)和關(guān)系型(表格,行和列)呈現(xiàn)。通過 HResult,執(zhí)行模式可以在單個運行樹中結(jié)合 MDX 和 XML,實現(xiàn)更高的靈活性和查詢性能。
動態(tài)查詢模式支持的數(shù)據(jù)源
您可以將動態(tài)查詢方式與數(shù)個 OLAP 數(shù)據(jù)源搭配使用,包括以下列表中的數(shù)據(jù)源:
您也可以將動態(tài)查詢方式與數(shù)個關(guān)系數(shù)據(jù)源搭配使用,包括以下列表中的數(shù)據(jù)源:
下面以DB2為例,我們來看看如果使用動態(tài)查詢模式實現(xiàn)與數(shù)據(jù)源的連接。
1. 在BI服務(wù)器上需要安裝 IBM DB2 客戶端軟件
2. 由于DQM需要通過jdbc訪問數(shù)據(jù)源,因此需要將jdbc驅(qū)動程序復(fù)制到cognos的相應(yīng)目錄。
a) 在要用于連接的數(shù)據(jù)庫的 IBM DB2 安裝目錄內(nèi),找到 ..\SQLIB\JAVA 目錄。
b) 在該目錄內(nèi),找到并復(fù)制 db2jcc4.jar 和 db2jcc_license_cu.jar 文件。
c) 在 IBM Cognos安裝目錄內(nèi),找到 ..\webapps\p2pd\WEB-INF\lib 目錄。
d) 將 db2jcc4.jar 和 db2jcc_licencse_cu.jar 文件粘貼到該目錄中。
e) 為了讓 IBM Cognos接受 IBM DB2 驅(qū)動程序,需要停止和啟動 IBM Cognos服務(wù)。
3. 創(chuàng)建數(shù)據(jù)源。
a) 使用瀏覽器打開主頁IBM Cognos Connection。
b) 點擊右上角“啟動”鏈接,并在彈出菜單里選擇IBMCognos Administration。
c) 點擊“配置”標簽頁,選擇“數(shù)據(jù)源連接”,并點擊“新建數(shù)據(jù)源”的按鈕。如下圖所示。

d) 在輸入數(shù)據(jù)源的名字后,點擊“下一步”,并在類型列表里選擇“IBM DB2”。注意這里一定要把 “配置JDBC連接”的復(fù)選框選中。如下圖所示:

e) 點擊“下一步”后,輸入DB2數(shù)據(jù)庫名稱和登錄用戶名密碼后,兼容查詢模式測試通過。

f) 然后進入JDBC的配置界面,將相關(guān)信息輸入后,動態(tài)查詢模式測試通過。


這樣,我們就可以使用動態(tài)查詢模式來實現(xiàn)Cognos的報表分析與DB2數(shù)據(jù)庫的連接了。
Dynamic Query Mode 特有的管理功能
隨著 Dynamic Query Mode 的引入,IBM Cognos Administration 中提供新的功能來配置、調(diào)優(yōu)和診斷新查詢服務(wù)。以下部分將識別新 UI 元素并簡要描述每個功能。
DQM參數(shù)設(shè)置
在 IBM CognosAdministration 中,可在“系統(tǒng)”下的“計分卡”選項卡上看到 QueryService服務(wù),在“設(shè)置 - QueryService”窗口里可以到“高級設(shè)置”、“環(huán)境”、“日志”、“調(diào)整”設(shè)置。如下圖所示:

點擊右上角的“設(shè)置屬性”按鈕,可以進行QueryService中DQM相關(guān)參數(shù)的調(diào)整。如下圖所示:

DQM使用維護
在IBM Cognos Administration中,可在“配置”下的“內(nèi)容管理”菜單選項的界面內(nèi)容看到“新建查詢服務(wù)管理任務(wù)”的按鈕。該功能中可用的任務(wù)是能夠針對不同的數(shù)據(jù)源進行Dynamic Query緩存的維護。如下圖所示:

例如:對于 DMR(Dimensionally Modeled Relational)數(shù)據(jù)源,可以定義的任務(wù)有清理 Dynamic Query 緩存(使用過時的數(shù)據(jù)避免)或?qū)⒕彺鏍顟B(tài)寫到(以便進行緩存使用分析)IBM Cognos服務(wù)器上的一個文件上。
而對于10.2.0版本之后新發(fā)布的Dynamic Cubes,則提供更多的Dynamic Query維護功能項,如下圖所示:

結(jié)束語
如需了解更多,請猛擊以下鏈接,發(fā)現(xiàn)驚喜!
via:華南IBM大數(shù)據(jù)支持團隊
詳情請咨詢“”!
客服熱線:023-66090381
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn