OLTP與數(shù)據(jù)倉庫之間的區(qū)別
在日常生活中,我們要使用大量的應(yīng)用程序來生成新的數(shù)據(jù)、變更數(shù)據(jù)、刪除數(shù)據(jù),當(dāng)然在大多數(shù)的情況下我們還要查閱和分析數(shù)據(jù)。就來想象一個(gè)收發(fā) email 的簡單應(yīng)用程序吧。我們已經(jīng)存儲了地址信息,可能還存儲了一些文檔。我們可以決定是否存儲已經(jīng)發(fā)送過的郵件,但是也可能隔一段時(shí)間后將其刪除,或者刪除已經(jīng)發(fā)送過的所有郵件。那么我們該如何處理一段時(shí)間以前刪除或者修改過的地址呢?我們再也不會(huì)看到它們了。
Email 程序大部分都屬于不是很復(fù)雜的數(shù)據(jù)庫,但是完全可以將其看作一個(gè)在單用戶環(huán)境下的 OLTP(在線事務(wù)處理系統(tǒng))簡單示例。它使用了所有的所謂訪問數(shù)據(jù)的操作 CRUD(創(chuàng)建、讀取、更新、刪除)。當(dāng)數(shù)據(jù)存儲達(dá)到一定量的時(shí)候,規(guī)模就會(huì)幾乎保持不變,因?yàn)榭梢詮拇鎯χ袆h除過期數(shù)據(jù)。
數(shù)據(jù)倉庫就完全是一種不同種類的應(yīng)用程序。它并不是用來運(yùn)行當(dāng)前的操作,例如發(fā)送郵件。它是用來分析數(shù)據(jù)并且從現(xiàn)有數(shù)據(jù)中發(fā)現(xiàn)新的價(jià)值,主要是用來預(yù)測未來的情況。數(shù)據(jù)倉庫并不是解決所有問題的通用結(jié)構(gòu)。它必須集中于某一問題領(lǐng)域,例如航空服務(wù)、顧客收益等。
數(shù)據(jù)倉庫也有有趣的一面,那就是數(shù)據(jù)庫本身是穩(wěn)定增長的。數(shù)據(jù)沒有被刪除,也不發(fā)生變更。我們不需要將冗余數(shù)據(jù)置于數(shù)據(jù)庫之外(因?yàn)榧尤雮}庫中的數(shù)據(jù)經(jīng)過了數(shù)據(jù)凈化的過程,該過程檢查了數(shù)據(jù)的正確性)來減少復(fù)雜性同時(shí)增強(qiáng)讀取操作的性能。
為了能夠?qū)?shù)據(jù)倉庫中的數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)存儲于一個(gè)多維結(jié)構(gòu)中,叫做星型模式。如果將星型模式擴(kuò)展,就會(huì)得到雪花模式。
【編輯推薦】