曾 超株洲中車(chē)時(shí)代電氣股份有限公司信息中心
淺析基于SAP BW數(shù)據(jù)倉(cāng)庫(kù)最佳實(shí)踐
曾 超
株洲中車(chē)時(shí)代電氣股份有限公司信息中心
曾超,男,本科,主要研究方向?yàn)槠髽I(yè)ERP、數(shù)據(jù)倉(cāng)庫(kù)、大數(shù)據(jù)領(lǐng)域;熊婧婧,女,本科,主要研究方向?yàn)槠髽I(yè)ERP、數(shù)據(jù)倉(cāng)庫(kù)、全面預(yù)算管理領(lǐng)域;陳意亭,女,本科主要研究方向?yàn)槠髽I(yè)ERP、數(shù)據(jù)倉(cāng)庫(kù)、制造信息化領(lǐng)域。
SAP BW (Business Warehouse 商務(wù)數(shù)據(jù)倉(cāng)庫(kù))作為一個(gè)端對(duì)端的數(shù)據(jù)倉(cāng)庫(kù)解決方案,是SAP商務(wù)智能的集成化組件之一, 它為SAP 數(shù)據(jù)和非 SAP 數(shù)據(jù)的采集、存儲(chǔ)、分析和管理提供一個(gè)集成的、面向商務(wù)的平臺(tái)。BW主要包含信息對(duì)象、信息立方體 (InfoCube) 、數(shù)據(jù)存儲(chǔ)對(duì)象(DSO)這幾個(gè)特性。一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)倉(cāng)庫(kù)模,包含從最底層的數(shù)據(jù)源-PSA-DSO-DTP-CUBE-最后到數(shù)據(jù)展現(xiàn)層(QUERY等)。其靈活的數(shù)據(jù)轉(zhuǎn)換工具,易于使用的前臺(tái)報(bào)表,整合的Web報(bào)表,通過(guò)不同的工具將數(shù)據(jù)轉(zhuǎn)換到非SAP系統(tǒng)中,使得信息分析員和決策者都可以迅速獲得來(lái)自不同系統(tǒng)的高度集成化信息,進(jìn)行數(shù)據(jù)的分析,提供準(zhǔn)確的綜合性報(bào)表以及商務(wù)智能功能。企業(yè)通過(guò)使用SAP BW,進(jìn)行智能化運(yùn)作,得到完整有效的信息,使企業(yè)價(jià)值鏈中的內(nèi)、外成員可以更有效地交流信息和開(kāi)展合作,在重要信息分析的基礎(chǔ)上及時(shí)解決問(wèn)題、預(yù)測(cè)發(fā)展趨勢(shì)、做出戰(zhàn)略決策,降低風(fēng)險(xiǎn),達(dá)到企業(yè)收益最大化。
SID建議
1.對(duì)將出具QUERY報(bào)表的DSO,“系統(tǒng)標(biāo)示生成”沿用默認(rèn)的“激活期間”;
2.對(duì)未來(lái)可能出具QUERY報(bào)表的DSO,“系統(tǒng)標(biāo)示生成”使用“報(bào)告期間”;
3.對(duì)未來(lái)不可能出具QUERY報(bào)表的DSO,“系統(tǒng)標(biāo)示生成”使用“從不創(chuàng)建SID”。
解釋?zhuān)荷蒁SO信息對(duì)象的SID,主要用于加快QUERY對(duì)DSO的訪問(wèn)速度;但生成DSO信息對(duì)象的SID,會(huì)占用DSO激活的大量資源。所以,根據(jù)需要取舍。
DSO其他參數(shù)及索引建議
1.對(duì)于時(shí)常發(fā)生激活報(bào)錯(cuò)的DSO:調(diào)高“等待激活時(shí)間”或減少進(jìn)程數(shù)。(TCODE:RSODSO_ SETTINGS)。
2.如果某個(gè)“特征”信息對(duì)象被放入 DSO的 “數(shù)據(jù)字段”中,并且此字段將用于QUERY查詢(xún)的讀取條件,需要為此信息對(duì)象在DSO中創(chuàng)建索引。
DSO中不建議勾選任何主數(shù)據(jù)的導(dǎo)航屬性用于查詢(xún)不建議直接使用標(biāo)準(zhǔn)的DSO,建議復(fù)制標(biāo)準(zhǔn)的DSO來(lái)創(chuàng)建自己的DSO。
需要在CUBE數(shù)據(jù)加載前刪除索引,這樣可以提高加載速度,并且在CUBE數(shù)據(jù)加載后創(chuàng)建索引,這樣可以提高查詢(xún)速度。
CUBE 中不建議勾選“數(shù)據(jù)量大的”主數(shù)據(jù)導(dǎo)航屬性用于查詢(xún)。
CUBE中某個(gè)維度的記錄。占CUBE中記錄數(shù)的20%以上,需要勾選維度的屬性“高基數(shù)”。
解釋?zhuān)菏褂贸绦颍篠AP_INFOCUBE_DESIGNS可以查詢(xún)對(duì)應(yīng)CUBE中的維度的記錄數(shù)和CUBE的F表記錄數(shù)的占比。
對(duì)于查詢(xún)組合條件不多的、且?guī)ё杂商卣鞯腃UBE,建議使用聚集。
解釋?zhuān)撼敲鞔_知道用戶對(duì)新創(chuàng)建的CUBE的查詢(xún)字段的使用頻率,否則建議在使用一段時(shí)間(建議半年后)。根據(jù)用戶查詢(xún)統(tǒng)計(jì),來(lái)創(chuàng)建聚集。
超大數(shù)據(jù)量CUBE使用語(yǔ)義分區(qū)。
因?yàn)橄嗤瑪?shù)據(jù)量存儲(chǔ)在多個(gè)模型并發(fā)查詢(xún),永遠(yuǎn)比存儲(chǔ)在一個(gè)模型串行要快。另外再加入一些特殊手段(比如在QUERY層,給信息提供者設(shè)置出口變量。根據(jù)用戶查詢(xún)條件,動(dòng)態(tài)限定查詢(xún)某一個(gè)或幾個(gè)信息提供者,而不用每次查詢(xún)多信息提供者的所有信息提供者,實(shí)現(xiàn)“智能查詢(xún)”)。
不建議直接使用標(biāo)準(zhǔn)的CUBE,建議復(fù)制標(biāo)準(zhǔn)的CUBE來(lái)創(chuàng)建自己的CUBE。
確定沒(méi)有文本的信息對(duì)象,需要去除文本選項(xiàng);確定沒(méi)有屬性的信息對(duì)象也需要去除屬性選項(xiàng),避免不必要的系統(tǒng)表產(chǎn)生。確定不需要前導(dǎo)0的需要去除轉(zhuǎn)換例程。 預(yù)計(jì)會(huì)存儲(chǔ)漢字的特征需要勾選:“小寫(xiě)字母”。 修復(fù)問(wèn)題的信息對(duì)象,使用程序RSDMD_CHECKPRG_ALL。請(qǐng)一定用常規(guī)渠道(右鍵 —〉 刪除主數(shù)據(jù))的方法來(lái)刪除信息對(duì)象的主數(shù)據(jù)和SID數(shù)據(jù)。不能使用代碼或其他特殊手段刪除信息對(duì)象表的數(shù)據(jù)。
提示:刪除信息對(duì)象數(shù)據(jù)的一般方法:1.查找信息對(duì)象在哪些模型中使用,刪除被使用模型的數(shù)據(jù) 2.刪除信息對(duì)象已經(jīng)加載的屬性和文本請(qǐng)求 3.右鍵刪除信息對(duì)象主數(shù)據(jù)。
建議使用公用的主數(shù)據(jù)信息對(duì)象。
建議根據(jù):RSRT-à“履行信息”中的項(xiàng)目進(jìn)行優(yōu)化。
盡量在QUERY查詢(xún)條件中使用include(包含方式)選擇,而不要使用exclude(排除方式)選擇變量或值。
盡量不要在QUERY中使用 RKF(受限的關(guān)鍵指標(biāo)),和計(jì)算的關(guān)鍵指標(biāo)。會(huì)消耗大量QUERY的字段。只需要在列區(qū)域使用公式。
在確認(rèn)系統(tǒng)已經(jīng)啟用高速緩存后,優(yōu)化下面三個(gè)參數(shù):
更改下面三個(gè)參數(shù)(TCODE:RZ11)重啟服務(wù)器:rsdb/obj/buffersize = 800000 (800MB)rsdb/esm/ buffersize_kb =500000 (500MB)rsdb/esm/max_ objects = 20000 (20000個(gè))
盡量少在QUERY中使用例外、條件。而將這部分功能交給最終的展現(xiàn)層,例如BO。
使用TCODE:RSPCM 監(jiān)視日常處理鏈。
處理鏈中經(jīng)常報(bào)錯(cuò)、但又不可重現(xiàn)的節(jié)點(diǎn)(自動(dòng)重復(fù)一次就OK的),可以把對(duì)應(yīng)的 DTP包勾選“自動(dòng)重復(fù)處理鏈中的紅色請(qǐng)求”(在DTP的“執(zhí)行”標(biāo)簽)。
一條處理鏈節(jié)點(diǎn),非特殊情況不要超一屏,如果要超過(guò),就使用子鏈拆分。如下圖:
作者在參與項(xiàng)目過(guò)程中,通過(guò)實(shí)踐表明,本文總結(jié)的BW 最佳實(shí)踐有效地提高了本公司BW系統(tǒng)的整體性能,使系統(tǒng)可用性得到了提高,這對(duì)提高用戶滿意度起著重要的作用。