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