中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫中數倉是什么

發布時間:2021-12-08 09:28:38 來源:億速云 閱讀:316 作者:iii 欄目:大數據

這篇文章主要講解了“數據庫中數倉是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫中數倉是什么”吧!

數據庫中數倉是什么

1. 什么是數據倉庫

數據倉庫,英文名稱為Data Warehouse,可簡寫為DWDWH。數據倉庫,是為企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。它出于分析性報告和決策支持目的而創建。為需要業務智能的企業,提供指導業務流程改進、監視時間、成本、質量以及控制。

2. 數據倉庫能干什么?

  1. 年度銷售目標的指定,需要根據以往的歷史報表進行決策,不能拍腦袋。

  2. 如何優化業務流程

例如:一個電商網站訂單的完成包括:瀏覽、下單、支付、物流,其中物流環節可能和中通、申通、韻達等快遞公司合作。快遞公司每派送一個訂單,都會有訂單派送的確認時間,可以根據訂單派送時間來分析哪個快遞公司比較快捷高效,從而選擇與哪些快遞公司合作,剔除哪些快遞公司,增加用戶友好型。

  1. 簡而言之就是匯總八方數據,清洗后提供對外服務。

3. 數據倉庫的特點

1. 數據倉庫的數據是面向主題的

與傳統數據庫面向應用進行數據組織的特點相對應,數據倉庫中的數據是面向主題進行組織的。什么是主題呢?首先,主題是一個抽象的概念,是較高層次上企業信息系統中的數據綜合、歸類并進行分析利用的抽象。在邏輯意義上,它是對應企業中某一宏觀分析領域所涉及的分析對象。面向主題的數據組織方式,就是在較高層次上對分析對象的數據的一個完整、一致的描述,能完整、統一地刻劃各個分析對象所涉及的企業的各項數據,以及數據之間的聯系。所謂較高層次是相對面向應用的數據組織方式而言的,是指按照主題進行數據組織的方式具有更高的數據抽象級別。說白了就個寫作文一樣,寫什么你總的有個主題思想啊

2. 數據倉庫的數據是集成的

數據倉庫的數據是從原有的分散的數據庫數據抽取來的。操作型數據與分析型數據之間差別甚大。

  1. 數據倉庫的每一個主題所對應的源數據在原有的各分散數據庫中有許多重復不一致的地方,且來源于不同的聯機系統的數據都和不同的應用邏輯捆綁在一起;

  2. 數據倉庫中的綜合數據不能從原有的數據庫系統直接得到。因此在數據進入數據倉庫之前,必然要經過統一與綜合,這一步是數據倉庫建設中最關鍵最復雜的一步,所要完成的工作有:

    1、要統一解決源數據中所有矛盾之處,如字段的同名異義、異名同義、單位不統一、字長不一致等。
    2、進行數據綜合和計算。數據倉庫中的數據綜合工作可以在從原有數據庫抽取數據時生成,但許多是在數據倉庫內部生成的,即進入數據倉庫以后進行綜合生成的。
    3、大部分情況下一般數倉的建立是由大數據部門負責構建,而別的分析業務部門是無權直接用線上的table的。

3. 數據倉庫的數據是不可更新的

數據倉庫的數據主要供企業決策分析之用,所涉及的數據操作主要是數據查詢,一般情況下并不進行修改操作。數據倉庫的數據反映的是一段相當長的時間內歷史數據的內容,是不同時點的數據庫快照的集合,以及基于這些快照進行統計、綜合和重組的導出數據,而不是聯機處理的數據。數據庫中進行聯機處理的數據經過集成輸入到數據倉庫中,一旦數據倉庫存放的數據已經超過數據倉庫的數據存儲期限,這些數據將從當前的數據倉庫中刪去。因為數據倉庫只進行數據查詢操作,所以數據倉庫管理系統相比數據庫管理系統而言要簡單得多。

