《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于數據倉庫的裝備采購聯機分析系統(tǒng)研究與設計
基于數據倉庫的裝備采購聯機分析系統(tǒng)研究與設計
王建忠,武根友
(軍械工程學院 計算機工程系,河北 石家莊050003)
摘要: 本文提出了一種基于數據倉庫的聯機分析處理系統(tǒng)的解決方案,重點介紹了數據倉庫的設計方法和聯機分析處理方法。
Abstract:
Key words :

摘   要: 本文提出了一種基于數據倉庫聯機分析處理系統(tǒng)的解決方案,重點介紹了數據倉庫的設計方法和聯機分析處理方法。
關鍵詞: 數據倉庫  聯機分析處理  決策支持系統(tǒng)  裝備采購

  我軍的裝備采購體系中存在著各種業(yè)務信息,隨著時間的推移,這些業(yè)務系統(tǒng)積累了大量甚至是海量的業(yè)務數據。如何充分利用這些數據,為高層領導者提供輔助決策是當前所面臨的問題。長期以來,軍械裝備采購決策一直沿用以手工為主的傳統(tǒng)方法。這種方法周期長、費用高、投入人力多、效率低,人為因素占很大比例,已不能適應新形勢的要求。因此,建立裝備采購決策支持系統(tǒng)對于提高裝備采購決策的科學性、實現我軍裝備保障信息化是相當必要的。裝備采購聯機分析處理系統(tǒng)作為決策支持系統(tǒng)的一部分,提供了一個多維的聯機分析統(tǒng)計環(huán)境,具有分析預測形象、直觀、效果好的優(yōu)點。
1  數據倉庫和聯機分析處理技術
  傳統(tǒng)的數據庫主要用于事務處理,通常對一個或一組數據完成增加、刪除、修改、查詢和一些基本統(tǒng)計操作,主要用于支持特定的應用服務,也稱為操作型處理,側重于響應時間、數據的安全性、一致性和完整性等方面。盡管在聯機事務處理(On-Line Transaction Processing,OLTP)方面的應用獲得了巨大的成功,但它對分析處理的支持一直不能令人滿意。隨著社會的進步和技術的發(fā)展,人們不再僅僅滿足于獲取多種信息和簡單的使用信息,而是希望在深層次上利用長期積累的歷史信息為企業(yè)的決策提供幫助。
  20世紀90年代初,W.H.Inmon在其著作《Building the Data Warehouse》中提出了數據倉庫的概念。他認為數據倉庫是面向主題的、集成的、穩(wěn)定的、隨時間變化的數據集合,用來支持管理決策。數據倉庫中包含大量數據,這些數據可能來自企業(yè)或組織內部,也可能來自外部。這些數據組織為數據倉庫的目的是為了能夠更好地支持決策。目前,數據倉庫在銀行、股票、保險、電信、航空、醫(yī)療保健、零售及制造等領域都有應用。
  聯機分析處理(On-Line Analytical Processing,OLAP)是專門為特殊的數據存取和分析而設計的技術。它能夠實現數據倉庫基礎上的多維數據分析。通過創(chuàng)建用于分析的多維數據集,進一步采用切片、切塊、下鉆、上翻及旋轉等多維分析操作,幫助用戶發(fā)現不同側面、不同層次上的有用信息,從而使用戶更加直觀地理解和分析數據。

  目前,許多數據庫廠商都推出了自己的數據倉庫產品。本文采用的是Informix公司的Red Brick,它是為數據倉庫和聯機分析處理應用程序設計的關系數據庫管理系統(tǒng)(Relational Database Management System,RDBMS)。該產品能夠快速地裝入和檢索數據,特別是它的自動聚集對前臺應用程序的開發(fā)是全透明的,極大地提高了常規(guī)分析的響應時間。另外,在眾多的OLAP分析工具中,本文選擇了Informix公司的MetaCube,它采用星型模式,為用戶現有的關系數據庫提供一個直觀的多維視圖,而無需專用多維數據庫。Metacube具有如下的技術特點:(1)易擴展性。Metacube的元數據及計算中間表結構簡單清晰,方便數據倉庫的擴展;(2)開放性。Metacube在數據倉庫的各個部分都是開放的,包括RDBMS服務器、客戶端應用開發(fā)工具、隨機查詢工具和報表生成工具。另外,用戶可以用自己喜歡的開發(fā)環(huán)境(如VB、VC、PB等)或前端應用(Microsoft Word、Microsoft Excel等)作為數據倉庫的前端平臺;(3)具有強有力的查詢優(yōu)化功能,可以最大限度地提高效率。
