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