目錄
一、資料倉儲
#二、資料倉儲與資料庫的差異
首頁 資料庫 mysql教程 資料倉儲和資料庫的差別是什麼?

資料倉儲和資料庫的差別是什麼?

Oct 19, 2020 pm 04:37 PM
資料倉儲 資料庫

資料倉儲與資料庫的差別:1、資料庫儲存的是原始數據,沒經過任何加工;而資料倉儲是為了滿足資料分析需要設計的,對來源資料進行了ETL過程,資料擷取工作分抽取、清洗、轉換、裝載;2、資料倉儲的資料量比資料庫大很多。

資料倉儲和資料庫的差別是什麼?

(推薦教學:mysql影片教學

一、資料倉儲

  1. 什麼是資料倉儲?
    資料倉儲(Data Warehouse),可簡寫為DW或DWH,資料倉儲,是為了企業所有層級的決策規劃過程,提供所有類型資料類型的策略集合。它出於分析性報告和決策支援的目的而創建。為需要業務智慧的企業 ,為需要指導業務流程改進、監視時間,成本,品質以及控制等;
  2. 資料倉儲能做什麼? (舉幾個栗子)

    1. 年度銷售目標的製定,需要根據以往的歷史報表進行決策,不能隨便制定。
    2. 優化業務流程
      例如:某電商平台某品牌的手機,在過去5年主要的購買人群的年齡在什麼年齡段,在那個季節購買量人多,這樣就可以根據這個特點為目標人群設定他們主要的需求和動態分配產生的生產量,和倉庫的庫存。
  3. 資料倉儲的特性

    1. 資料倉儲是面向主題的。
      1. 與傳統的資料庫不一樣,資料倉儲是面向主題的,那什麼是主題呢?首頁主題是一個較高乘次的概念,是較高層次上企業資訊系統中的資料綜合,歸類並進行分析的對象。在邏輯意義上,他是企業中某一個宏觀分析領域所涉及的分析對象。 (說人話:就是使用者用資料倉儲決策所關心的重點方面,一個主題通常與多個操作資訊型系統有關,而操作型資料庫的資料組織面向事務處理任務,各個任務之間是相互隔離的);
    2. 資料倉儲是整合的。
      1. 資料倉儲的資料是從原來的分散的資料庫資料(mysql等關聯式資料庫)抽取出來的。操作型資料庫與DSS(決策支援系統)分析型資料庫差異甚大。第一,資料倉儲的每個主題所對應的來源資料在所有的各個分散的資料庫中,有許多重複和不一樣的地方,且來自不同的線上系統的資料都和不同的應用邏輯捆綁在一起;第二,資料倉儲中的綜合資料不能直接從原來有的資料庫系統取得。因此子在資料進入資料倉儲之前,必然要經過統一與綜合,這一步是資料倉儲建置中最關鍵,最複雜的一步,所要挖成的工作有:
        1. 要統計來源資料中所有矛盾之處,如字段的同名異議、異名同義、單位不統一,字長不統一等。
        2. 進行資料的綜合和計算。資料倉儲中的資料綜合工作可以在原有資料庫抽取資料時生成,但許多是在資料倉儲內部生成的,即進入資料倉儲以後進行綜合生成的。
    3. 資料倉儲的資料是隨著時間的變化而變化的。
      1. 資料倉儲中的資料無法更新是針對應用程式來說的,也就是說,資料倉儲的使用者進行分析處理是不進行資料更新作業的。但並不是說,在從資料整合輸入資料倉儲開始到最後被刪除的整個生存週期中,所有的資料倉儲資料都是永遠不變的。
      2. 資料倉儲的資料是隨著時間變化而變化的,這是資料倉儲的特徵之一。這項特徵主要有以下三個表現:
        1. 資料倉儲隨著時間變化不斷增加新的資料內容。資料倉儲系統必須不斷捕捉OLTP資料庫中變化的數據,追加到資料倉儲當中去,也就是要不斷的生成OLTP資料庫的快照,經由統一整合增加到資料倉儲中去;但對於確實不在變更的資料庫快照,如果捕捉到新的變化數據,則只產生一個新的資料庫快照增加進去,而不會對原有的資料庫快照進行修改。
        2. 資料庫隨著時間變化不斷刪除舊的資料內容 。資料倉儲內的資料也有儲存期限,一旦過了這期限,過期資料就要被刪除。只是資料庫內的資料時限要遠遠的長於操作型環境中的資料時限。在操作型環境中一般只保存有60~90天的數據,而在資料倉儲中則要需要保存較長時限的資料(例如:5~10年),以適應DSS進行趨勢分析的要求。
        3. 資料倉儲中包含有大量的綜合數據,這些綜合數據中很多跟時間有關,如數據經常按照時間段進行綜合,或隔一定的時間片進行抽樣等等。這些數據要隨著時間的變化不斷地進行從新綜合。因此資料倉儲的資料特徵都包含時間項,以標示資料的歷史時期。
    4. 資料倉儲的資料是無法修改的。
      1. 資料倉儲的資料主要提供企業決策分析之用,所涉及的資料操作主要是資料查詢,一般情況下並未進行修改作業。資料倉儲的數據反映的是一段相當長的時間內歷史資料的內容,是不同時點的資料庫快照的集合, 以及基於這些快照進行統計、綜合和重組的匯出數據,而不是線上處理的資料。資料庫中進行聯機處理的書庫進過整合輸入到資料倉儲中,一旦資料倉儲所存放的資料已經超過資料倉儲的資料儲存期限,這些資料將從目前的資料倉儲中刪除。因為資料倉儲只進行資料查詢操作,所以資料倉儲當中的系統比資料庫中的系統要簡單的多。資料庫管理系統中許多技術困難,如完整性保護、並發控制等等,在資料倉儲的管理中幾乎可以省去。但是由於資料倉儲的查詢資料量往往很大,所以就對資料查詢提出了更高的要求,他要求採用各種複雜的索引技術;同時資料倉儲面向的是商業企業的高層管理階層,他們會對資料查詢的介面友善性和資料表示提出更高的要求;

#二、資料倉儲與資料庫的差異



    1. ########## ###想了解差異之前,我們需要了解三個概念,資料庫軟體、資料庫和資料倉儲是什麼? #########資料庫軟體:是一種軟體(並不是連結資料庫的圖形化客戶端)。用來實現資料庫邏輯過程,屬於物理層。 ######資料庫:是一種邏輯概念,用來存放資料的倉庫,透過資料庫軟體來實現。資料庫由很多表組成,表是二維的,一張表裡面有很多欄位。字段一字排開,對資料就一行一行的寫入表中。資料庫的表,在於能夠用二維表現多維的關係。如:oracle、DB2、MySQL、Sybase、MSSQL Server等。 ######資料倉儲:是資料庫概念的升級。從邏輯上理解,資料庫和資料倉儲沒有差別,都是透過資料庫軟體實現存放資料的地方,只不過從資料量來說,資料倉儲要比資料庫更龐大德多。資料倉儲主要用於資料探勘和資料分析,輔助領導做決策;######在IT的架構體系中,資料庫是必須存在的,必須要有地方存資料。例如現在的網購等電商。物品的存貨多少,貨品的價格,使用者的帳戶餘額之類的。這些資料都是存放在後台資料庫中。或者最簡單的理解,我們現在的微信、微博和QQ等帳號和密碼。在後台資料庫必須是一個user表,字段起碼有兩個嗎,即用戶名和密碼,然後我們的資料就一行一行的存在表上面。當我們登入的時候,我們填寫了使用者名稱和密碼,這些資料就會回傳到回台去,去跟表上面的資料匹配,匹配成功了,就能登入。配對不成功就會報錯,這就是資料庫,資料庫在生產環境就是用來工作的。凡是跟業務有關應用掛鉤的,我們都使用資料庫。 ######資料倉儲是BI下的其中一種技術。由於資料庫跟業務應用掛鉤的,所以一個資料庫不可能裝下一家公司的所有資料。資料庫的表設計往往是針對某一個應用程式進行設計的。例如剛剛的登入功能,這張user表上就只有這兩個字段,沒有別的字段了。到那時這張表符合應該,沒有問題,但這張表不符合分析。例如我想知道在哪個時段,用戶的量最多?哪個用戶一年購物最多?諸如此類的指標。那就要從新設計資料庫的表格結構了。對於資料分析和資料探勘,我們引入了資料倉科概念。資料倉儲的表結構是依照分析需求,分析維度,分析指標進行設計的。 ######資料庫與資料倉儲的差別實際講的是OLTP與OLAP的差別。 ###
      1. 操作型處理,叫線上事務處理OLTP(On-Line Transaction Processing),也可以稱為交易導向的處理系統,它是針對特定業務在資料庫線上的日常操作,通常對少數記錄進行查詢、修改。使用者較為關心操作的回應時間、資料的安全性、完整性和並發的支援使用者數等問題。傳統的資料庫系統作為資料管理的主要手段,主要用於操作型處理。
      2. 分析型處理,叫線上分析處理OLAP(On-Line Analytical Processing)一般針對某些主題歷史資料進行分析,支援管理決策。
##效能要求高,響應時間短效能要求寬鬆面向事務面向分析一次操作數據量小支援決策需求資料量小#資料量大客戶訂單、庫存水準與銀行帳戶查詢客戶收益分析、市場區隔
運算類型處理 分析型處理
#細節的 綜合或提煉的
#實體-關係(E-R)模型 星型模型或雪花模型
儲存瞬間數據 儲存歷史數據,不包含最近的數據
可更新的 只讀、只追加
一次運算一個單元 #一次運算一個集合
#三.尾巴

1、如有錯誤歡迎大家指出,我會及時更正,有什麼不懂也可以留言提問,互相交流嗎。

2、也許大家覺得這沒什麼,但我會認真對待,把它當成我的筆記、心得、這樣才能提升自己。

以上是資料倉儲和資料庫的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 Jul 18, 2024 am 05:48 AM

蘋果公司最新發布的iOS18、iPadOS18以及macOSSequoia系統為Photos應用程式增添了一項重要功能,旨在幫助用戶輕鬆恢復因各種原因遺失或損壞的照片和影片。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或影片時,該相冊將自動顯示。 "已恢復"相簿的出現為因資料庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。使用者只需簡單幾步

Hibernate 如何實作多型映射? Hibernate 如何實作多型映射? Apr 17, 2024 pm 12:09 PM

Hibernate多態映射可映射繼承類別到資料庫,提供以下映射類型:joined-subclass:為子類別建立單獨表,包含父類別所有欄位。 table-per-class:為子類別建立單獨資料表,僅包含子類別特有列。 union-subclass:類似joined-subclass,但父類別表聯合所有子類別列。

在PHP中使用MySQLi建立資料庫連線的詳盡教學 在PHP中使用MySQLi建立資料庫連線的詳盡教學 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立資料庫連線:包含MySQLi擴充(require_once)建立連線函數(functionconnect_to_db)呼叫連線函數($conn=connect_to_db())執行查詢($result=$conn->query())關閉連線( $conn->close())

如何在PHP中處理資料庫連線錯誤 如何在PHP中處理資料庫連線錯誤 Jun 05, 2024 pm 02:16 PM

PHP處理資料庫連線報錯,可以使用下列步驟:使用mysqli_connect_errno()取得錯誤代碼。使用mysqli_connect_error()取得錯誤訊息。透過擷取並記錄這些錯誤訊息,可以輕鬆識別並解決資料庫連接問題,確保應用程式的順暢運作。

深入解析HTML如何讀取資料庫 深入解析HTML如何讀取資料庫 Apr 09, 2024 pm 12:36 PM

HTML無法直接讀取資料庫,但可以透過JavaScript和AJAX實作。其步驟包括建立資料庫連線、發送查詢、處理回應和更新頁面。本文提供了利用JavaScript、AJAX和PHP來從MySQL資料庫讀取資料的實戰範例,展示如何在HTML頁面中動態顯示查詢結果。此範例使用XMLHttpRequest建立資料庫連接,發送查詢並處理回應,從而將資料填入頁面元素中,實現了HTML讀取資料庫的功能。

如何用 Golang 連接遠端資料庫? 如何用 Golang 連接遠端資料庫? Jun 01, 2024 pm 08:31 PM

透過Go標準庫database/sql包,可以連接到MySQL、PostgreSQL或SQLite等遠端資料庫:建立包含資料庫連接資訊的連接字串。使用sql.Open()函數開啟資料庫連線。執行SQL查詢和插入操作等資料庫操作。使用defer關閉資料庫連線以釋放資源。

如何在 Golang 中使用資料庫回呼函數? 如何在 Golang 中使用資料庫回呼函數? Jun 03, 2024 pm 02:20 PM

在Golang中使用資料庫回呼函數可以實現:在指定資料庫操作完成後執行自訂程式碼。透過單獨的函數新增自訂行為,無需編寫額外程式碼。回調函數可用於插入、更新、刪除和查詢操作。必須使用sql.Exec、sql.QueryRow或sql.Query函數才能使用回呼函數。

如何在 Golang 中將 JSON 資料保存到資料庫中? 如何在 Golang 中將 JSON 資料保存到資料庫中? Jun 06, 2024 am 11:24 AM

可以透過使用gjson函式庫或json.Unmarshal函數將JSON資料儲存到MySQL資料庫中。 gjson函式庫提供了方便的方法來解析JSON字段,而json.Unmarshal函數需要一個目標類型指標來解組JSON資料。這兩種方法都需要準備SQL語句和執行插入操作來將資料持久化到資料庫中。

See all articles