一、大數(shù)據(jù)輸出困惑
ERP系統(tǒng)穩(wěn)定運行后,隨著時間的流逝,系統(tǒng)中業(yè)務(wù)數(shù)據(jù)的量級也隨之攀升。特別是以SAP、Oracle商務(wù)套件為依托的ERP系統(tǒng),數(shù)據(jù)增量更為驚人。以筆者所在企業(yè)為例:該企業(yè)部署了SAP公司的ERP系統(tǒng),應(yīng)用涵蓋時尚行業(yè)、零售行業(yè)兩大解決方案;其中,零售解決方案的數(shù)據(jù)增量尤為驚人;如:終端零售數(shù)據(jù)以平均每年1億條記錄的量級增長,對應(yīng)的庫存事務(wù)、財務(wù)憑證數(shù)據(jù)都在1億條以上。如此海量數(shù)據(jù)的沉淀,業(yè)務(wù)用戶想快速輸出近期明細(xì)數(shù)據(jù)(實時性較強的數(shù)據(jù))卻成了一種奢望,近期交易數(shù)據(jù)尚且如此,歷史明細(xì)數(shù)據(jù)輸出更為艱難。如何滿足用戶的愿望,實現(xiàn)明細(xì)數(shù)據(jù)的快速輸出變得迫在眉睫。好在SAP系統(tǒng)提供了“數(shù)據(jù)壓縮”技術(shù)和“信息結(jié)構(gòu)”技術(shù),讓明細(xì)數(shù)據(jù)的快速輸出成為了現(xiàn)實。筆者與其技術(shù)團隊運用上述兩大核心技術(shù)解決了大數(shù)據(jù)明細(xì)輸出問題。
二、數(shù)據(jù)實時存儲
要保證明細(xì)數(shù)據(jù)快速輸出,首先要借助“信息結(jié)構(gòu)”技術(shù)實現(xiàn)數(shù)據(jù)的實時存儲和簡單整合。所謂“信息結(jié)構(gòu)”技術(shù),即:用戶根據(jù)自身的需要定義數(shù)據(jù)結(jié)構(gòu),確定數(shù)據(jù)整合邏輯及數(shù)據(jù)匯集粒度;待確定無誤后激活該數(shù)據(jù)結(jié)構(gòu)。一旦被激活,任何與之相關(guān)的業(yè)務(wù)操作都會按照事先設(shè)定的業(yè)務(wù)邏輯要求自動刷新(添加、修改、刪除等)對應(yīng)的數(shù)據(jù)表(Table)。通過“信息結(jié)構(gòu)”整合后的數(shù)據(jù)其存儲容量大大減少,同時,實現(xiàn)了明細(xì)數(shù)據(jù)的實時存儲。與數(shù)據(jù)倉庫比較而言,其特點就在于“實時”又“明細(xì)”。
三、“數(shù)據(jù)壓縮”技術(shù)
事實上,“信息結(jié)構(gòu)”中數(shù)據(jù)記錄超過1億條后,其查詢速度也將變慢;這樣以來,效率低下的問題依然存在。這時,可使用“簇數(shù)據(jù)表”技術(shù)來解決數(shù)據(jù)輸出速度慢的問題。“簇數(shù)據(jù)表”以數(shù)據(jù)塊為對象進行存儲,其數(shù)據(jù)表內(nèi)條目減少50倍左右;而且,其邏輯存儲和物理存儲完全是一致的,因此,明細(xì)數(shù)據(jù)查詢直接定位物理存儲,保證數(shù)據(jù)快速輸出?蓪“信息結(jié)構(gòu)”中的數(shù)據(jù)按照一定的邏輯進行分類形成若干個數(shù)據(jù)塊,分類完畢后,“簇數(shù)據(jù)表”首先存儲數(shù)據(jù)的分類邏輯;而后,將數(shù)據(jù)塊的物理地址與之關(guān)聯(lián)并存儲。到此為止,就實現(xiàn)了明細(xì)數(shù)據(jù)的壓縮機制。
四、“數(shù)據(jù)解壓”過程
明細(xì)數(shù)據(jù)需要輸出時,一旦用戶確定數(shù)據(jù)的輸出條件,程序根據(jù)條件內(nèi)容直接到對應(yīng)的“簇數(shù)據(jù)表”中查找符合條件的記錄,然后,根據(jù)記錄中物理地址的指向?qū)?shù)據(jù)塊釋放到內(nèi)存中。這樣以來,就完成了明細(xì)數(shù)據(jù)的快速輸出。在實際數(shù)據(jù)輸出時,由于用戶所需數(shù)據(jù)與數(shù)據(jù)塊中的數(shù)據(jù)不完全一致,同時,也要從多個數(shù)據(jù)塊中獲取,為了提高輸出效率,可使用“M+N”匹配法從多個數(shù)據(jù)塊中篩選出符合用戶需求的明細(xì)數(shù)據(jù)。
五、應(yīng)用案例
筆者所在企業(yè)的ERP系統(tǒng)中營銷數(shù)據(jù)約4億條記錄,即使通過“信息結(jié)構(gòu)”簡單壓縮后,數(shù)據(jù)量仍然在2.5億左右。當(dāng)下,在如此海量的數(shù)據(jù)表中查找近期一個月內(nèi)的明細(xì)數(shù)據(jù),依然困難重重。為此,索性引進“數(shù)據(jù)壓縮”技術(shù)解決該問題。相關(guān)技術(shù)部署完畢后,數(shù)據(jù)輸出測試結(jié)果:1000萬條數(shù)據(jù)記錄可在40秒內(nèi)輸出到顯示器上。
以下描述重在闡述該技術(shù)的應(yīng)用過程,期待對用戶有所啟發(fā)和幫助。
1、“信息結(jié)構(gòu)”配置
1.1 定義數(shù)據(jù)元素(SE11)
創(chuàng)建“信息結(jié)構(gòu)”時可以借用ERP系統(tǒng)的字段(Field);由于描述不清晰,故,可自行添加數(shù)據(jù)元素。
1.2 擴展結(jié)構(gòu)MCBEST(SE11)
點擊“附件結(jié)構(gòu)…”,將新建數(shù)據(jù)元素加入結(jié)構(gòu)MCBEST中。
1.3 維護自定義字段目錄(MC18)
作用:便于在創(chuàng)建信息結(jié)構(gòu)時字段選擇。
1.4 維護公式(MC1P)
例一:入庫數(shù)量公式;
例二:出庫數(shù)量公式;
例三:入庫庫金額公式;
例四:出庫金額公式;
1.5 維護自定義“信息結(jié)構(gòu)”(MC21)
1.6 維護數(shù)據(jù)更新規(guī)則(MC24)
顯示其中之一:移動/調(diào)整入庫數(shù)量配置參數(shù);
如何處理:“發(fā)票校驗”、“修改價格”等無數(shù)量更新而有價值更新業(yè)務(wù)。
1.7 激活更新(OMO9)
1.8 初始化“信息結(jié)構(gòu)”的數(shù)據(jù)
T-CODE:OLI1用于更新BF事件歷史數(shù)據(jù);
T-CODE:OLIZ用于UM事件歷史數(shù)據(jù)。
由發(fā)票校驗引起的價值更新,即可以通過OLI1更新,也可以通過OLIZ更新;因此,數(shù)據(jù)初始化時應(yīng)避免重復(fù),造成數(shù)據(jù)重復(fù)計算。
2、“簇數(shù)據(jù)表”
2.1 數(shù)據(jù)簇
概念:數(shù)據(jù)簇是一個數(shù)據(jù)塊,該數(shù)據(jù)塊聚合了若干ABAP/4中的數(shù)據(jù)對象(如圖所示)。
(圖1)
圖1備注1:數(shù)據(jù)簇 = 數(shù)據(jù)對象聚合 ,ABAP/4中基本字段,字符串,內(nèi)表都是數(shù)據(jù)對象。
圖1備注2:數(shù)據(jù)簇可以在ABAP/4內(nèi)存或數(shù)據(jù)表進行存取。
2.2 “簇數(shù)據(jù)表”
定義:存儲數(shù)據(jù)簇的特殊透明表,稱為簇數(shù)據(jù)表。
結(jié)構(gòu):見圖2:
(圖2)
圖2中3(關(guān)鍵字)是數(shù)據(jù)簇的標(biāo)識,即通過這個標(biāo)識來找到這個數(shù)據(jù)簇;它由若干個字段組成,由用戶定義。
圖2中5(用戶數(shù)據(jù))由用戶定義,不是必須字段,可以不定義。
圖2中7(數(shù)據(jù)簇)字段名由系統(tǒng)默認(rèn),用戶可以修改字段默認(rèn)的長度,用于存數(shù)據(jù)簇。
圖2中1(集團)、2(區(qū)域)、4(行計算器)、6(數(shù)據(jù)長度)這四個字段名由系統(tǒng)默認(rèn),用戶不能修改。定義“簇數(shù)據(jù)表”結(jié)構(gòu)時,圖2中的字段順序不能改變。
2.3 創(chuàng)建“簇數(shù)據(jù)表”(SE11)
2.4 “簇數(shù)據(jù)表”操作語法
*在“簇數(shù)據(jù)表”中存儲數(shù)據(jù)對象:
2.5 為什么使用“簇數(shù)據(jù)表”
*透明表條目數(shù)太多,用SQL查詢很慢,幾乎不可查詢。
*“簇數(shù)據(jù)表”將透明表內(nèi)容壓縮為數(shù)據(jù)塊進行存儲,條目數(shù)大大減少。
*“簇數(shù)據(jù)表”若干個數(shù)據(jù)塊做為一個物理記錄,實現(xiàn)邏輯和物理存儲一致,查詢速度更快。
3、實例—“店鋪期間銷售數(shù)量和銷售金額查詢”
3.1 “信息結(jié)構(gòu)”創(chuàng)建
按照1.1至1.8步驟創(chuàng)建“信息結(jié)構(gòu)”S911,用來記錄物料在工廠和存儲地點下的數(shù)量和金額每一筆記錄。
3.2 創(chuàng)建“簇數(shù)據(jù)表”ZTS911(SE11)
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:“數(shù)據(jù)壓縮”技術(shù)助力SAP/ERP 系統(tǒng)大數(shù)據(jù)快速輸出
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10819917038.html