數據庫數據倉庫的差別(數據庫跟數據倉庫的區別)

      網友投稿 1098 2022-05-30

      數據庫:database 簡稱DB

      數據庫主要有兩種workload模型:OLTP和OLAP,

      數據倉庫:data warehouse ?簡稱DB,主要用于OLAP,和數據庫不同的是,數據倉庫要處理的數據類型更多,包含數據庫的接口化類型數據和非結構化的數據類型,甚至是對象類型數據。

      數據庫和數據倉庫的差別(數據庫跟數據倉庫的區別)

      企業的數據處理大致分為兩類。一類是操作型處理,也叫聯機事務處理OLTP(OnLine Transaction Processing,OLTP),它是針對具體業務在數據庫聯機的日常操作,通常對少數記錄進行查詢、修改。用戶較為關心操作的響應時間、數據的安全性、完整性和并發支持的用戶數等問題。傳統的數據庫系統作為數據管理的主要手段,主要用于操作型處理。另一類是分析型處理OLAP,一般針對某些主題的歷史數據進行分析,支持管理決策。

      數據倉庫的概念

      從本質上講,設計數據倉庫的初衷是為操作型系統過渡到決策支持系統提供一種工具或整個企業范圍內的數據集成環境,并嘗試解決數據流相關的各種問題。這些問題包括如何從傳統的操作型處理系統中提取與決策主題相關的數據,如何經過轉換把分散的、不一致的業務數據轉換成集成的、低噪聲的數據等。

      Bill Inmon 認為數據倉庫就是面向主題的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和時變的(Time-Variant )數據集合,用以支持管理決策 。數據倉庫不是可以買到的產品,而是一種面向分析的數據存儲方案。對于數據倉庫的概念可以從兩個層次理解:首先,數據倉庫用于支持決策,面向分析型數據處理,不同于提高業務效率的操作型數據庫;其次,數據倉庫對分布在企業中的多個異構數據源集成,按照決策主題選擇數據并以新的數據模型存儲。此外,存儲在數據倉庫中的數據一般不能修改。

      數據倉庫主要有以下特征。

      1.面向主題

      在操作型數據庫中,各個業務系統可能是相互分離的。而數據倉庫是面向主題的。邏輯意義上,每一個商業主題對應于企業決策包含的分析對象。從圖3.1 中可以看出,一個保險公司的數據倉庫的主題可能有顧客、政策、保險金和索賠等。

      操作型處理對數據的劃分并不適用于決策分析。而基于主題組織的數據則不同,它們被劃分為各自獨立的領域,每個領域有各自的邏輯內涵但互不交叉,在抽象層次上對數據進行完整、一致和準確的描述。一些主題相關的數據通常分布在多個操作型系統中。

      2.集成性

      不同操作型系統之間的數據一般是相互獨立、異構的。而數據倉庫中的數據是對分散的數據進行抽取、清理、轉換和匯總后得到的,這樣保證了數據倉庫內的數據關于整個企業的一致性。圖3.2 說明一個保險公司綜合數據的簡單處理過程,其中數據倉庫中與“保險”主題有關的數據來自于多個不同的操作型系統。這些系統內部數據的命名可能不同,數據格式也可能不同。把不同來源的數據存儲到數據倉庫之前,需要去除這些不一致。

      3.數據的非易失性

      操作型數據庫主要服務于日常的業務操作,使得數據庫需要不斷地對數據實時更新,以便迅速獲得當前最新數據,不至于影響正常的業務運作。在數據倉庫中只要保存過去的業務數據,不需要每一筆業務都實時更新數據倉庫,而是根據商業需要每隔一段時間把一批較新的數據導入數據倉庫。事實上,在一個典型的數據倉庫中,通常不同類型數據的更新發生的頻率是不同的。例如產品屬性的變化通常每個星期更新一次,地理位置上的變化通常一個月更新一次,銷售數據每天更新一次。

      數據非易失性主要是針對應用而言。數據倉庫的用戶對數據的操作大多是數據查詢或比較復雜的挖掘,一旦數據進入數據倉庫以后,一般情況下被較長時間保留。數據倉庫中一般有大量的查詢操作,但修改和刪除操作很少。因此,數據經加工和集成進入數據倉庫后是極少更新的,通常只需要定期的加載和更新。

      4.數據的時變性

      數據倉庫包含各種粒度的歷史數據。數據倉庫中的數據可能與某個特定日期、星期、月份、季度或者年份有關。數據倉庫的目的是通過分析企業過去一段時間業務的經營狀況,挖掘其中隱藏的模式。雖然數據倉庫的用戶不能修改數據,但并不是說數據倉庫的數據是永遠不變的。分析的結果只能反映過去的情況,當業務變化后,挖掘出的模式會失去時效性。因此數據倉庫的數據需要更新,以適應決策的需要。從這個角度講,數據倉庫建設是一個項目,更是一個過程 。數據倉庫的數據隨時間的變化表現在以下幾個方面。

      (1)數據倉庫的數據時限一般要遠遠長于操作型數據的數據時限。

      (2)操作型系統存儲的是當前數據,而數據倉庫中的數據是歷史數據。

      (3)數據倉庫中的數據是按照時間順序追加的,它們都帶有時間屬性。

      數據倉庫主要包括數據的提取、轉換與裝載(ETL )、元數據、數據集市和操作數據存儲等部分,常用的數據倉庫結構如圖3.3 所示。

      3.3 數據集市

      人們在早期開發企業級數據倉庫時,一般是先建立一個全局的數據倉庫,然后在此基礎上建立各種應用,即“自頂向下”的方法。但在開發的過程中會出現以下問題。

      (1)如果按“自頂向下”的方法建立企業級數據倉庫,建設規模往往較大,建設周期長,投資大。

      (2)在數據倉庫建好后,隨著使用數據倉庫的部門增多,對數據倉庫資源的競爭將成為企業面臨的一個難題。

      (3)各個部門希望能定制數據倉庫中的數據,但數據倉庫是面向企業的。為解決上述問題,人們提出了數據集市的概念,如圖3.4 所示。數據集市支持某一業務單元或部門特定的商業需求,其中的數據可以來自數據倉庫。數據集市可以在數據倉庫的基礎上進行設計(見圖3.4(a), 也可像數據倉庫一樣直接設計(見圖3.4(b))。數據集市中的數據具有數據倉庫中數據的特點,只不過數據集市專為某一部門或某個特定商業需求定制,而不是根據數據容量命名。

      數據集市面向部門、業務單元或特定應用,因而規模較小,便于快速實現,且成本較低,短期內即可獲得明顯效果。數據集市的應用不僅滿足了部門的數據處理需求,而且作為數據倉庫的子集有助于構建完整的企業級數據倉庫。

      3.4 元數據

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

      1.元數據的定義

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

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

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

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

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

      元數據可分為技術元數據和業務元數據。技術元數據為開發和管理數據倉庫的IT 人員使用,它描述了與數據倉庫開發、管理和維護相關的數據,包括數據源信息、數據轉換描述、數據倉庫模型、數據清洗與更新規則、數據映射和訪問權限等。而業務元數據為管理層和業務分析人員服務,從業務角度描述數據,包括商務術語、數據倉庫中有什么數據、數據的位置和數據的可用性等,幫助業務人員更好地理解數據倉庫中哪些數據是可用的以及如何使用。

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

      2.元數據的存儲方式

      元數據有兩種常見存儲方式:一種是以數據集為基礎,每一個數據集有對應的元數據文件,每一個元數據文件包含對應數據集的元數據內容;另一種存儲方式是以數據庫為基礎,即元數據庫。其中元數據文件由若干項組成,每一項表示元數據的一個要素,每條記錄為數據集的元數據內容。上述存儲方式各有優缺點,第一種存儲方式的優點是調用數據時相應的元數據也作為一個獨立的文件被傳輸,相對數據庫有較強的獨立性,在對元數據進行檢索時可以利用數據庫的功能實現,也可以把元數據文件調到其他數據庫系統中操作;不足是如果每一數據集都對應一個元數據文檔,在規模巨大的數據庫中則會有大量的元數據文件,管理不方便。第二種存儲方式下,元數據庫中只有一個元數據文件,管理比較方便,添加或刪除數據集,只要在該文件中添加或刪除相應的記錄項即可。在獲取某數據集的元數據時,因為實際得到的只是關系表格數據的一條記錄,所以要求用戶系統可以接受這種特定形式的數據。因此推薦使用元數據庫的方式。

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

      3.元數據的作用

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

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

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

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

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

      (5)評估數據質量。

      4.粒度

      粒度反映了數據倉庫按照不同的層次組織數據,根據不同的查詢需要,存儲不同細節的數據。在數據倉庫中,粒度越小,數據越細,查詢范圍就越廣泛。相反,粒度級別越高,表示細節程度越低,查詢范圍越小。例如,當信用卡發行商查詢數據倉庫時,首先了解某個地區信用卡的總體使用情況,然后檢查不同類別用戶的信用卡消費記錄,這就涉及不同細節的數據。數據倉庫中包含的數據冗余程度較高,批量載入和查詢會影響到數據管理和查詢效率,因此數據倉庫采用數據分區存儲技術以改善數據倉庫的可維護性,提升查詢速度和加載性能,解決從數據倉庫中刪除舊數據時造成的數據修剪等問題,把數據劃分成多個小的單元。

      根據粒度的不同,可以把數據劃分為早期細節級、當前細節級、輕度綜合級和高度綜合級等[6] 。ETL 后的源數據首先進入當前細節級,并根據需要進一步進入輕度綜合級乃至高度綜合級。一旦數據過期,當前數據粒度的具體劃分會直接影響到數據倉庫中的數據量以及查詢質量。圖3.6 顯示了典型數據倉庫的粒度結構。

      數據倉庫數據的多粒度化為用戶使用數據提供了一定的靈活性,例如家用電器銷售數據可以同時滿足市場、財務和銷售等部門的需要,財務部若要了解某地區的銷售收入,只需改變相關數據的粒度即可。

      3.5 ETL

      數據倉庫并不只是數據的簡單累積,而是經過一系列的抽取、轉換和裝載的過程,簡稱ETL。ETL 是構建數據倉庫的重要環節,對數據倉庫的后續環節影響比較大。目前市場上主流的ETL 工具有Informatica 公司的Power Center 、IBM 公司的Data Stage 、Oracle 公司的Warehouse Builder 以及Microsoft 公司的SQL Server IS 等。下面簡要介紹ETL 的主要功能。

      1.數據抽取

      數據倉庫是面向主題的,并非源數據庫的所有數據都是有用的,所以在把源數據庫中

      的相關數據導入數據倉庫之前,需要先確定該數據庫中哪些數據是與決策相關的,數據抽

      取的過程大致如下。

      (1)確認數據源的數據及其含義。

      (2)抽取。確定訪問源數據庫中的哪些文件或表,需要提取其中哪些字段。

      (3)抽取頻率。需要定期更新數據倉庫的數據,因此對于不同的數據源,需要確定數據抽取的頻率,例如每天、每星期、每月或每季度等。

      (4)輸出。數據輸出的目的地和輸出的格式。

      (5)異常處理。當需要的數據無法抽取時如何處理。

      2.數據轉換

      數據倉庫的數據來自多種數據源。不同的數據源可能由不同的平臺開發,使用不同的

      數據庫管理系統,數據格式也可能不同。源數據在被裝載到數據倉庫之前,需要進行一定

      的數據轉換。數據轉換的主要任務是對數據粒度以及不一致的數據進行轉換。

      (1)不一致數據轉換。數據不一致包括同一數據源內部的不一致和多個數據源之間的數據不一致等類別,例如在一個應用系統中,BJ 表示北京,SH 表示上海,GZ 表示廣州。而在另一個應用系統中,對應的代碼分別為1、2 和3。此外,不同業務系統的數量單位、編碼或值域需要統一,例如某供應商在結算系統的編碼是990001,而在CRM 中編碼是YY0001 ,這時就需要抽取后統一轉換編碼。

      (2)數據粒度的轉換。業務系統一般存儲細粒度的事務型數據,而數據倉庫中的數據是用于查詢、分析的,因此需要多種不同粒度的數據。這些不同粒度的數據可以通過對細粒度的事務型數據聚集(合)(aggregation )產生。

      3.數據清洗

      數據源中數據的質量是非常重要的,低劣的“臟”數據容易導致低質量的決策甚至是錯誤的決策。此外,這些“臟”數據或不可用數據也可能造成報表的不一致等問題。因此有必要全面校驗數據源的數據質量,盡量減少差錯,此過程是數據清洗(Data Cleaning ),也叫數據的標準化。目前一些商務智能企業提供數據質量防火墻,例如Business Objects(SAP)的Firstlogic,它能夠解決數據的噪聲。清洗后的數據經過業務主管確認并修正后再進行抽取。數據清洗能處理數據源中的各種噪音數據,主要的數據質量問題有以下幾種。

      (1)缺失(Missing )數據。即數據值的缺失,這在顧客相關的數據中經常出現,例如顧客輸入個人信息時遺漏了所在區域。

      (2)錯誤數據。常見的錯誤數據包括字段的虛假值、異常取值等。例如在教學選課系統中,選修某門課程的人數不能夠超過該課程所在教室的座位數。這些錯誤數據產生的主要原因是由于業務系統在數據輸入后不能進行正確性判斷而被錄入數據庫。錯誤數據需要被及時找出并限期修正。

      (3)數據重復。數據重復是反復錄入同樣的數據記錄導致的,這類數據會增加數據分析的開銷。

      (4)數據沖突。源數據中一些相關字段的值必須是兼容的,數據沖突包括同一數據源內部的數據沖突和多個數據源之間的數據沖突。例如一個顧客記錄中省份字段使用SH(上海),而此顧客的郵政編碼字段使用100000(北京地區的郵政編碼)。沖突的數據也需要及時修正。

      4.數據裝載

      數據轉換、清洗結束后需要把數據裝載到數據倉庫中,數據裝載通常分為以下幾種方式。

      (1)初始裝載。一次對整個數據倉庫進行裝載。

      (2)增量裝載。在數據倉庫中,增量裝載可以保證數據倉庫與源數據變化的同期性。

      數據庫 數據倉庫服務 GaussDB(DWS)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:用SpringBoot手把手教你寫出優雅的后端接口(springboot后端接口怎么寫)
      下一篇:Excel超級鏈接使用全攻略有哪些(excel超鏈接的操作方法)
      相關文章
      亚洲成A人片777777| 亚洲AV成人片无码网站| 亚洲国产精品无码久久久久久曰| 中中文字幕亚洲无线码| 亚洲视屏在线观看| 911精品国产亚洲日本美国韩国 | 在线a亚洲v天堂网2019无码| 亚洲人成无码www久久久| 亚洲精品成人区在线观看| 亚洲av无码乱码在线观看野外 | 亚洲情a成黄在线观看动漫尤物| 国产亚洲人成网站观看| 亚洲不卡av不卡一区二区| 亚洲国产成人一区二区三区| 亚洲av永久无码制服河南实里| 亚洲另类激情综合偷自拍图| 亚洲av午夜福利精品一区| 久久亚洲国产精品五月天| 亚洲人成网www| 亚洲理论片在线观看| 亚洲人成影院77777| www.亚洲日本| 亚洲老熟女五十路老熟女bbw| 亚洲精品理论电影在线观看| 国产精品亚洲精品久久精品| 亚洲AⅤ无码一区二区三区在线 | 久久精品国产亚洲AV无码娇色| 亚洲高清无在码在线无弹窗| 亚洲婷婷综合色高清在线| 亚洲一卡二卡三卡| 亚洲成a人片在线观看天堂无码 | 亚洲精品美女在线观看| 亚洲av乱码一区二区三区| 亚洲中文无码mv| mm1313亚洲精品无码又大又粗 | 国产成人精品日本亚洲11| 亚洲老熟女五十路老熟女bbw| 日本中文一区二区三区亚洲| 亚洲一区二区三区影院| 亚洲国产老鸭窝一区二区三区| 亚洲日本国产精华液|