2  系統(tǒng)設計
2.1 系統(tǒng)的總體框架
  數據倉庫為聯機分析處理和決策支持提供了有效的數據存儲和處理環(huán)境。通過對事務數據庫的數據和外部數據的抽取、凈化和轉換,形成面向全局的數據視圖,同時也解決了數據不統(tǒng)一的問題。前端的聯機分析(OLAP)工具對這些數據進行分析處理。基于數據倉庫的裝備采購聯機分析處理系統(tǒng)的總體框架如圖1所示。

2.2 數據倉庫設計
  下面介紹數據倉庫設計的步驟。
  (1)確定用戶需求。我軍的裝備采購業(yè)務系統(tǒng)積累了大量的歷史數據,這些數據主要包括采購時間、裝備名稱、生產廠家、用途、采購經費、采購數量、采購價格等。如何對其進行分析研究,從而得出內在規(guī)律是一個相當重要的問題。為此,本文確定了裝備購置費研究、裝備采購量研究、裝備采購價格研究和生產廠家分布規(guī)律研究等主題。
  (2)邏輯設計。數據模型是數據倉庫的核心問題之一。傳統(tǒng)的數據模型(如實體模型和關系模型)不能有效地表示數據倉庫中的數據結構和語義,也難以支持OLAP應用。而多維數據模型和多維建模技術的提出解決了上述問題。在多維數據模型中存在維度表和事實表二類數據表。其中維度表存放的是該維各層次的對照關系數據和各層次的描述信息;事實表存放的是量度和對應各維的維碼信息。量度可分為存儲量度和計算量度:存儲量度在數據倉庫表中有實際的字段存放數據;而計算量度在數據倉庫中沒有相應的字段,而是在SQL查詢語句中通過聚集函數獲得。
  本文設計多維數據模型的主要步驟是:①確定事實表和維度表;②設計事實表;③設計維度表。
多維數據模型有二種最基本的結構:星型結構和雪花結構。圖2所示為本系統(tǒng)數據倉庫的雪花模型。

  (3)物理設計。在確定了雪花模型后,需要將邏輯模型變成物理模型。物理模型建立數據倉庫存儲與備份、分段、檢索、聚集策略等。由于數據倉庫中存放著大量甚至海量的數據,為適應對這些數據處理的要求,現將性能優(yōu)化的一些關鍵技術做簡要的介紹:
  索引:索引主要用于優(yōu)化查詢性能,對于數據裝入的參照完整性檢查階段也相當重要。Red Brick包括B型樹索引、TARGETindex和STARindex三種不同類型的索引。在Red Brick Decision Server數據庫中生成表格時(基礎表和臨時表),如果表格定義了關鍵字,則關鍵字自動生成B樹索引。TARGETindex是Red Brick Decision Server中的位圖或位向量索引。這些類型的索引有二種用途:弱選擇性維度列和事實表中的TARGETjion處理。STARindex是建立在事實表的外部關鍵字之上的惟一多列索引結構。
  對于事實表來說,應該為它的所有外鍵建立TARGETindex,并要建立至少包含所有外鍵的STARindex。如果一個TARGETindex包含惟一標識每個事實行所需的列,則可以刪除主關鍵字索引。如果不刪除,則應使其盡量小。
  對于維表來說,不要刪除主關鍵字的B樹索引。對每個外部關鍵字列生成B樹索引對維度中作為懸臂表外部關鍵字的列應當檢查,對查詢中經常限制的列生成TARGETindex與樹索引。
  分段:分段是個數據管理工具,合理的分段有助于查詢性能的改進。數據庫越大,分段提供的好處就越大。段的類型有二種,即默認段和命名段,二者各有不同的功能。可以按連接某個事實表的任意維度的主關鍵字將數據倉庫分段,大多數倉庫按某種時間定義分段,例如日、周、月、季、年等。
  聚集:決策支持查詢中最常見的操作之一是計算聚集匯總,如果沒有聚集,則這些查詢需要讀取成千上萬行數據才能計算和組合結果,查詢運行時,將需較長時間等待結果。例如,如果要按年度求客戶的總銷售額,則可能要讀取幾億行細節(jié)才能得到結果。運行讀取大量細節(jié)行的查詢時,最快的方法是根本不運行它,而是對小表運行同一查詢。這個小表中已經有需要的信息(SUM、AVG、MIN、MAX之類的聚集),只要讀取幾行就可以了。對聚集表運行查詢具有更高效率。Red Brick Decision Server用獨特的方法處理聚集:Vista子系統(tǒng)自動、透明地改寫包含聚集函數的查詢,提供另一類索引,在決策支持環(huán)境中提高偶發(fā)查詢性能。