數據庫管理系統中許多技術難點,如完整性保護、并發控制等等,在數據倉庫的管理中幾乎可以省去。但是由于數據倉庫的查詢數據量往往很大,所以就對數據查詢提出了更高的要求,它要求采用各種復雜的索引技術;同時由于數據倉庫面向的是商業企業的高層管理者,他們會對數據查詢的界面友好性數據表示提出更高的要求。

4. 數據倉庫的數據是隨時間不斷變化的

數據倉庫中的數據不可更新是針對應用來說的,也就是說,數據倉庫的用戶進行分析處理時是不進行數據更新操作的。但并不是說,在從數據集成輸入數據倉庫開始到最終被刪除的整個數據生存周期中,所有的數據倉庫數據都是永遠不變的。

數據倉庫的數據是隨時間的變化而不斷變化的,這是數據倉庫數據的第四個特征。這一特征表現在以下3方面:

1、數據倉庫隨時間變化不斷增加新的數據內容。數據倉庫系統必須不斷捕捉OLTP數據庫中變化的數據,追加到數據倉庫中去,也就是要不斷地生成OLTP數據庫的快照,經統一集成后增加到數據倉庫中去;但對于確實不再變化的數據庫快照,如果捕捉到新的變化數據,則只生成一個新的數據庫快照增加進去,而不會對原有的數據庫快照進行修改。形象來說就是對數據進每日全量數據的收集。

2、數據倉庫隨時間變化不斷刪去舊的數據內容。數據倉庫的數據也有存儲期限,一旦超過了這一期限,過期數據就要被刪除。只是數據倉庫內的數據時限要遠遠長于操作型環境中的數據時限。在操作型環境中一般只保存有60到90天的數據,而在數據倉庫中則需要保存較長時限的數據(如5~10年),以適應DSS(Decision Support System)進行趨勢分析的要求。

3、數據倉庫中包含有大量的綜合數據,這些綜合數據中很多跟時間有關,如數據經常按照時間段進行綜合,或隔一定的時間片進行抽樣等等。這些數據要隨著時間的變化不斷地進行重新綜合。因此,數據倉庫的數據特征都包含時間項,以標明數據的歷史時期。

4. 數據倉庫發展歷程

數據倉庫的發展大致經歷了這樣的三個過程:

  1. 簡單報表階段:

這個階段,系統的主要目標是解決一些日常的工作中業務人員需要的報表,以及生成一些簡單的能夠幫助領導進行決策所需要的匯總數據。這個階段的大部分表現形式為數據庫和前端報表工具

  1. 數據集市階段:

這個階段,主要是根據某個業務部門的需要,進行一定的數據的采集,整理,按照業務人員的需要,進行多維報表的展現,能夠提供對特定業務指導的數據,并且能夠提供特定的領導決策數據。

  1. 數據倉庫階段:

這個階段,主要是按照一定的數據模型,對整個企業的數據進行采集,整理,并且能夠按照各個業務部門的需要,提供跨部門的,完全一致的業務報表數據,能夠通過數據倉庫生成對對業務具有指導性的數據,同時,為領導決策提供全面的數據支持。

通過數據倉庫建設的發展階段,我們能夠看出,數據倉庫的建設和數據集市的建設的重要區別就在于數據模型的支持。因此數據模型的建設對于我們數據倉庫的建設有著決定性的意義。

5. 數據庫 VS 數據倉庫

了解數據庫與數據倉庫的區別之前,首先掌握三個概念。數據庫軟件數據庫數據倉庫
數據庫軟件:是一種軟件,可以看得見,可以操作。用來實現數據庫邏輯功能。屬于物理層。Oracle、MySQLRedisMongoDB、Neo4j、JanusGraph等等。還有若干的可視化界面Navicat、dbeaver、Hue等。

數據庫:是一種邏輯概念,用來存放數據的倉庫。通過數據庫軟件來實現。數據庫由很多表組成,表是二維的,一張表里可以有很多字段。字段一字排開,對應的數據就一行一行寫入表中。數據庫的表,在于能夠用二維表現多維關系。目前市面上流行的數據庫都是二維數據庫。如:Oracle、DB2、MySQL等。

