資料倉儲與資料庫的差別:1、資料庫儲存的是原始數據,沒經過任何加工;而資料倉儲是為了滿足資料分析需要設計的,對來源資料進行了ETL過程,資料擷取工作分抽取、清洗、轉換、裝載;2、資料倉儲的資料量比資料庫大很多。
(推薦教學:mysql影片教學)
一、資料倉儲
- 什麼是資料倉儲?
資料倉儲(Data Warehouse),可簡寫為DW或DWH,資料倉儲,是為了企業所有層級的決策規劃過程,提供所有類型資料類型的策略集合。它出於分析性報告和決策支援的目的而創建。為需要業務智慧的企業 ,為需要指導業務流程改進、監視時間,成本,品質以及控制等;
-
資料倉儲能做什麼? (舉幾個栗子)
- 年度銷售目標的製定,需要根據以往的歷史報表進行決策,不能隨便制定。
- 優化業務流程
例如:某電商平台某品牌的手機,在過去5年主要的購買人群的年齡在什麼年齡段,在那個季節購買量人多,這樣就可以根據這個特點為目標人群設定他們主要的需求和動態分配產生的生產量,和倉庫的庫存。
-
資料倉儲的特性
- 資料倉儲是面向主題的。
- 與傳統的資料庫不一樣,資料倉儲是面向主題的,那什麼是主題呢?首頁主題是一個較高乘次的概念,是較高層次上企業資訊系統中的資料綜合,歸類並進行分析的對象。在邏輯意義上,他是企業中某一個宏觀分析領域所涉及的分析對象。 (說人話:就是使用者用資料倉儲決策所關心的重點方面,一個主題通常與多個操作資訊型系統有關,而操作型資料庫的資料組織面向事務處理任務,各個任務之間是相互隔離的);
- 資料倉儲是整合的。
- 資料倉儲的資料是從原來的分散的資料庫資料(mysql等關聯式資料庫)抽取出來的。操作型資料庫與DSS(決策支援系統)分析型資料庫差異甚大。第一,資料倉儲的每個主題所對應的來源資料在所有的各個分散的資料庫中,有許多重複和不一樣的地方,且來自不同的線上系統的資料都和不同的應用邏輯捆綁在一起;第二,資料倉儲中的綜合資料不能直接從原來有的資料庫系統取得。因此子在資料進入資料倉儲之前,必然要經過統一與綜合,這一步是資料倉儲建置中最關鍵,最複雜的一步,所要挖成的工作有:
- 要統計來源資料中所有矛盾之處,如字段的同名異議、異名同義、單位不統一,字長不統一等。
- 進行資料的綜合和計算。資料倉儲中的資料綜合工作可以在原有資料庫抽取資料時生成,但許多是在資料倉儲內部生成的,即進入資料倉儲以後進行綜合生成的。
- 資料倉儲的資料是隨著時間的變化而變化的。
- 資料倉儲中的資料無法更新是針對應用程式來說的,也就是說,資料倉儲的使用者進行分析處理是不進行資料更新作業的。但並不是說,在從資料整合輸入資料倉儲開始到最後被刪除的整個生存週期中,所有的資料倉儲資料都是永遠不變的。
- 資料倉儲的資料是隨著時間變化而變化的,這是資料倉儲的特徵之一。這項特徵主要有以下三個表現:
- 資料倉儲隨著時間變化不斷增加新的資料內容。資料倉儲系統必須不斷捕捉OLTP資料庫中變化的數據,追加到資料倉儲當中去,也就是要不斷的生成OLTP資料庫的快照,經由統一整合增加到資料倉儲中去;但對於確實不在變更的資料庫快照,如果捕捉到新的變化數據,則只產生一個新的資料庫快照增加進去,而不會對原有的資料庫快照進行修改。
- 資料庫隨著時間變化不斷刪除舊的資料內容 。資料倉儲內的資料也有儲存期限,一旦過了這期限,過期資料就要被刪除。只是資料庫內的資料時限要遠遠的長於操作型環境中的資料時限。在操作型環境中一般只保存有60~90天的數據,而在資料倉儲中則要需要保存較長時限的資料(例如:5~10年),以適應DSS進行趨勢分析的要求。
- 資料倉儲中包含有大量的綜合數據,這些綜合數據中很多跟時間有關,如數據經常按照時間段進行綜合,或隔一定的時間片進行抽樣等等。這些數據要隨著時間的變化不斷地進行從新綜合。因此資料倉儲的資料特徵都包含時間項,以標示資料的歷史時期。
- 資料倉儲的資料是無法修改的。
- 資料倉儲的資料主要提供企業決策分析之用,所涉及的資料操作主要是資料查詢,一般情況下並未進行修改作業。資料倉儲的數據反映的是一段相當長的時間內歷史資料的內容,是不同時點的資料庫快照的集合, 以及基於這些快照進行統計、綜合和重組的匯出數據,而不是線上處理的資料。資料庫中進行聯機處理的書庫進過整合輸入到資料倉儲中,一旦資料倉儲所存放的資料已經超過資料倉儲的資料儲存期限,這些資料將從目前的資料倉儲中刪除。因為資料倉儲只進行資料查詢操作,所以資料倉儲當中的系統比資料庫中的系統要簡單的多。資料庫管理系統中許多技術困難,如完整性保護、並發控制等等,在資料倉儲的管理中幾乎可以省去。但是由於資料倉儲的查詢資料量往往很大,所以就對資料查詢提出了更高的要求,他要求採用各種複雜的索引技術;同時資料倉儲面向的是商業企業的高層管理階層,他們會對資料查詢的介面友善性和資料表示提出更高的要求;
#二、資料倉儲與資料庫的差異
-
-
-
-
-
-
-
########## ###想了解差異之前,我們需要了解三個概念,資料庫軟體、資料庫和資料倉儲是什麼? #########資料庫軟體:是一種軟體(並不是連結資料庫的圖形化客戶端)。用來實現資料庫邏輯過程,屬於物理層。 ######資料庫:是一種邏輯概念,用來存放資料的倉庫,透過資料庫軟體來實現。資料庫由很多表組成,表是二維的,一張表裡面有很多欄位。字段一字排開,對資料就一行一行的寫入表中。資料庫的表,在於能夠用二維表現多維的關係。如:oracle、DB2、MySQL、Sybase、MSSQL Server等。 ######資料倉儲:是資料庫概念的升級。從邏輯上理解,資料庫和資料倉儲沒有差別,都是透過資料庫軟體實現存放資料的地方,只不過從資料量來說,資料倉儲要比資料庫更龐大德多。資料倉儲主要用於資料探勘和資料分析,輔助領導做決策;######在IT的架構體系中,資料庫是必須存在的,必須要有地方存資料。例如現在的網購等電商。物品的存貨多少,貨品的價格,使用者的帳戶餘額之類的。這些資料都是存放在後台資料庫中。或者最簡單的理解,我們現在的微信、微博和QQ等帳號和密碼。在後台資料庫必須是一個user表,字段起碼有兩個嗎,即用戶名和密碼,然後我們的資料就一行一行的存在表上面。當我們登入的時候,我們填寫了使用者名稱和密碼,這些資料就會回傳到回台去,去跟表上面的資料匹配,匹配成功了,就能登入。配對不成功就會報錯,這就是資料庫,資料庫在生產環境就是用來工作的。凡是跟業務有關應用掛鉤的,我們都使用資料庫。 ######資料倉儲是BI下的其中一種技術。由於資料庫跟業務應用掛鉤的,所以一個資料庫不可能裝下一家公司的所有資料。資料庫的表設計往往是針對某一個應用程式進行設計的。例如剛剛的登入功能,這張user表上就只有這兩個字段,沒有別的字段了。到那時這張表符合應該,沒有問題,但這張表不符合分析。例如我想知道在哪個時段,用戶的量最多?哪個用戶一年購物最多?諸如此類的指標。那就要從新設計資料庫的表格結構了。對於資料分析和資料探勘,我們引入了資料倉科概念。資料倉儲的表結構是依照分析需求,分析維度,分析指標進行設計的。 ######資料庫與資料倉儲的差別實際講的是OLTP與OLAP的差別。 ###
- 操作型處理,叫線上事務處理OLTP(On-Line Transaction Processing),也可以稱為交易導向的處理系統,它是針對特定業務在資料庫線上的日常操作,通常對少數記錄進行查詢、修改。使用者較為關心操作的回應時間、資料的安全性、完整性和並發的支援使用者數等問題。傳統的資料庫系統作為資料管理的主要手段,主要用於操作型處理。
- 分析型處理,叫線上分析處理OLAP(On-Line Analytical Processing)一般針對某些主題歷史資料進行分析,支援管理決策。
運算類型處理 |
分析型處理 |
#細節的 |
綜合或提煉的 |
#實體-關係(E-R)模型 |
星型模型或雪花模型 |
儲存瞬間數據 |
儲存歷史數據,不包含最近的數據 |
可更新的 |
只讀、只追加 |
一次運算一個單元 |
#一次運算一個集合 |
##效能要求高,響應時間短 | 效能要求寬鬆 |
面向事務 | 面向分析 |
一次操作數據量小 | 支援決策需求 |
資料量小 | #資料量大 |
客戶訂單、庫存水準與銀行帳戶查詢 | 客戶收益分析、市場區隔 |
#三.尾巴
1、如有錯誤歡迎大家指出,我會及時更正,有什麼不懂也可以留言提問,互相交流嗎。
2、也許大家覺得這沒什麼,但我會認真對待,把它當成我的筆記、心得、這樣才能提升自己。
以上是資料倉儲和資料庫的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!