2.3 數據的抽取、凈化、裝入
  數據的抽取、凈化、裝入的過程如下:
(1)從業(yè)務數據中抽取數據。首先,確保所抽取的數據適用于當前的業(yè)務問題,避免抽取那些對做決策沒有作用的數據。然后,把數據拷貝到一個中間數據庫或者通過做一個簡單的應用程序,把數據保存在其他文件中(例如文本文件、Word文件、Excel文件等)。
  (2)凈化數據。數據凈化主要考慮以下三個方面:①確保所有值準確有效;②所有列中都具有有意義的值,沒有缺失值;③每一行都保持參照完整性。
  (3)裝入數據。Red Brick Decision Server數據庫從外部裝入數據,應首先裝入維表,然后再裝入事實表。它提供的TMU實用程序能夠快速地裝入數據,具有良好的性能。TMU由指定輸入與輸出操作的控制腳本驅動。通過命令行調用TMU時,控制腳本作為命令行參數提供,TMU讀取這個腳本,然后完成必要的工作。
  例如:執(zhí)行命令
  rb_tmu -d <db_name> <control_filename> <username>
  <password>
 控制文件 Example.TMU 格式為:
  load data
  inputfile ′/apps/redbrick/sample_input/aroma_class.txt′
  replace
  format separated by ′!′
  discardfile′/classn/stunnn/class.discards′
  discards 10
  into table class (
      classkey integer external(2),classkey integer external,
      class_type char(12),type character,
      class_desc char(60) description character)……);
  其中aroma_class.txt為之前抽取的數據文件。
  Red Brick Decision Server的裝入器有二個版本:串行(TMU)和并行(PTMU)。并行裝入器主要用于多個CPU的裝入和聯機裝入,并行裝入比串行裝入速度快。