數據倉庫:是數據庫概念的升級。從邏輯上理解,數據庫和數據倉庫沒有區別,都是通過數據庫軟件實現的存放數據的地方,只不過從數據量來說,數據倉庫要比數據庫更龐大得多。數據倉庫主要用于數據挖掘和數據分析,輔助領導做決策

在IT的架構體系中,數據庫是必須存在的。必須要有地方存放數據。比如現在的網購,淘寶,京東等等。物品的存貨數量,貨品的價格,用戶的賬戶余額之類的。這些數據都是存放在后臺數據庫中。或者最簡單理解,我們現在微博,QQ等賬戶的用戶名和密碼。在后臺數據庫必然有一張user表,字段起碼有兩個,即用戶名和密碼,然后我們的數據就一行一行的存在表上面。當我們登錄的時候,我們填寫了用戶名和密碼,這些數據就會被傳回到后臺去,去跟表上面的數據匹配,匹配成功了,你就能登錄了。匹配不成功就會報錯說密碼錯誤或者沒有此用戶名等。這個就是數據庫,數據庫在生產環境就是用來干活的。凡是跟業務應用掛鉤的,我們都使用數據庫。

數據倉庫則是商業智能(Business Intelligence,簡稱:BI)下的其中一種技術。由于數據庫是跟業務應用掛鉤的,所以一個數據庫不可能裝下一家公司的所有數據。數據庫的表設計往往是針對某一個應用進行設計的。比如剛才那個登錄的功能,這張user表上就只有這兩個字段,沒有別的字段了。但是這張表符合應用,沒有問題。但是這張表不符合分析。比如我想知道在哪個時間段,用戶登錄的量最多?哪個用戶一年購物最多?諸如此類的指標。那就要重新設計數據庫的表結構了。對于數據分析和數據挖掘,我們引入數據倉庫概念。數據倉庫的表結構是依照分析需求分析維度分析指標進行設計的。

5. OLTP跟OLAP

數據庫與數據倉庫的區別實際講的是OLTPOLAP的區別。

操作型處理:叫聯機事務處理OLTP(On-Line Transaction Processing),也可以稱面向交易的處理系統,它是針對具體業務在數據庫聯機的日常操作,通常對少數記錄進行查詢、修改。用戶較為關心操作的響應時間、數據的安全性、完整性和并發支持的用戶數等問題。傳統的數據庫系統作為數據管理的主要手段,主要用于操作型處理。

分析型處理:叫聯機分析處理OLAP(On-Line Analytical Processing)一般針對某些主題的歷史數據進行分析,支持管理決策,ETL。

操作型處理(OLTP)分析型處理(OLAP)
細節的綜合的或提煉的
實體——關系(E-R)模型星型模型或雪花模型
存取瞬間數據存儲歷史數據,不包含最近的數據
可更新的只讀、只追加
一次操作一個單元一次操作一個集合
性能要求高,響應時間短性能要求寬松
面向事務面向分析
一次操作數據量小一次操作數據量大
支持日常操作支持決策需求
數據量小數據量大
客戶訂單、庫存水平和銀行賬戶查詢等客戶收益分析、市場細分等

6. 數據倉庫架構分層(重點)

1. 數據倉庫架構

