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