一文教會你MES生產(chǎn)統(tǒng)計如何通過ODS實現(xiàn)
數(shù)據(jù)倉庫(DataWarehouse簡稱DW)創(chuàng)建的目的是用于決策支持,因此建立一個完善可靠的決策支持系統(tǒng)就取決于是否能建立一個好的數(shù)據(jù)倉庫。盡管基于數(shù)據(jù)倉庫的決策支持系統(tǒng)已被認為是一個很好的用于決策支持的方案,但由于這種體系結(jié)構(gòu)將操作環(huán)境與分析環(huán)境完全分離開來,使得這一體系結(jié)構(gòu)不適合于中層管理人員和即時分析處理的應(yīng)用。為此提出了業(yè)務(wù)數(shù)據(jù)商店(OperaTIonal Data Stores簡記為ODS)的概念。它彌補了DB-DW兩層體系結(jié)構(gòu)的不足,而形成了一種基于DB-ODS-DW的三層體系結(jié)構(gòu)。
業(yè)務(wù)數(shù)據(jù)商店是用于支持企業(yè)日常的全局應(yīng)用的數(shù)據(jù)集合,將它視為業(yè)務(wù)處理的基礎(chǔ),它可向數(shù)據(jù)倉庫饋送數(shù)據(jù),又稱其為操作數(shù)據(jù)存儲。保存在ODS中的數(shù)據(jù)具有以下特點:面向主題的、集成的、可變的、數(shù)據(jù)是當前或接近當前的。與DW一樣,ODS中的數(shù)據(jù)組織方式是面向主題的、集成的,因此ODS是建立在數(shù)據(jù)庫之上的,進入ODS的數(shù)據(jù)也要進行抽取、轉(zhuǎn)換和集成。不同于數(shù)據(jù)倉庫的是,ODS中存放當前或接近當前的數(shù)據(jù),可以進行聯(lián)機修改,包括增、刪、修改等操作,因此,它們兩者的技術(shù)支持不盡相同,ODS要支持面向記錄的聯(lián)機更新,又要保證其數(shù)據(jù)與原數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性,因而需要的支持技術(shù)與面向應(yīng)用的分散數(shù)據(jù)庫系統(tǒng)(DB)的支持技術(shù)一樣復(fù)雜。ODS與傳統(tǒng)的數(shù)據(jù)庫(DB)不同之處還在于ODS提供了全局一致的聯(lián)機事物處理(OLTP),而DB只適用于部門級的OLTP,數(shù)據(jù)庫DB、業(yè)務(wù)數(shù)據(jù)商店ODS和數(shù)據(jù)倉庫DW三者之間的比較。
表1 數(shù)據(jù)庫DB、業(yè)務(wù)數(shù)據(jù)商店ODS和數(shù)據(jù)倉庫DW三者之間的比較
二、ODS的概念及作用
ODS是一個面向主題的、集成的、可變的、當前的細節(jié)數(shù)據(jù)集合,用于支持企業(yè)對于即時性的、操作性的、集成的全體信息的需 求。常常被作為數(shù)據(jù)倉庫的過渡,也是數(shù)據(jù)倉庫項目的可選項之一。
那么為什么需要有一個ODS系統(tǒng)呢?一般在帶有ODS的系統(tǒng)體系結(jié)構(gòu)中,ODS都具備如下幾個作用:
表2 ODS體系結(jié)構(gòu)作用圖
表3 ODS分類和特點圖
三、ODS應(yīng)用中應(yīng)注意的問題
ODS雖然是一個新的提法,但就其實質(zhì)內(nèi)容來說,它并不是一個新的事物,ODS是基于數(shù)據(jù)倉庫的決策支持技術(shù)的另一方面或另一表現(xiàn)形式。因此可以用現(xiàn)成的數(shù)據(jù)倉庫技術(shù)(DWT:Data Warehouse Technology)來建立ODS。DWT 是指一系列方法、技術(shù)和工具,充分利用這一切便可以產(chǎn)生一種能在集成平臺上向最終用戶傳遞數(shù)據(jù)的載體。ODS應(yīng)用主要由兩方面:一類是作為一種獨立的解決方案為需要集成操作環(huán)境的企業(yè)提供全局一致的應(yīng)用;另一類是作為從DB向DW的一種過渡形式,建立一種基于DB-ODS-DW的三層體系結(jié)構(gòu)的決策支持系統(tǒng)解決方案。
盡管創(chuàng)建ODS系統(tǒng)可以采用DWT技術(shù),但由于通常ODS既要執(zhí)行傳統(tǒng)的事務(wù)處理環(huán)境的功能又要執(zhí)行特別決策支持環(huán)境的功能,而這兩種環(huán)境本身差異很大,充分發(fā)揮這兩種環(huán)境性能的技術(shù)是直接沖突的,因此ODS的設(shè)計是復(fù)雜的。在考慮選取哪種類型的ODS應(yīng)用、體系結(jié)構(gòu)是采用集中式的還是采用分布式、開發(fā)方法是采用“自上而下”的方法,還是“自下而上”的方法,這些因素都與企業(yè)自身的性質(zhì)及狀況、企業(yè)規(guī)模的大小、所經(jīng)營業(yè)務(wù)范圍等具體情況緊密相聯(lián)。
四、ODS的定位和作用ODS主要為了優(yōu)化報表速度,整合交互數(shù)據(jù),擴展第三方集成為目標,形成企業(yè)數(shù)據(jù)倉庫(EDW)的基礎(chǔ)。ODS集成通用數(shù)據(jù),作為輸出和展示使用的數(shù)據(jù)來源,在系統(tǒng)中的作用是非常重要的,在MES2.0中,以保存關(guān)系型數(shù)據(jù)為主,不涉及類似PRM的靜態(tài)數(shù)據(jù),又或PHD的實時數(shù)據(jù),而是以固定的業(yè)務(wù)結(jié)算單元進行數(shù)據(jù)的抽取和存儲。
MES的ODS既擁有傳統(tǒng)ODS的性能,也兼顧了部分DW的功能,可以說是介于兩者之間的一個綜合體,相應(yīng)的為了滿足地區(qū)公司對綜合業(yè)務(wù)的需求,以及系統(tǒng)性能優(yōu)化上,也犧牲了一些的相悖的功能。
適當控制數(shù)據(jù)粒度的同時,以DW的維度與事實存儲數(shù)據(jù),保持了數(shù)據(jù)的頻度和穩(wěn)定性,原則上作為只讀庫,同樣也在系統(tǒng)性能上有了大幅度的提升,不僅滿足了企業(yè)輔助決策,同時也支持了中層業(yè)務(wù)管理的需求。為了滿足保留歷史數(shù)據(jù)又兼顧系統(tǒng)性能,進行了數(shù)據(jù)表的拆分,可以通過配置修改ODS表中保留的數(shù)據(jù)期限,超出期限的數(shù)據(jù)歸檔到歷史數(shù)據(jù)表中,后續(xù)根據(jù)實施進程還會進一步將共性問題添加到ODS當中去。
五、ODS的現(xiàn)狀ODS在總體設(shè)計階段,向MES包含范圍的其他模塊發(fā)送了收集ODS集成數(shù)據(jù)的郵件,經(jīng)過總體組各方反饋,進行了ODS的設(shè)計與開發(fā),目前ODS包含MES物料平衡、生產(chǎn)調(diào)度、公用工程、計量管理四個模塊,共計42張維度與事實表,6個視圖,1個存儲過程,5個包頭包體,26個計劃任務(wù),1個序列。
表4 ODS的現(xiàn)狀
六、ODS的架構(gòu)
ODS數(shù)據(jù)來源于基礎(chǔ)的業(yè)務(wù)數(shù)據(jù)庫,經(jīng)過ETL的抽取和加工,存儲于ODS中,再經(jīng)過進一步整合加工,提供給生產(chǎn)統(tǒng)計報表和相關(guān)展示模塊。
圖1 ODS的架構(gòu)
七、ODS的構(gòu)建原理及方法
圖2 ODS的創(chuàng)建數(shù)據(jù)對象的一般流程
目前MES的ODS表和業(yè)務(wù)數(shù)據(jù)表在同一個數(shù)據(jù)庫中,后續(xù)會將ODS遷移至獨立的表空間,ODS中的維度表是以全量的方式推送,先刪后插,在推送數(shù)據(jù)前記錄日志信息,數(shù)據(jù)推送完后修改日志的狀態(tài);ODS中的事實表是以增量的方式推送,在推送數(shù)據(jù)前記錄日志信息,推送數(shù)據(jù)的開始時間為當前時間,業(yè)務(wù)數(shù)據(jù)增量獲取方式是通過業(yè)務(wù)數(shù)據(jù)中的修改日期字段獲取日期在最后一次推送的時間到本地推送時間段內(nèi)的數(shù)據(jù),數(shù)據(jù)推送完后修改日志的狀態(tài)。數(shù)據(jù)推送以及修改日志狀態(tài)必須寫在同一個事務(wù)中,如果出現(xiàn)異?;貪L,并修改日志狀態(tài)。推送數(shù)據(jù)的存儲過程創(chuàng)建完后,將每個模塊推送數(shù)據(jù)的存儲過程放在一個包中。
圖3 數(shù)據(jù)推送
作業(yè)
創(chuàng)建JOB,定義數(shù)據(jù)的抽取頻次;
根據(jù)實際情況定義JOB的執(zhí)行時間,完成數(shù)據(jù)的自動抽?。?/p>
測試過程中可以人為手動執(zhí)行。
歸檔
每個事實表都要對應(yīng)的創(chuàng)建歷史數(shù)據(jù)歸檔表;
創(chuàng)建歸檔配置表,并配置歸檔記錄;
創(chuàng)建JOB調(diào)用歸檔存過程,完成定期自動歸檔。
優(yōu)化
聚集索引:保證實體的完整性;加快數(shù)據(jù)庫的操作速度。
圖4 公用工程能流點數(shù)據(jù)的ODS案例
非聚集索引:大大加快數(shù)據(jù)的檢索速度;保證數(shù)據(jù)記錄的唯一性;加快表和表之間的連接,實現(xiàn)表與表之間的參照完整性;在使用分組和排序子句進行數(shù)據(jù)檢索時,可以減少查詢中分組和排序的時間。
視圖:方便查詢,簡化數(shù)據(jù)操作,提高數(shù)據(jù)的安全性。