數據倉庫標準上可以分為四層:ODS(臨時存儲層)、PDW(數據倉庫層)、DM(數據集市層)、APP(應用層)。
數據庫中數倉是什么
各個系統的元數據通過ETL同步到操作性數據倉庫ODS中,對ODS數據進行面向主題域建模形成DW(數據倉庫),DM是針對某一個業務領域建立模型,具體用戶(決策層)查看DM生成的報表。

  1. 臨時存儲數據運營層:ODS(Operational Data Store)
    ODS層是這樣一種數據存儲系統,它將來自不同數據源的數據(各種操作型數據庫、外部數據源等)通過ETL(Extract-Transform-Load)過程匯聚整合成面向主題的、集成的、企業全局的、一致的數據集合(主要是最新的或者最近的細節數據以及可能需要的匯總數據)。從數據粒度上來說ODS層的數據粒度是最細的。ODS層的表通常包括兩類,一個用于存儲當前需要加載的數據,一個用于存儲處理完后的歷史數據。歷史數據一般保存3-6個月后需要清除,以節省空間。但不同的項目要區別對待,如果源系統的數據量不大,可以保留更長的時間,甚至全量保存。

  2. 數據倉庫層:DW(Data Warehouse)
    為數據倉庫層,DW層的數據應該是一致的、準確的、干凈的數據,即對源系統數據進行了清洗(去除了雜質)后的數據。這一層的數據一般是遵循數據庫第三范式的,其數據粒度通常和ODS的粒度相同。在DW層會保存BI系統中所有的歷史數據,例如保存10年的數據。

DW : Data Warehouse 翻譯成數據倉庫,DW由下到上分為 DWDDWBDWS
DWD:Warehouse Detail 細節數據層,有的也稱為 ODS層,是業務層與數據倉庫的隔離層
DWB:Data Warehouse Base 基礎數據層,存儲的是客觀數據,一般用作中間層,可以認為是大量指標的數據層。
DWS:Data Warehouse Service 服務數據層,基于DWB上的基礎數據,整合匯總成分析某一個主題域的服務數據,一般是寬表。

  1. 數據集市層:DM(Data Mart)
    為數據集市層,這層數據是面向主題來組織數據的,通常是星形雪花結構的數據。從數據粒度來說,這層的數據是輕度匯總級的數據,已經不存在明細數據了。從數據的時間跨度來說,通常是DW層的一部分,主要的目的是為了滿足用戶分析的需求,而從分析的角度來說,用戶通常只需要分析近幾年(如近三年的數據)的即可。從數據的廣度來說,仍然覆蓋了所有業務數據。

  2. 應用層:Application層
    這層數據是完全為了滿足具體的分析需求而構建的數據,也是星形雪花結構的數據。從數據粒度來說是高度匯總的數據。從數據的廣度來說,則并不一定會覆蓋所有業務數據,而是DM層數據的一個真子集,從某種意義上來說是DM層數據的一個重復。從極端情況來說,可以為每一張報表在APP層構建一個模型來支持,達到以空間換時間的目的數據倉庫的標準分層只是一個建議性質的標準,實際實施時需要根據實際情況確定數據倉庫的分層,不同類型的數據也可能采取不同的分層方法。

2. 為什么要對數據倉庫分層?
  1. 用空間換時間,通過大量的預處理來提升應用系統的用戶體驗(效率),因此數據倉庫會存在大量冗余的數據。

  2. 解耦,如果不分層的話,如果源業務系統的業務規則發生變化將會影響整個數據清洗過程,工作量巨大。

  3. 簡化,通過數據分層管理可以簡化數據清洗的過程,因為把原來一步的工作分到了多個步驟去完成,相當于把一個復雜的工作拆成了多個簡單的工作,把一個大的黑盒變成了一個白盒,每一層的處理邏輯都相對簡單和容易理解,這樣我們比較容易保證每一個步驟的正確性,當數據發生錯誤的時候,往往我們只需要局部調整某個步驟即可。

7. 元數據介紹

當需要了解某地企業及其提供的服務時,電話黃頁的重要性就體現出來了。元數據(Metadata)類似于這樣的電話黃頁。

1. 元數據的定義

數據倉庫的元數據是關于數據倉庫中數據的數據。它的作用類似于數據庫管理系統的數據字典,可以簡答理解為一本書的目錄,保存了邏輯數據結構、文件、地址和索引等信息。廣義上講,在數據倉庫中,元數據描述了數據倉庫內數據的結構和建立方法的數據

