㈠ 中心資料庫設計
5.2.2.1 資料庫
根據該系統的開發需求,按照資料庫的功能和作用將其分為風險查詢類、風險評價類、系統管理類三大類(薩師煊等,2000)。主要數據見表5.5。
表5.5 海外油氣與金屬礦產資源開發風險管理系統的主要數據表
續表
5.2.2.2 數據倉庫
油價數據來源於美國能源部(DOE)下屬的能源信息署(EIA)網站、中石油(CNPC)網站和《華爾街日報》(WSJ)網站提供的油價數據,油價序列本身就是一個不規則的時間序列,油價數據具有以下幾個特點。
(1)數據的一致性差
油價數據格式多樣,存在數據冗餘,主要體現在:使用的數據格式均不相同,並且各個子系統相對獨立。在網站單獨作用的情況下,一般都沒有問題,但要將這些不同系統或不同時期的數據集中起來綜合利用,就可能出現數據不齊全、不一致或重復的現象。
(2)數據存放的分散
油價數據來源多,缺乏統一管理,沒有一種相應的網頁數據自動化抓取操作實現數據的本地化操作過程。
(3)數據資源開發不充分
大容量數據導致對數據資源的開發利用不充分,缺乏對獲取的數據如各分析機構制定的期貨合約元數據進行各種深層次分析、綜合、提煉、挖掘和展現的應用,因此很難對豐富的統計數據資源進行二次開發利用。
根據油價數據中所包含的油氣產品種類、油氣產品合約制定日期、油氣產品的價格類型、不同市場下油氣產品價格的差異等,能夠加深對油價走勢的了解。油價的這種與時間相關性、不可修改性,以及集成的性質,使得我們採用多種角度對原始數據進行理解,並真實反映其特性,也讓我們發現使用一種整合的技術對油價進行精確預測十分必要。
數據倉庫的構建流程如圖5.13所示由下至上逐步實現。
圖5.13 數據倉庫構建流程
1)數據源。
A.數據源的復雜性。數據分散在資料庫管理系統、電子表格、電子郵件系統、電子文檔甚至紙上。系統中要求採集的3個數據源中,EIA 網站存儲在網頁上的油價相關事件更新較慢,雖然提供了各市場日、周、月、年的油價數據下載,但是下載完成之後的表格欄位格式時常發生變化,這為實現自動獲取數據並下載到本地自動入庫的要求增加了難度;中石油網站數據除上述只顯示3條數據之外,網站上會將訪問流量過大的IP地址列入黑名單使其不能繼續下載到本地進行保存,為這些數據建立統一的模型將會耗費很大精力。
B.數據的有效性。由於存在經驗局限,如何處理數據的空值、不同時間間隔時間欄位格式,入庫時應注意的問題等,如果應用程序沒有檢驗數據的有效性,會對數據多維顯示產生極大影響,因此也歸結為數據源數據質量問題。
C.數據的完整性。數據源上的數據並不那麼明顯或者容易獲得。油價是高度敏感的數據,因此各個網站雖然提供了各個油品交易市場的日、月或年數據,但是完整性並不能充分保證,根據企業政策的不同,有時對要獲得的數據,需花費大量精力。為此,要對不同的數據源進行建庫,以保證所獲數據的完整性。
2)數據處理。
高效的多維數據集展示離不開底層數據源數據的精確獲取,或者叫做數據理解和數據清洗。於是系統在基於元數據獲取、加工、入庫和多維數據集展示上實現預期的要求。
A.ETL。該功能是整個油價數據倉庫的核心之一,主要功能是按照事先定義的數據表對應關系從相關系統表中抽取數據(Extraction),經過數據清洗和轉換(Transform),最終把正確的數據裝載到數據倉庫的源數據中(Load),作為以後應用的基礎。
B.數據轉換。該功能是在數據抽取過程中按照定義的規則轉換數據,避免了數據在分析時的多樣性,保證數據一致性。
C.數據集成。該功能主要是把油價信息數據倉庫系統的源數據,按照事先定義的計算邏輯以主題的方式重新整合數據,並以新的數據結構形式存儲。
3)數據存儲。
星型模型(星型架構)是數據倉庫開發中多維展現重要的邏輯結構,構成星型模型的幾個重要特徵是:維、度和屬性,在實際應用中表示為事實表和維度表。在油價數據中,各市場的期現貨價格表為數據倉庫的事實表,油品類型、合約規定日期等為維度表。
油價數據倉庫星型模型的設計方案如下:
A.事實表。資料庫表中EIA的期現貨價格表(包括日、周、月、年表)作為數據倉庫中的事實表,根據不同時間維度構成多個星型模型,即星座模型。這些價格表中以市場編號、油氣產品類型、期貨合約日期、價格單位度量衡編號作為主鍵和外鍵與其他維度表相連,形成多維展示聯動的基礎,以油價數據和其他事實數據為記錄數據,作為主要輸出結果。
B.維度表。根據市場、油品、價格數據、度量衡和事件類型作為油氣數據倉庫中多維分析的角度和目標。
圖5.14以EIA的日期貨數據表作事實表為例,構建星型模型,其他不同時間維度的模型結構圖與此圖基本相同。
圖5.14 以EIA數據為例的日期貨價格星型模型
以星型模型設計為基礎,完善數據存儲中操作型數據存儲(ODS)的原型設計,提供DB-DW之間中間層的數據環境,可實現操作型數據整合和各個系統之間的數據交換。