2.4 多維聯機分析設計
  多維數據的聯機分析處理就是從不同的角度和層次查詢滿足分析需求的數據。OLAP分析的基本操作動作有:切片、切塊、旋轉和鉆取。如圖3所示為“時間、裝備、廠家”的三維立方體,可以在上面完成上述操作。

  (1)切片。切片就是在多維模型的某一維上選定一維成員。例如在廠家維上選擇一個維成員(設為“廠家1”),就得到了廠家維上的一個切片。這個切片表示廠家1每年生產各種裝備的情況。
  (2)切塊。切塊可以看成是在切片的基礎上,進一步確定各個維成員的區(qū)間得到的片段體,即由多個切片疊合起來。例如在時間維上設定一個區(qū)間(例如取“1990年至2000年”)。
  (3)旋轉。旋轉是改變維度的位置關系,使最終用戶可以從多角度來觀察數據。如將橫向的時間維和廠家維進行交換,從而形成橫向為部門、縱向為時間的報表。
  (4)鉆取。如果維度是有層次的,則可以采取鉆取,包括向上鉆取(roll up)和向下鉆取(drill down)。roll up是在某一維上將低層次的細節(jié)數據概括到高層次的匯總數據,或者減少維數;而drill down則相反,它從匯總數據深入到細節(jié)數據進行觀察 。例如裝備維上可以從裝備大類向裝備中類鉆取,裝備中類再向裝備小類鉆取。
  本文所采用的Metacube Explorer是為最終用戶隨機查詢提供的決策支持產品。它具有界面友好、操作簡單的特點,用戶通過簡單的拖—放操作即可完成數據庫訪問、報表生成、做統(tǒng)計圖以及與已有的前端應用進行連接。
  用戶可以在Metacube Explorer中指定顯示哪一維,可以在任意坐標軸上查看不同維、不同層次的信息或者數據倉庫上的其他有關信息。它所生成的報表和統(tǒng)計圖形象直觀,便于用戶進行對比、分析。其開放性可以使開發(fā)人員利用前端工具進行開發(fā),以滿足具體的要求。
3  系統(tǒng)開發(fā)
  該系統(tǒng)采用C/S模式,服務器操作系統(tǒng)是Windows 2000 Server,客戶端操作系統(tǒng)采用Windows 98、Windows 2000 Professional或Windows XP,中心數據倉庫產品采用Informix Red Brick,OLAP分析工具為Informix Metacube,前端應用程序采用Visual Basic 6.0開發(fā)。
4  結束語
  該系統(tǒng)是數據倉庫技術在裝備采購業(yè)務中的一個有益嘗試,使原有的分析工作更加方便高效、形象直觀。作為裝備采購決策支持的一部分,該系統(tǒng)還需要進一步的設計和完善,在現有數據倉庫的基礎上,開發(fā)數據挖掘模塊。隨著系統(tǒng)的逐步完善,必將能夠為我軍裝備采購決策人員提供科學的依據,從而推動我軍裝備采購決策現代化的進程。
參考文獻
1   張維民.數據倉庫原理與應用.北京:電子工業(yè)出版社,2002
2   Inmon W H著,王志海譯.數據倉庫.北京:機械工業(yè)出版社,2003
3   Robert J.Hocutt  Informix/Red Brick數據倉庫開發(fā)指南.北京:電子工業(yè)出版社,2001
4   李中華,張力軍,郭穎.基于數據倉庫的中國專利審查聯機分析處理系統(tǒng).計算機工程與應用,2003;(24)
5   曹鈺,張文俊,郝娜等.數據倉庫和聯機分析處理技術在裝備器材保障中的應用.計算機應用與軟件,2004;(5)

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 午夜久久久久久亚洲国产精品 | 国产黄视频网站 | 怡红院成人影院 | 国产日产欧产美一二三区 | 动漫精品专区一区二区三区不卡 | 日韩操比 | 手机看片国产免费永久 | 一级黄色一级片 | 免费看黄色一级毛片 | 九九精品免费视频 | 正在播放的国产a一片 | 成人免费视频无遮挡在线看 | 国产成人综合视频 | 在线观看黄色毛片 | 成人激情综合 | 男女下面一进一出的视频免费 | 中文字幕 亚洲一区 | 波多野一区二区三区在线 | 福利所第一导航 | 国产麻豆福利a v在线播放 | 国产乱人乱精一区二区视频密 | 日韩福利社 | 亚洲精品tv久久久久久久久 | 国产欧美日韩成人 | 99草在线 | 污污视频网址 | www天天操 | 日韩艹 | 亚洲第一区视频 | 国产a久久精品一区二区三区 | 久久91久久91精品免费观看 | 日日日日人人人夜夜夜2017 | 欧美一级视频在线高清观看 | 欧美三级一区二区 | 亚洲美女爱做色禁图无遮 | 波多野结衣一区2区3区 | 玖玖在线免费视频 | 欧美亚洲国产成人精品 | 亚洲成色999久久网站 | 亚洲精品福利在线 | 亚洲成在人色婷婷 |