元數據是數據倉庫管理系統的重要組成部分,元數據管理器是企業級數據倉庫中的關鍵組件,貫穿數據倉庫構建的整個過程,直接影響著數據倉庫的構建、使用和維護

  1. 構建數據倉庫的主要步驟之一是ETL。這時元數據將發揮重要的作用,它定義了源數據系統到數據倉庫的映射、數據轉換的規則、數據倉庫的邏輯結構、數據更新的規則、數據導入歷史記錄以及裝載周期等相關內容。數據抽取和轉換的專家以及數據倉庫管理員正是通過元數據高效地構建數據倉庫。

  2. 用戶在使用數據倉庫時,通過元數據訪問數據,明確數據項的含義以及定制報表。

  3. 數據倉庫的規模及其復雜性離不開正確的元數據管理,包括增加或移除外部數據源,改變數據清洗方法,控制出錯的查詢以及安排備份等。

元數據可分為技術元數據業務元數據

  • 技術元數據為開發和管理數據倉庫的IT人員使用,它描述了與數據倉庫開發、管理和維護相關的數據,包括數據源信息、數據轉換描述、數據倉庫模型、數據清洗與更新規則、數據映射和訪問權限等。

  • 業務元數據為管理層和業務分析人員服務,從業務角度描述數據,包括商務術語、數據倉庫中有什么數據、數據的位置和數據的可用性等,幫助業務人員更好地理解數據倉庫中哪些數據是可用的以及如何使用。

由上可見,元數據不僅定義了數據倉庫中數據的模式、來源、抽取和轉換規則等,而且是整個數據倉庫系統運行的基礎,元數據把數據倉庫系統中各個松散的組件聯系起來,組成了一個有機的整體,如圖所示數據庫中數倉是什么

2. 元數據的存儲方式

元數據有兩種常見存儲方式:

  • 一種是以數據集為基礎,每一個數據集有對應的元數據文件,每一個元數據文件包含對應數據集的元數據內容。第一種存儲方式的優點是調用數據時相應的元數據也作為一個獨立的文件被傳輸,相對數據庫有較強的獨立性,在對元數據進行檢索時可以利用數據庫的功能實現,也可以把元數據文件調到其他數據庫系統中操作;不足是如果每一數據集都對應一個元數據文檔,在規模巨大的數據庫中則會有大量的元數據文件,管理不方便。

  • 一種存儲方式是以數據庫為基礎,即元數據庫。其中元數據文件由若干項組成,每一項表示元數據的一個要素,每條記錄為數據集的元數據內容。此種存儲方式下,元數據庫中只有一個元數據文件,管理比較方便,添加或刪除數據集,只要在該文件中添加或刪除相應的記錄項即可。在獲取某數據集的元數據時,因為實際得到的只是關系表格數據的一條記錄,所以要求用戶系統可以接受這種特定形式的數據。因此推薦使用元數據庫的方式

    元數據庫用于存儲元數據,因此元數據庫最好選用主流的關系數據庫管理系統。元數據庫還包含用于操作和查詢元數據的機制。建立元數據庫的主要好處是提供統一的數據結構和業務規則,易于把企業內部的多個數據集市有機地集成起來。目前,一些企業傾向建立多個數據集市,而不是一個集中的數據倉庫,這時可以考慮在建立數據倉庫(或數據集市)之前,先建立一個用于描述數據、服務應用集成的元數據庫,做好數據倉庫實施的初期支持工作,對后續開發和維護有很大的幫助。元數據庫保證了數據倉庫數據的一致性和準確性,為企業進行數據質量管理提供基礎。

3. 元數據的作用

在數據倉庫中,元數據的主要作用如下。

  1. 描述哪些數據在數據倉庫中,幫助決策分析者對數據倉庫的內容定位。

  2. 定義數據進入數據倉庫的方式,作為數據匯總、映射和清洗的指南。

  3. 記錄業務事件發生而隨之進行的數據抽取工作時間安排。

  4. 記錄并檢測系統數據一致性的要求和執行情況。

  5. 評估數據質量。

  6. 相當于寫了一部數據用戶指南手冊

8. 星型模型和雪花模型

