林志燦
(閩南理工學(xué)院 實踐教學(xué)中心,福建 石獅 362700)
泉州太平洋集裝箱碼頭有限公司所經(jīng)營的石湖港區(qū)為國家一類口岸,主營集裝箱業(yè)務(wù),兼營以荒料石為主的散雜貨業(yè)務(wù)(含保稅倉儲業(yè)務(wù)).截至當(dāng)前,國內(nèi)外諸多知名集裝箱公司已在石湖港區(qū)開辟了20多條集裝箱航線,航線輻射國內(nèi)各主要港口.石湖港區(qū)已然發(fā)展成泉州港內(nèi)貿(mào)集裝箱樞紐港和東南亞地區(qū)最大的石材交易市場.[1]
目前,該公司的數(shù)據(jù)分析利用獨立的業(yè)務(wù)數(shù)據(jù)進行提取分析,無法靈活的實現(xiàn)綜合性數(shù)據(jù)關(guān)聯(lián)分析.若需對作業(yè)成本、收入情況、作業(yè)量及效率進行分析,就要建立一個適合綜合分析、便于擴展、符合該公司業(yè)務(wù)情況的統(tǒng)一數(shù)據(jù)模型.
基于以上因素,提出泉州太平洋集裝箱碼頭數(shù)據(jù)倉庫項目[2],本文主要研究在數(shù)據(jù)倉庫建設(shè)的初期,設(shè)計生產(chǎn)操作數(shù)據(jù)的數(shù)據(jù)倉庫.
首先,分析泉州太平洋集裝箱碼頭業(yè)務(wù)需求,碼頭生產(chǎn)操作系統(tǒng)(TOS)中數(shù)據(jù)的邏輯關(guān)系、吞吐量相關(guān)的數(shù)據(jù)來源,選擇數(shù)據(jù)建模工具建立吞吐量的邏輯模型.
其次,根據(jù)泉州太平洋集裝箱碼頭業(yè)務(wù)系統(tǒng)的特點,嘗試以MS SQLSERVER2008作為目標(biāo)數(shù)據(jù)庫存儲平臺完成物理設(shè)計.
船舶公司與碼頭是關(guān)系最為密切的對象之一.降低運行成本、提高效率是公司亟待解決的問題,操作部將投入大量精力進行降低成本與提高效率的研發(fā),期望通過數(shù)據(jù)倉庫的建立為后期的生產(chǎn)研發(fā)做準(zhǔn)備.
在公司內(nèi)部生產(chǎn)研發(fā)、對外部單位提供數(shù)據(jù),報表是最直觀和便捷的展示.所以各部門提出了各自的報表需求,抽取部分如表1.
表1 報表分類舉例
優(yōu)秀的架構(gòu)可以更好的實現(xiàn)業(yè)務(wù)需求,能提供更優(yōu)越的服務(wù)性能,架構(gòu)也決定了項目的靈活性與開發(fā)成本.[3]數(shù)據(jù)倉庫的主要工作是從不同的數(shù)據(jù)源中抽取數(shù)據(jù),通過清洗、校對,再導(dǎo)入到數(shù)據(jù)倉庫,最終以不同形式展示給用戶.
微軟公司的Microsoft SQL Server 2008為數(shù)據(jù)倉庫的建立提供了一個快捷、完整的解決方案,其中為用戶提供了可構(gòu)建典型與創(chuàng)新的分析應(yīng)用程序所需的各種工具、功能和特性.
SQL Server 2008的RDBMS一般為中小企業(yè)數(shù)據(jù)倉庫的首選存儲平臺,它可以以鏈接數(shù)據(jù)庫的方式訪問其他數(shù)據(jù)源.
SQL Server 2008 Reporting Service(SSRS)包含的報表設(shè)計器提供了一個可視SSAS(SQL Server 2008 Analysis Services)多維數(shù)據(jù)集查詢設(shè)計器[4],減少了手動編寫多維數(shù)據(jù)查詢的需求,便于快速創(chuàng)建報表.
SSAS除了提供存儲和查詢OLAP多維數(shù)據(jù)集數(shù)據(jù)的機制,它還提供了OLAP多維數(shù)據(jù)集供開發(fā)人員進行開發(fā)和管理.
當(dāng)源數(shù)據(jù)經(jīng)過抽取、轉(zhuǎn)換并裝載到數(shù)據(jù)倉庫后,就可以通過多種方式來呈現(xiàn)數(shù)據(jù)倉庫中的數(shù)據(jù).SSAS可以為數(shù)據(jù)倉庫建立一系列的多維數(shù)據(jù)集(CUBE),多維數(shù)據(jù)集包含一組通常由數(shù)據(jù)倉庫的子集構(gòu)成的、并組織和匯總到由一組維度和度量值定義的多維結(jié)構(gòu)中的數(shù)據(jù).微軟公司的商務(wù)智能解決方案符合該公司項目的需求,數(shù)據(jù)倉庫項目架構(gòu)如圖1所示.
圖1 數(shù)據(jù)倉庫項目架構(gòu)圖
統(tǒng)一數(shù)據(jù)即對元數(shù)據(jù)進行管理,元數(shù)據(jù)數(shù)據(jù)庫應(yīng)用和信息處理中用于定義、關(guān)聯(lián)和管理數(shù)據(jù).元數(shù)據(jù)在數(shù)據(jù)倉庫的設(shè)計、開發(fā)和運作階段至關(guān)重要,尤其在數(shù)據(jù)獲取、轉(zhuǎn)換和存取方面[5].
只有統(tǒng)一了對數(shù)據(jù)的定義,才能對企業(yè)內(nèi)的不同應(yīng)用系統(tǒng)進行集成.建立中央數(shù)據(jù)庫存儲元數(shù)據(jù),若業(yè)務(wù)發(fā)生變更,只需修改元數(shù)據(jù),公司內(nèi)部各應(yīng)用系統(tǒng)間的交互便可通過中央數(shù)據(jù)庫進行統(tǒng)一轉(zhuǎn)換.然而,此方案需投入大量的精力和人員,與前述所提的減少成本相悖而馳.當(dāng)前期望是,統(tǒng)一各系統(tǒng)間的數(shù)據(jù)定義,形成電子文檔進行存檔,供公司內(nèi)部進行查閱.
本項目其中一個目標(biāo)是對碼頭生產(chǎn)操作系統(tǒng)(TOS)主要數(shù)據(jù)表結(jié)構(gòu)進行整理,形成電子文檔,供內(nèi)部IT人員參考,在業(yè)務(wù)崗位或相關(guān)單位有臨時數(shù)據(jù)要提取時,能快速準(zhǔn)確的提供.鑒于公司IT部有員工對數(shù)據(jù)庫的主要結(jié)構(gòu)比較了解,對TOS系統(tǒng)也比較熟悉,在他們的幫助下,形成了比較完整的生產(chǎn)系統(tǒng)主要表結(jié)構(gòu)信息.具體的表結(jié)在此不再詳細描述,形成的文檔格式如圖2所示.
圖2 表結(jié)構(gòu)范例
其中有16張表與吞吐量有關(guān),此處僅給出表名以供數(shù)據(jù)倉庫存儲時對應(yīng),具體如表2所示.
表2 源系統(tǒng)吞吐量相關(guān)表結(jié)構(gòu)
通過將表結(jié)構(gòu)信息整理出來,從源數(shù)據(jù)中抽取哪些數(shù)據(jù)就一目了然,應(yīng)經(jīng)過何種轉(zhuǎn)換存儲到數(shù)據(jù)倉庫中.
不同部門間統(tǒng)計數(shù)據(jù)的方式存在迥異,例如吞吐量,可按自然日(24∶00截止)統(tǒng)計,也可按18點截止統(tǒng)計(操作部);吞吐量既可包含輔助作業(yè)量也可不包含輔助作業(yè)量.所以,很有必要進行數(shù)據(jù)標(biāo)準(zhǔn)化工作,這也是數(shù)據(jù)倉庫建立的前期工作之一.
在吞吐量數(shù)據(jù)建立之前,首先要明確以下基礎(chǔ)數(shù)據(jù)的定義.
自然箱量:單位UNIT,1條作業(yè)指令即對應(yīng)1個集裝箱裝船操作,也即為1UNIT.
標(biāo)準(zhǔn)箱量:單位TEU,根據(jù)作業(yè)指令對應(yīng)的集裝箱尺寸折算為標(biāo)準(zhǔn)TEU,折算規(guī)則為:1個20英尺的集裝箱統(tǒng)計為1TEU,1個40英尺的集裝箱統(tǒng)計為2TEU,1個45英尺的集裝箱統(tǒng)計為2.25TEU.
吞吐量統(tǒng)計時間截點:按照船舶的實際離泊時間來統(tǒng)計,時間點是18∶00,月度數(shù)據(jù)的統(tǒng)計時間是上月最后一天的18∶00(不含18∶00)到當(dāng)月最后一天的18∶00(含18∶00);
貨物皮重:在統(tǒng)計時間范圍內(nèi)的船期的裝船作業(yè)箱皮重+卸船作業(yè)箱皮重.
貨物凈重:在統(tǒng)計時間范圍內(nèi)的裝船作業(yè)貨重+卸船作業(yè)貨重.
倒箱:在裝船作業(yè)指令中,箱子的進港類型為倒箱(R)的指令,即為了裝某個箱子到船上或從船上卸某個箱子時,需要移動其他集裝箱而進行的操作.
裝銷子箱:是指在裝船作業(yè)時,橋吊作業(yè)的裝銷子箱數(shù)量.裝銷子箱作業(yè)1次對應(yīng)橋吊吊具操作1次,裝1個銷子箱一次即計為1UNIT.折算標(biāo)準(zhǔn)將銷子箱作業(yè)自然量折算為標(biāo)準(zhǔn)箱量的規(guī)則為1UNIT銷子箱折算為1UNIT20英尺普通集裝箱,即折算為1TEU;折算重量為2 300 kg.
卸銷子箱:是指在卸船作業(yè)時,橋吊作業(yè)的卸銷子箱數(shù)量.卸銷子箱作業(yè)1次對應(yīng)橋吊吊具操作1次,卸1個銷子箱一次即計為1UNIT.折算標(biāo)準(zhǔn)將銷子箱作業(yè)自然量折算為標(biāo)準(zhǔn)箱量的規(guī)則為1UNIT銷子箱折算為1UNIT20英尺普通集裝箱,即折算為1TEU;折算重量為2 300 kg.
開艙蓋板:指在裝卸船作業(yè)時,橋吊作業(yè)的開艙蓋板數(shù)量;1塊艙蓋板開1次即計為1UNIT;折算標(biāo)準(zhǔn)將艙蓋板作業(yè)自然量折算為標(biāo)準(zhǔn)箱規(guī)則為:1UNIT艙蓋板折算為1UNIT 40英尺普通集裝箱,即折算為2 TEU;折算重量為4 000 kg.
關(guān)艙蓋板:指在裝卸船作業(yè)時,橋吊作業(yè)的關(guān)艙蓋板數(shù)量;1塊艙蓋板關(guān)1次即計為1 UNIT;折算標(biāo)準(zhǔn)將艙蓋板作業(yè)自然量折算為標(biāo)準(zhǔn)箱規(guī)則為1 UNIT艙蓋板折算為1 UNIT 40英尺普通集裝箱,即折算為2 TEU;折算重量為4 000 kg.
集裝箱吞吐量:在統(tǒng)計時間范圍內(nèi)船期的裝船集裝箱作業(yè)量+卸船集裝箱作業(yè)量.
輔助作業(yè)吞吐量:在統(tǒng)計時間范圍內(nèi)的船期,進行倒箱+裝銷子箱+卸銷子箱+開艙蓋板+關(guān)艙蓋板的作業(yè)量.
明確有關(guān)吞吐量的各種基礎(chǔ)數(shù)據(jù)的定義后,就能對各業(yè)務(wù)部門提供一致的度量值以供分析,不必再為不同部門專門定制不同的統(tǒng)計規(guī)則或單位,有利于各部門溝通.
數(shù)據(jù)倉庫建立的目標(biāo)之一是從原系統(tǒng)中抓取數(shù)據(jù)存儲到數(shù)據(jù)倉庫中.項目采用SQL Server 2008作為數(shù)據(jù)倉庫數(shù)據(jù)的存儲平臺,在數(shù)據(jù)倉庫中建立了對應(yīng)源數(shù)據(jù)中的16張表結(jié)構(gòu).
3.4.1 數(shù)據(jù)倉庫表結(jié)構(gòu)
16張表的數(shù)據(jù)經(jīng)過了加工和整理,除了對歷史數(shù)據(jù)進行修正,更重要的是,在新的表結(jié)構(gòu)中增加了冗余字段,為的是更方便的從數(shù)據(jù)倉庫中提取所需數(shù)據(jù).新的表結(jié)構(gòu)如圖2,顯然,16張表之間沒有外鍵關(guān)聯(lián),但多于100行記錄的表都有主鍵.鑒于數(shù)據(jù)裝載的速度,我們?nèi)∠送怄I,數(shù)據(jù)倉庫中的數(shù)據(jù)來源于事務(wù)型的TOS系統(tǒng),存儲到數(shù)據(jù)倉庫中的數(shù)據(jù)只提供查詢和分析,并不會存在事務(wù)型數(shù)據(jù)庫中的數(shù)據(jù)不完整.
3.4.2 目標(biāo)數(shù)據(jù)與源數(shù)據(jù)的對應(yīng)關(guān)系
在圖3中的16張表對應(yīng)源數(shù)據(jù)中的16張數(shù)據(jù)表,但是在數(shù)據(jù)倉庫中存儲的表結(jié)構(gòu)中包含了更多的冗余信息,方便后期對數(shù)據(jù)的查詢,減少表關(guān)聯(lián),同時也剔除了一些無用的字段,為數(shù)據(jù)表“瘦身”.
圖3 數(shù)據(jù)倉庫表結(jié)構(gòu)
本文通過對泉州太平洋集裝箱碼頭業(yè)務(wù)的整理和分析,按照業(yè)務(wù)實際需求建立起數(shù)據(jù)倉庫數(shù)據(jù)結(jié)構(gòu),為項目的實施打下堅實的基礎(chǔ),并規(guī)范的把這些整理出來的元數(shù)據(jù)信息歸檔保存.數(shù)據(jù)倉庫的建立是一個漫長的過程,本文僅僅涉及到吞吐量數(shù)據(jù)庫的設(shè)計,期望以該設(shè)計為后期費收、成本、效率等主題的建立提供方法依據(jù).論文中還有一些未介紹的工作,如ETL過程、多維數(shù)據(jù)集設(shè)計等,這些都是數(shù)據(jù)倉庫建立過程中的重要步驟,也是后期需要深入研究的工作.
[參 考 文 獻]
[1] 泉州太平洋集裝箱碼頭主頁http:∥www.shport.com/company.html.,2017-06-12
[2] PAULRAJ P.數(shù)據(jù)倉庫基礎(chǔ)[M].段云峰,李劍威,韓潔,等譯.北京.電子工業(yè)出版社,2004:43-56.
[3] 張曙明.論數(shù)據(jù)倉庫的數(shù)據(jù)架構(gòu)設(shè)計[J].信息通信技術(shù),2009(6):11-15.
[4] LYNN L,KEVIN S,DAVIDE M,et al.SQL SERVER2008商業(yè)智能完美解決方案[M].張猛,楊岳,朗亞妹,等譯.北京:人民郵電出版社,2010:10-28.
[5] RALPH K.數(shù)據(jù)倉庫生命周期工具箱[M].2版.唐富年,孫媛媛譯.北京:清華大學(xué)出版社,2009:94-99.
[6] 池太崴.數(shù)據(jù)倉庫結(jié)構(gòu)設(shè)計與實施-建造信息系統(tǒng)的金字塔[M].2版.北京:電子工業(yè)出版社,2009:34-43.