数据仓库--基本概念
0x00 前言
整理一些數據倉庫中的常用概念。大部分概念不是照搬書上的準確定義,會加入很多自己的理解。
0x01 概念
數據倉庫(Data Warehouse)
數據倉庫,英文名稱為Data Warehouse,可簡寫為DW或DWH。數據倉庫,是為企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。
個人理解,數據倉庫不單單是一個概念,其實算是對數據管理和使用的一種方法論,它包括了如何合理地收集數據、如何規范的管理數據、如何優雅地使用數據,以及任務調度、數據血統分析等一系列內容。 在大數據時代這些概念依舊沒有過時,相反,它更加重要。
利用數據倉庫的方式存放的資料,具有一旦存入,便不會隨時間發生變動的特性,此外,存入的資料必定包含時間屬性,通常一個數據倉庫中會含有大量的歷史性資料,并且它可利用特定的分析方式,從其中發掘出特定的資訊。
聯機分析處理(OLAP, Online Analytical Process)
OLAP(Online Analytical Process),聯機分析處理,以多維度的方式分析數據,而且能夠彈性地提供上卷(Roll-up)、下鉆(Drill-down)和透視分析(Pivot)等操作,它是呈現集成性決策信息的方法,多用于決策支持系統、商務智能或數據倉庫。其主要的功能在于方便大規模數據分析及統計計算,可對決策提供參考和支持。與之相區別的是聯機交易處理(OLTP),聯機交易處理,更側重于基本的、日常的事務處理,包括數據的增刪改查。
OLAP需要以大量歷史數據為基礎,再配合上時間點的差異,對多維度及匯整型的信息進行復雜的分析。
OLAP的概念,在實際應用中存在廣義和狹義兩種不同的理解方式。廣義上的理解與字面上的意思相同,泛指一切不會對數據進行更新的分析處理。但更多的情況下OLAP被理解為其狹義上的含義,即與多維分析相關,基于立方體(Cube)計算而進行的分析。
商務智能(BI, Business Intelligence)
BI(Business Intelligence),即商務智能,指用現代數據倉庫技術、在線分析技術、數據挖掘和數據展現技術進行數據分析以實現商業價值。
大致上來講,BI就是利用各種技術來輔助于商業決策,它需要以數據倉庫的數據為基礎,通過Olap系統來做分析,必要時還需要一些數據挖掘的方法來挖掘更深層次的價值。
元數據(Metadata)
管理元數據的系統。網上沒找到定義,個人對它的理解如下:
一個管理元數據信息的系統
能夠提供方便的元數據的操作和查詢操作
它會有下面這些功能:
?
數據分層
其實數據分層的意思就是對數據按照一定的層級來存儲,這樣做的好處很多,在下面列了幾個,詳細的請參考這篇博客:大數據環境下該如何優雅地設計數據分層
清晰數據結構:每一個數據分層都有它的作用域,這樣我們在使用表的時候能更方便地定位和理解。
數據血緣追蹤:簡單來講可以這樣理解,我們最終給業務誠信的是一能直接使用的張業務表,但是它的來源有很多,如果有一張來源表出問題了,我們希望能夠快速準確地定位到問題,并清楚它的危害范圍。
減少重復開發:規范數據分層,開發一些通用的中間層數據,能夠減少極大的重復計算。
把復雜問題簡單化。講一個復雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。而且便于維護數據的準確性,當數據出現問題之后,可以不用修復所有的數據,只需要從有問題的步驟開始修復。
屏蔽原始數據的異常。
屏蔽業務的影響,不必改一次業務就需要重新接入數據。
維度建模
維度建模是一種數據倉庫的建模方法,這樣講吧,它的作用就是幫你更好的組織和使用數據。 詳細的講解請看這篇博客:漫談數據倉庫之維度建模
維度模型是數據倉庫領域大師Ralph Kimall所倡導,他的《The DataWarehouse Toolkit-The Complete Guide to Dimensona Modeling,中文名《數據倉庫工具箱》,是數據倉庫工程領域最流行的數倉建模經典。維度建模以分析決策的需求出發構建模型,構建的數據模型為分析需求服務,因此它重點解決用戶如何更快速完成分析需求,同時還有較好的大規模復雜查詢的響應性能。
典型的代表是我們比較熟知的星形模型,以及在一些特殊場景下適用的雪花模型。
ETL (Extract-Transform-Load)
ETL 在數據開發的工作中主要是數據清洗,它包括數據的接入,初步的清洗,數據導入Hive或者Mysql中等一系列操作,目前比較火的大數據技術在很大程度上就是解決了大數據量下的數據清洗工作。
另外,很多寫sql的任務也可以理解是數據清洗,比如使用sql對原始數據做一部分的業務處理、過濾掉一些特殊記錄等,因此ETL的范圍相對來講比較廣,很多數據開發的工作都可以歸結到ETL中。
ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將數據從來源端經過抽取(extract)、轉換(transform)、加載(load)至目的端的過程。ETL一詞較常用在數據倉庫,但其對象并不限于數據倉庫。
ETL是構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。
轉載于:https://www.cnblogs.com/itboys/p/10582717.html
總結
以上是生活随笔為你收集整理的数据仓库--基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一次写购物车,甚是简陋。
- 下一篇: pyinstaller打包pyqt文件(