淺談OLTP和數(shù)據(jù)倉庫的設(shè)計
OLTP 數(shù)據(jù)庫旨在使事務(wù)應(yīng)用程序僅寫入所需的數(shù)據(jù),以便盡快處理單個事務(wù)。 而數(shù)據(jù)倉庫研究和解決從數(shù)據(jù)庫中獲取信息的問題。數(shù)據(jù)倉庫的特征在于面向主題、集成性、穩(wěn)定性和時變性。那么在實際的應(yīng)用中該怎樣設(shè)計呢?怎樣區(qū)分何為面向應(yīng)用,何為面向主題呢?本文以銀行系統(tǒng)為例來進行說明。
在銀行中, 一般都有對私 (個人儲蓄)、對公 (企業(yè)儲蓄)、信用卡等多種業(yè)務(wù)系統(tǒng),它們都是面向相關(guān)業(yè)務(wù)應(yīng)用設(shè)計的交易處理系統(tǒng),系統(tǒng)主要任務(wù)是完成業(yè)務(wù)交易過程中的數(shù)據(jù)處理,數(shù)據(jù)庫在設(shè)計的時候主要是圍繞性能和完整性方面,而每個交易涉及的數(shù)據(jù)往往只是記錄的層面,數(shù)據(jù)庫設(shè)計主要考慮并行更新方面比較多,并不需要考慮為全表范圍的查詢做優(yōu)化,而系統(tǒng)本身所支持的交易類型簡單而且固定。由于歷史原因,這些系統(tǒng)設(shè)計的時候都是獨立進行的,所以可能運行在不同的平臺上,相互之間沒有什么關(guān)系,各系統(tǒng)之間對相同的業(yè)務(wù)信息還存在數(shù)據(jù)上的冗余。比如每個系統(tǒng)中都會有客戶的數(shù)據(jù), 這種數(shù)據(jù)的零碎和冗余,使決策者很難從這些業(yè)務(wù)系統(tǒng)中直接地獲取全面的信息。
為了克服這個弊病,建立數(shù)據(jù)倉庫應(yīng)用時,要把業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)從中抽取出來,轉(zhuǎn)換和清洗以消除數(shù)據(jù)的不一致性和冗余,加載到數(shù)據(jù)倉庫中來。這樣,數(shù)據(jù)倉庫中的數(shù)據(jù)就是從整個銀行的角度來看的,其數(shù)據(jù)模型不再面向個別應(yīng)用,而是面向整個銀行的業(yè)務(wù)主題,比如客戶、產(chǎn)品、渠道等。因此, 各個生產(chǎn)系統(tǒng)中與客戶、產(chǎn)品、渠道等相關(guān)的信息將分別轉(zhuǎn)換到數(shù)據(jù)倉庫中相應(yīng)的主題中,從而給銀行的決策者提供一個一致的完整的信息視圖。
【編輯推薦】