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