數據庫與數據倉庫
數據庫和數據倉庫之間區別的基礎是數據倉庫是一種用於數據分析的數據庫。數據庫是存儲在計算機系統上的有組織的數據集合。以表格方式存儲的學校學生、教師和班級的信息就是數據庫的一個例子。由於數據庫支持大量數據、併發處理和高效操作,因此得到了廣泛的應用。但是,由於數據庫經常需要更新,所以不可能有一個正確的視圖來進行分析。因此,必須遵循數據倉庫技術來實現這一點。數據倉庫是一種特殊類型的數據庫,但它是為查詢和分析而優化的。由於數據倉庫從各種來源和報表中提取數據,因此可以通過分析來做出決策。讓我們在這裡更詳細地看看它們以及它們之間的區別。
什麼是數據庫(a database)?
數據庫是存儲在計算機系統中的相關數據的集合。通常,數據庫是有組織的,它的數據是相關的。例如,一個學校數據庫將有多個表作為教師、學生和班級,其中每個表都有指定每個項目信息的記錄。在這裡,我們可以看到這個結構是根據一定的標準組織起來的,因為它們都屬於同一個學校,所以它們之間有關係。數據庫在計算機世界中有許多用途。因此,它是如此著名,在各種應用中被發現非常豐富。數據庫的基本優點是,數據庫可以在非常小的空間中存儲大量的數據,同時對數據進行非常快速和簡單的操作。
數據庫通常包括一個稱為數據庫管理系統(DBMS)的軟件系統,它負責存儲和管理數據庫中的數據。MySQL、Oracle、microsoftsqlserver是一些著名的數據庫管理系統。在計算機上創建數據庫時,第一步是根據我們對系統的描述,創建一個邏輯結構,說明如何存儲、組織和操作數據。這稱為數據庫建模。建模技術有關係模型、網絡模型、面向對象模型、層次模型等,其中最著名的是關係模型。即使是最常用的數據庫管理系統之一MySQL也使用關係模型來存儲其數據庫。
數據庫支持四個函數,這些函數由首字母縮略詞CRUD給出,CRUD指的是create、read、update和delete。在SQL中,create允許向表中**數據。Read允許您查詢要檢索的內容,而update允許您在必要時修改數據。刪除用於在必須刪除數據時刪除數據。
什麼是數據倉庫(a data warehouse)?
數據倉庫是用於分析數據的一種特殊類型的數據庫。通用數據庫通常用於事務處理,因此,它沒有針對分析和報告進行優化。但是數據倉庫是專門為分析任務而設計和優化的。數據倉庫通常從事務處理系統的歷史中獲取數據,而其他各種數據源也可以提供數據。從各種來源提取數據後,它們將以通用視圖進行報告。一個事務處理系統每秒涉及大量的操作,因此數據經常會更新,這使得人們很難在某個特定的點查看和分析它,從而做出決策。數據倉庫準確地實現了這一點,它提取信息並以一種整潔的方式報告它,這樣人們就可以分析它來做出決定。
數據庫(database)和數據倉庫(data warehouse)的區別
數據庫是有組織的數據集合。數據倉庫是一種特殊類型的數據庫,它針對查詢和報告而不是事務處理進行了優化。所以下面對一個通用數據庫和一個數據倉庫進行了比較。
•數據庫存儲當前數據,而數據倉庫存儲歷史數據。
•數據庫經常因頻繁更新而發生變化,因此無法用於分析或做出決策。數據倉庫提取數據並報告它們以進行分析並做出決策。
•通用數據庫用於在線事務處理,而數據倉庫用於在線分析處理。
•數據庫中的表被規範化以實現高效存儲,而數據倉庫通常會降低效率以實現更快的查詢。
•數據倉庫上的分析查詢比數據庫上的查詢快得多。
•數據庫包含高度詳細的數據,而數據倉庫包含彙總數據。
•數據庫提供詳細的關係視圖,而數據倉庫提供彙總的多維視圖。
•數據庫可以執行大量併發事務,而數據倉庫不是為此類任務而設計的。
小結:
數據倉庫與數據庫
數據庫是存儲在計算機系統上的有組織的數據集合。它存儲了大量的數據,並且由於各種更新而經常發生變化。因此,它不能用於分析以做出決定。因此使用了數據倉庫。數據倉庫從各種數據源(包括通用數據庫)中提取數據,然後以方便的方式報告這些數據,以便輕鬆地進行分析。一個重要的區別是數據庫包含當前數據,而數據倉庫包含歷史數據。數據庫用於事務處理,而數據倉庫用於分析處理。
- Collage of five types of database models by Marcel Douwe Dekker (CC BY-SA 3.0)
- Data warehouse via Wikicomm*** (Public Domain)