在多維分析的商業智能解決方案中,根據事實表維度表的關系,又可將常見的模型分為星型模型雪花型模型。在設計邏輯型數據的模型的時候,就應考慮數據是按照星型模型還是雪花型模型進行組織。

1. 星型模型

當所有維表都直接連接到事實表上時,整個圖解就像星星一樣,故將該模型稱為星型模型。
數據庫中數倉是什么
星型架構是一種非正規化的結構,多維數據集的每一個維度都直接與事實表相連接,不存在漸變維度,所以數據有一定的冗余,如在地域維度表中,存在國家A 省B的城市C以及國家A省B的城市D兩條記錄,那么國家A和省B的信息分別存儲了兩次,即存在冗余。

2. 雪花模型

當有一個或多個維表沒有直接連接到事實表上,而是通過其他維表連接到事實表上時,其圖解就像多個雪花連接在一起,故稱雪花模型。雪花模型是對星型模型的擴展。它對星型模型的維表進一步層次化,原有的各維表可能被擴展為小的事實表,形成一些局部的層次 區域,這些被分解的表都連接到主維度表而不是事實表。如圖所示,將地域維表又分解為國家,省份,城市等維表。它的優點是:通過最大限度地減少數據存儲量以及聯合較小的維表來改善查詢性能。雪花型結構去除了數據冗余。數據庫中數倉是什么
星型模型因為數據的冗余所以很多統計查詢不需要做外部的連接,因此一般情況下效率比雪花型模型要高。星型結構不用考慮很多正規化的因素,設計與實現都比較簡單。雪花型模型由于去除了冗余,有些統計就需要通過表的聯接才能產生,所以效率不一定有星型模型高。正規化也是一種比較復雜的過程,相應的數據庫結構設計、數據的 ETL、以及后期的維護都要復雜一些。因此在冗余可以接受的前提下,實際運用中星型模型使用更多,也更有效率

3. 星型模型和雪花模型對比

星形模型和雪花模型是數據倉庫中常用到的兩種方式,而它們之間的對比要從四個角度來進行討論。

  1. 數據優化
    雪花模型使用的是規范化數據,也就是說數據在數據庫內部是組織好的,以便消除冗余,因此它能夠有效地減少數據量。通過引用完整性,其業務層級和維度都將存儲在數據模型之中。
    相比較而言,星形模型使用的是反規范化數據。在星形模型中,維度直接指的是事實表,業務層級不會通過維度之間的參照完整性來部署。

  2. 業務模型
    在雪花模型中,數據模型的業務層級是由一個不同維度表主鍵-外鍵的關系來代表的。而在星形模型中,所有必要的維度表在事實表中都只擁有外鍵。

  3. 性能
    第三個區別在于性能的不同。雪花模型在維度表、事實表之間的連接很多,因此性能方面會比較低。舉個例子,如果你想要知道一個用戶的詳細信息,雪花模型就會進行若干表的join最終匯總結果。
    而星形模型的連接就少的多,在這個模型中,如果你需要對應信息,你只要將維度表和事實表連接即可。

  4. ETL
    雪花模型加載數據集市,因此ETL操作在設計上更加復雜,而且由于附屬模型的限制,不能并行化。
    星形模型加載維度表,不需要再維度之間添加附屬模型,因此ETL就相對簡單,而且可以實現高度的并行化。

感謝各位的閱讀,以上就是“數據庫中數倉是什么”的內容了,經過本文的學習后,相信大家對數據庫中數倉是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜都市| 西平县| 信宜市| 密山市| 淮阳县| 嘉祥县| 城步| 凤凰县| 鄂托克前旗| 诸城市| 洪泽县| 陕西省| 赣州市| 剑川县| 林西县| 河池市| 托里县| 运城市| 遂川县| 慈利县| 康定县| 敦煌市| 庄浪县| 玛多县| 尉犁县| 正宁县| 资中县| 泌阳县| 金华市| 凉城县| 库尔勒市| 柳林县| 呼和浩特市| 平顺县| 景宁| 肇州县| 博野县| 上林县| 铜山县| 什邡市| 乌鲁木齐县|